HDFS NameNode多目录

1. NameNode多目录

NameNode的数据目录可以配置成多个,且每个目录存放内容相同,相当于对数据做备份,增加了可靠性

1.1. 编辑hdfs-site.xml

修改配置

1
2
3
4
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2</value>
</property>

1.2. 重新格式化NameNode

关闭服务

1
2
stop-dfs.sh
stop-yarn.sh

所有节点删除数据和日志

1
2
rm -rf /usr/local/hadoop/tmp
rm -rf /usr/local/hadoop/logs/

格式化

1
hdfs namenode -format

查看生成的目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ tree /usr/local/hadoop/tmp/dfs/
/usr/local/hadoop/tmp/dfs/
├── name1
│   └── current
│   ├── fsimage_0000000000000000000
│   ├── fsimage_0000000000000000000.md5
│   ├── seen_txid
│   └── VERSION
└── name2 # 与name1完全一致
└── current
├── fsimage_0000000000000000000
├── fsimage_0000000000000000000.md5
├── seen_txid
└── VERSION

1.3. 启动HDFS并查看NameNode

启动服务

1
start-dfs.sh

上传文件

1
hdfs dfs -put 1.txt /

查看目录树,name1与name2仍完全一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$ tree -a /usr/local/hadoop/tmp/dfs/  
/usr/local/hadoop/tmp/dfs/
├── data
│   ├── current
│   │   ├── BP-774990081-192.168.57.101-1551014303666
│   │   │   ├── current
│   │   │   │   ├── finalized
│   │   │   │   │   └── subdir0
│   │   │   │   │   └── subdir0
│   │   │   │   │   ├── blk_1073741825
│   │   │   │   │   └── blk_1073741825_1001.meta
│   │   │   │   ├── rbw
│   │   │   │   └── VERSION
│   │   │   ├── dncp_block_verification.log.curr
│   │   │   ├── dncp_block_verification.log.prev
│   │   │   └── tmp
│   │   └── VERSION
│   └── in_use.lock
├── name1
│   ├── current
│   │   ├── edits_0000000000000000001-0000000000000000008
│   │   ├── edits_inprogress_0000000000000000009
│   │   ├── fsimage_0000000000000000000
│   │   ├── fsimage_0000000000000000000.md5
│   │   ├── fsimage_0000000000000000008
│   │   ├── fsimage_0000000000000000008.md5
│   │   ├── seen_txid
│   │   └── VERSION
│   └── in_use.lock
└── name2
├── current
│   ├── edits_0000000000000000001-0000000000000000008
│   ├── edits_inprogress_0000000000000000009
│   ├── fsimage_0000000000000000000
│   ├── fsimage_0000000000000000000.md5
│   ├── fsimage_0000000000000000008
│   ├── fsimage_0000000000000000008.md5
│   ├── seen_txid
│   └── VERSION
└── in_use.lock
panchaoxin wechat
关注我的公众号
支持一下