Hadoop之HA高可用
1、集群规划
ZooKeeper | NameNode | DataNode | ResourceManager | NodeManage | JN | ZKFC | |
---|---|---|---|---|---|---|---|
master | 1 | 1 | 1 | 1 | 1 | ||
node1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
node2 | 1 | 1 | 1 | 1 |
2、前提
1、
Zookeeper
集群安装完毕
2、jdk
安装完成等等
3、免密配置
注意:两台NameNode机器 (master、node1)都需要配置免密登录
4、修改hadoop配置文件
4.1、hdfs高可用
1、修改core-site.xml 添加如下配置文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,node1:2181,node2:2181</value>
</property>
</configuration>
2、修改hdfs-site.xml文件,添加如下内容
<configuration>
<!-- 指定hdfs元数据存储的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/data/namenode</value>
</property>
<!-- 指定hdfs数据存储的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/data/datanode</value>
</property>
<!-- 数据备份的个数 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 关闭权限验证 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<!-- 开启WebHDFS功能(基于REST的接口服务) -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<!-- //以下为HDFS HA的配置// -->
<!-- 指定hdfs的nameservices名称为mycluster -->
<property>
<name>dfs.nameservices</name>
<value>cluster</value>
&l