hadoop高可用HA的搭建

hadoop高可用HA的搭建:

8485:journal node的默认端口号

思路:搭建zookeeper,在hadoop启动之前zookeeper就已经启动了。

免秘钥:就是让zookeeper能够在各台集群机器之间进行自由的交互。

1、上传解压zookeeper

zookeeper在使用的时候,

一种是主从模式

无主模型

在conf下修改文件:cp zoo.cfg

进入zoo.cfg文件:

创建相应的文文件夹:mkdir -p /var/sxt/hadoop/zk

将相应的ID追加到相应的文件中:

echo 1 > /var/sxt/hadoop/zk/myid

依次在node12,node13,node14上边去执行

启动:zkServer.sh start

查看状态:zkServer.sh status

进入文件的新用法:

[root@node11 ~]# cd $HADOOP_HOME
[root@node11 hadoop-2.6.5]# cd 
[root@node11 ~]# cd $JAVA_HOME
[root@node11 jdk1.7.0_67]# cd 
[root@node11 ~]#

以上,zookeeper就已经配置好了

2、搭建HA模式:

配置两个文件:

文件的内容:

hdfs-site.xml

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>node11:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node12:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node11:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node12:50070</value>
</property>


<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node11:8485;node12:8485;node13:8485/mycluster</value>
</property>

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/var/sxt/hadoop/ha/jn</value>
</property>


<property>
  <name>dfs.client.failover.proxy.provider.mycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property>
<property>
  <name>dfs.ha.fencing.ssh.private-key-files</name>
  <value>/root/.ssh/id_dsa</value>
</property>

<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

</configuration>

core-site.xml

<configuration>
	<property>	
		<name>fs.defaultFS</name>
		<value>hdfs://mycluster</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/var/sxt/hadoop/ha</value>
	</property>

<property>
   <name>ha.zookeeper.quorum</name>
   <value>node12:2181,node13:2181,node14:2181</value>
 </property>

</configuration>

然后将这两个文件分发给其他节点:

[root@node11 hadoop]# scp core-site.xml hdfs-site.xml node14:`pwd`

3、格式化:

格式化之前必须要先启动journal node

[root@node11 hadoop]# hadoop-daemon.sh start journalnode

同时要确保zookeeper处于启动状态

执行格式化的命令:

[root@node11 hadoop]# hdfs namenode -format

第一台同步,之前需要qidongnamenode:

[root@node11 hadoop]# hadoop-daemon.sh start namenode

第二台执行:

[root@node12 sxt]# hdfs namenode -bootstrapStandby

在node14上边启动zookeeper的客户端:

找node11或者node12格式化zookeeper

[root@node11 hadoop]# hdfs zkfc -formatZK

完成之后启动hdfs:在node11上边执行:

[root@node11 hadoop]# start-dfs.sh

检查node14上边zookeeper的状态:

单独启动:

[root@node11 hadoop]# hadoop-daemon.sh start namenode

猜你喜欢

转载自blog.csdn.net/wyqwilliam/article/details/85178848