HDFS中多目录的配置
1.NameNode多目录配置
1)NameNode本地目录可以配置多个,且每个目录存放内容相同,增加了可靠性
2)具体配置如下
(1)在hdfs-site.xml文件中添加如下内容
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.dir}/dfs/name2</value>
</property>
因为每台服务器的磁盘配置情况不同,所以这个配置完之后,可以选择不分发。
(2)停止集群,删除三台节点上 data 和 logs 中的所有数据
[100@101 hadoop-3.1.3]$ rm -rf data/ logs/
[100@102 hadoop-3.1.3]$ rm -rf data/ logs/
[100@103 hadoop-3.1.3]$ rm -rf data/ logs/
(3)格式化集群并启动
[100@101 hadoop-3.1.3]$ bin/hdfs namenode -format
[100@101 hadoop-3.1.3]$ sbin/start-dfs.sh
3)查看结果
[100@101 dfs]$ ll
总用量 12
drwx------. 3 atguigu atguigu 4096 12月 11 08:03 data
drwxrwxr-x. 3 atguigu atguigu 4096 12月 11 08:03 name1
drwxrwxr-x. 3 atguigu atguigu 4096 12月 11 08:03 name2
检查 name1 和 name2 中的内容,发现一模一样。
2.DataNode 多目录设置
1)DataNode 可以配置成多目录,每个目录存储的数据不一样(数据不是副本)
2)具体配置如下
在 hdfs-site.xml 中添加如下内容
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data1,file://${hadoop.tmp.dir}/dfs/data2</value>
</property>
3)查看结果
[atguigu@hadoop102 dfs]$ ll
总用量 12
drwx------. 3 101 101 4096 4月 4 14:22 data1
drwx------. 3 101 101 4096 4月 4 14:22 data2
drwxrwxr-x. 3 101 101 4096 12月 11 08:03 name1
drwxrwxr-x. 3 101 101 4096 12月 11 08:03 name2
4)像集群上传一个文件,再次观察两个文件夹内容,发现内容不一致(一个有数,一个没有)
[100@101 hadoop-3.1.3]$ hadoop fs -put wcinput/word.txt /