本篇文章主要是对hadoop的hdfs进行调优,包括NameNode的多目录配置优化,DataNode的多目录配置优化,集群磁盘之间的数据均衡优化,后续还会更新 。不足之处,欢迎斧正!
NameNode多目录配置
NameNode的本地目录可以配置成多个,每个目录存放的内容也相同,增加可靠性
配置规划
bdc112 | bdc113 | 114 |
---|---|---|
NameNode1 NameNode2 bdc112 | bdc113 | bdc114 |
具体配置内容如下:
配置步骤:
setup1:在hdfs-site.xml文件中添加如下内容
注意:
在配置时,会因为每台服务器节点的磁盘情况不同,所以这个配置配完之后,可以选择不分发,但是可以到对应的节点上进行配置。
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name01,file://${hadoop.tmp.dir}/dfs/name02</value>
</property>
setup2:停止集群,删除三台节点的data(tmp)和logs中所有数据
[lqs@bdc112 hadoop-3.1.3]$ rm -rf tmp/ logs/
[lqs@bdc113 hadoop-3.1.3]$ rm -rf tmp/ logs/
[lqs@bdc114 hadoop-3.1.3]$ rm -rf tmp/ logs/
setup3:格式化集群并启动
[lqs@bdc112 hadoop-3.1.3]$ bin/hdfs namenode -format
[lqs@bdc112 hadoop-3.1.3]$ sbin/start-dfs.sh
查看配置结果
[lqs@bdc112 dfs]$ ll
总用量 12
drwx------. 3 lqs lqs 4096 12月 17 08:03 data
drwxrwxr-x. 3 lqs lqs 4096 12月 17 08:03 name01
drwxrwxr-x. 3 lqs lqs 4096 12月 17 08:03 name02
#注意:name1和name2里面的内容是完全一样的
DataNode多目录配置
DataNode也可以配置成多个目录,且每个目录存储的数据是不一样的,即常说的:这里的数据不是副本,就是说没有备份,这里
配置规划
注意:
每个目录存储的数据都是不一样的
bdc112 | bdc113 | 114 |
---|---|---|
目录112-1,6GB 目录112-2,12GB bdc112 | 硬盘113-1,3GB 目录113-2,6GB bdc113 | 硬盘114-1,24GB bdc114 |
具体配置内容如下:
需要要在hdfs-site.xml文件中添加如下内容
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data01,file://${hadoop.tmp.dir}/dfs/data02</value>
</property>
查看结果
[lqs@bdc112 dfs]$ ll
总用量 12
drwx------. 3 lqs lqs 4096 12月 17 14:22 data01
drwx------. 3 lqs lqs 4096 12月 17 14:22 data02
drwxrwxr-x. 3 lqs lqs 4096 12月 17 14:22 name01
drwxrwxr-x. 3 lqs lqs 4096 12月 17 14:23 name02
向集群传数据
向集群上传一个文件,再次观察两个文件夹里面的内容发现不一致(一个有数一个没有)
[lqs@bdc112 hadoop-3.1.3]$ hadoop fs -put wcinput/word.txt /test
集群-磁盘之间的数据均衡
在生产环境中,往往会由于硬盘空间的不足需要添加一块磁盘,刚添加的磁盘是没有数据的,可以执行磁盘数据均衡的命令,这也是hadoop3.x的新特性
规划
bdc112 | bdc113 | 114 |
---|---|---|
硬盘112-1,6GB 硬盘112-2,0GB bdc112 | 硬盘113-1,3GB 硬盘113-2,6GB bdc113 | 硬盘114-1,24GB bdc114 |
setup1:生成均衡计划
hdfs diskbalancer -plan bdc113
setup2:执行均衡计划
hdfs diskbalancer -execute bdc113.plan.json
setup3:查看当前均衡任务执行情况
hdfs diskbalancer -query bdc113
setup4:取消均衡任务
hdfs diskbalancer -cancel bdc113.plan.json