5.3.2. 设置方法

1. 磁盘标识

请参考Hadoop官方,将存储盘标记为普通盘或者SSD:

http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html

这里做下对比说明:

修改SSD磁盘属性(具体操作步骤详见LSQL安装部署手册):

在含有SSD磁盘的节点将“hdfs-site.xml”中“dfs.datanode.data.dir”中的SSD磁盘对应的文件路径前面加[SSD],如下所示:

<name>dfs.datanode.data.dir</name>
<value>
file:///hdfsdata/1/hdfsdata/data,file:///hdfsdata/2/hdfsdata/data,file:///hdfsdata/3/hdfsdata/data,[SSD]file:///hdfsdata/4/hdfsdata/data, [SSD]file:///hdfsdata/5/hdfsdata/data,[SSD]file:///hdfsdata/6/hdfsdata/data
</value>

也可以不同机器分别设置,如下所示:

如果是普通盘这样设置

<property> 
 <name>dfs.datanode.data.dir</name> 
 <value>/data1/dfs,/data2/dfs </value> 
</property>

如果是SSD的盘这里要加[SSD]标识

<property> 
 <name>dfs.datanode.data.dir</name> 
 <value>[SSD]/ssd1/dfs,[SSD]/ssd2/dfs </value> 
</property>

注:如果该数据节点磁盘全是SSD盘,则每个路径前全加[SSD],如果该节点是SSD盘和SATA混合使用,则只在SSD磁盘对应的文件路径前加[SSD]。

2. 列簇配置

协同存储通常会跟列簇组合使用,在列簇存储里,通过下述方法配置(列簇详细使用方法参考4.1列簇存储章节):

create columnfamily common_performance (
default at 'cleanday@90,yyyyMMdd' 'index@false' 'store@false' 'ssdindex@tim,doc' 'ssdindex2@fdt,fdx'
);

ssdindex,ssdindex2为不同的协同存储。

3. 指定策略

具体操作步骤详见LSQL安装部署手册。

(1) 创建SSD路径:

hadoop fs -mkdir -p /data/lsqlointer/ssdindex
hadoop fs -mkdir -p /data/lsqlointer/ssdindex2
hadoop fs -mkdir -p /data/lsqlointer/ssdindex3
hadoop fs -mkdir -p /data/lsqlointer/ssdindex4

(2) 设置One_SSD策略(因版本差异,不同版本Hadoop的命令如下):

--Hadoop2.6版本:

hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex One_SSD
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex2 One_SSD
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex3 One_SSD
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex4 One_SSD

--Hadoop2.7/2.8版本:

hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex -policy One_SSD
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex2 -policy One_SSD
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex3 -policy One_SSD
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex4 -policy One_SSD

(3) 取消One_SSD策略(因版本差异,不同版本hadoop的命令如下):

--Hadoop2.6版本:

hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex Hot
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex2 Hot
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex3 Hot
hdfs dfsadmin -setStoragePolicy /data/lsqlointer/ssdindex4 Hot

--Hadoop2.7/2.8版本:

hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex -policy Hot
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex2 -policy Hot
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex3 -policy Hot
hdfs storagepolicies -setStoragePolicy -path /data/lsqlointer/ssdindex4 -policy Hot

(4) 检查One_SSD策略(因版本差异,不同版本hadoop的命令如下):

--Hadoop2.6版本

hdfs dfsadmin -getStoragePolicy /data/lsqlointer/ssdindex
hdfs dfsadmin -getStoragePolicy /data/lsqlointer/ssdindex2
hdfs dfsadmin -getStoragePolicy /data/lsqlointer/ssdindex3
hdfs dfsadmin -getStoragePolicy /data/lsqlointer/ssdindex4

--Hadoop2.7/2.8版本

hdfs storagepolicies -getStoragePolicy -path /data/lsqlointer/ssdindex
hdfs storagepolicies -getStoragePolicy -path /data/lsqlointer/ssdindex2
hdfs storagepolicies -getStoragePolicy -path /data/lsqlointer/ssdindex3
hdfs storagepolicies -getStoragePolicy -path /data/lsqlointer/ssdindex4

4. 过期数据策略更改

配置或取消ONE_SSD模式后,只有新写入的数据才会生效,旧的数据不会迁移过来。旧的数据需要通过mover进行数据的迁移。

hdfs mover /data/ssdindex
Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""