hadoop集群搭建双namenode
时间: 2023-09-22 16:11:35 浏览: 109
hadoop集群搭建
Hadoop集群可以搭建双Namenode,达到高可用性和容错性。下面是搭建双Namenode的步骤:
1. 安装Hadoop集群,参考官方文档。
2. 在Hadoop的主配置文件hdfs-site.xml中,增加以下配置:
```
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/dfs/name1,file:/hadoop/dfs/name2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mynamenode1</name>
<value>172.16.10.1:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mynamenode2</name>
<value>172.16.10.2:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.mynamenode1</name>
<value>172.16.10.1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mynamenode2</name>
<value>172.16.10.2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://mynamenode1:8485;mynamenode2:8485/mycluster</value>
</property>
```
其中,dfs.namenode.name.dir配置了两个Namenode的元数据存储路径;dfs.namenode.rpc-address和dfs.namenode.http-address分别配置了两个Namenode的RPC和HTTP地址;dfs.namenode.shared.edits.dir配置了两个Namenode的编辑日志存储路径。
3. 在每个Namenode节点上,创建元数据存储路径和编辑日志存储路径,并设置权限:
```
$ sudo mkdir -p /hadoop/dfs/name1 /hadoop/dfs/name2
$ sudo chown -R hdfs:hadoop /hadoop/dfs
```
4. 启动Hadoop集群,格式化HDFS和启动Zookeeper:
```
$ hdfs namenode -format
$ start-dfs.sh
$ start-yarn.sh
$ zkServer.sh start
```
5. 在一个Namenode节点上,启动JournalNode:
```
$ hadoop-daemon.sh start journalnode
```
6. 在另一个Namenode节点上,启动Active Namenode:
```
$ hdfs --daemon start namenode
```
7. 在第三个节点上,启动Standby Namenode:
```
$ hdfs namenode -bootstrapStandby
$ hdfs --daemon start namenode
```
8. 验证双Namenode是否正常工作:
```
$ hdfs haadmin -getServiceState mynamenode1
$ hdfs haadmin -getServiceState mynamenode2
```
如果输出为“active”,表示双Namenode正常工作。
以上就是搭建双Namenode的步骤。双Namenode可以提高Hadoop集群的可用性和容错性,但也增加了部署和维护的复杂度。因此,需要根据实际情况选择是否搭建双Namenode。
阅读全文