本篇文章主要是对hadoop的hdfs进行调优,包括NameNode的多目录配置优化,DataNode的多目录配置优化,集群磁盘之间的数据均衡优化,后续还会更新 。不足之处,欢迎斧正!
目录
- NameNode多目录配置
- 配置规划
- 具体配置内容如下:
- 查看配置结果
- DataNode多目录配置
- 配置规划
- 具体配置内容如下:
- 查看结果
- 向集群传数据
- 集群-磁盘之间的数据均衡
- 规划
NameNode的本地目录可以配置成多个,每个目录存放的内容也相同,增加可靠性
配置规划NameNode2
bdc112bdc113bdc114
配置步骤:
setup1:在hdfs-site.xml文件中添加如下内容
注意:
在配置时,会因为每台服务器节点的磁盘情况不同,所以这个配置配完之后,可以选择不分发,但是可以到对应的节点上进行配置。
dfs.namenode.name.dir file://${hadoop.tmp.dir}/dfs/name01,file://${hadoop.tmp.dir}/dfs/name02
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也可以配置成多个目录,且每个目录存储的数据是不一样的,即常说的:这里的数据不是副本,就是说没有备份,这里
配置规划注意:
每个目录存储的数据都是不一样的
目录112-2,12GB
bdc112硬盘113-1,3GB
目录113-2,6GB
bdc113硬盘114-1,24GB
bdc114
需要要在hdfs-site.xml文件中添加如下内容
查看结果dfs.datanode.data.dir file://${hadoop.tmp.dir}/dfs/data01,file://${hadoop.tmp.dir}/dfs/data02
[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的新特性
规划硬盘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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)