1. 程式人生 > >Hadoop HA高可用叢集搭建(2.7.2)

Hadoop HA高可用叢集搭建(2.7.2)

<configuration>
	<!--指定hdfs的nameservice為ns1,需要和core-site.xml中的保持一致 -->
	<property>
		<name>dfs.nameservices</name>
		<value>ns1</value>
	</property>
	<!-- ns1下面有兩個NameNode,分別是nn1,nn2 -->
	<property>
		<name>dfs.ha.namenodes.ns1</name>
		<value>nn1,nn2</value>
	</property>
	<!-- nn1的RPC通訊地址 -->
	<property>
		<name>dfs.namenode.rpc-address.ns1.nn1</name>
		<value>drguo1:9000</value>
	</property>
	<!-- nn1的http通訊地址 -->
	<property>
		<name>dfs.namenode.http-address.ns1.nn1</name>
		<value>drguo1:50070</value>
	</property>
	<!-- nn2的RPC通訊地址 -->
	<property>
		<name>dfs.namenode.rpc-address.ns1.nn2</name>
		<value>drguo2:9000</value>
	</property>
	<!-- nn2的http通訊地址 -->
	<property>
		<name>dfs.namenode.http-address.ns1.nn2</name>
		<value>drguo2:50070</value>
	</property>
	<!-- 指定NameNode的元資料在JournalNode上的存放位置 -->
	<property>
		<name>dfs.namenode.shared.edits.dir</name>
		<value>qjournal://drguo3:8485;drguo4:8485;drguo5:8485/ns1</value>
	</property>
	<!-- 指定JournalNode在本地磁碟存放資料的位置 -->
	<property>
		<name>dfs.journalnode.edits.dir</name>
		<value>/opt/Hadoop/hadoop-2.7.2/journaldata</value>
	</property>
	<!-- 開啟NameNode失敗自動切換 -->
	<property>
		<name>dfs.ha.automatic-failover.enabled</name>
		<value>true</value>
	</property>
	<!-- 配置失敗自動切換實現方式 -->
	<property>
		<name>dfs.client.failover.proxy.provider.ns1</name>
		<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
	</property>
	<!-- 配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行-->
	<property>
		<name>dfs.ha.fencing.methods</name>
		<value>
			sshfence
			shell(/bin/true)
		</value>
	</property>
	<!-- 使用sshfence隔離機制時需要ssh免登陸 -->
	<property>
		<name>dfs.ha.fencing.ssh.private-key-files</name>
		<value>/home/guo/.ssh/id_rsa</value>
	</property>
	<!-- 配置sshfence隔離機制超時時間 -->
	<property>
		<name>dfs.ha.fencing.ssh.connect-timeout</name>
		<value>30000</value>
	</property>
</configuration>
先將mapred-site.xml.template改名為mapred-site.xml然後修改mapred-site.xml
<configuration>
	<!-- 指定mr框架為yarn方式 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
修改yarn-site.xml
<configuration>
	<!-- 開啟RM高可用 -->
	<property>
	   <name>yarn.resourcemanager.ha.enabled</name>
	   <value>true</value>
	</property>
	<!-- 指定RM的cluster id -->
	<property>
	   <name>yarn.resourcemanager.cluster-id</name>
	   <value>yrc</value>
	</property>
	<!-- 指定RM的名字 -->
	<property>
	   <name>yarn.resourcemanager.ha.rm-ids</name>
	   <value>rm1,rm2</value>
	</property>
	<!-- 分別指定RM的地址 -->
	<property>
	   <name>yarn.resourcemanager.hostname.rm1</name>
	   <value>drguo1</value>
	</property>
	<property>
	   <name>yarn.resourcemanager.hostname.rm2</name>
	   <value>drguo2</value>
	</property>
	<!-- 指定zk叢集地址 -->
	<property>
	   <name>yarn.resourcemanager.zk-address</name>
	   <value>drguo3:2181,drguo4:2181,drguo5:2181</value>
	</property>
	<property>
	   <name>yarn.nodemanager.aux-services</name>
	   <value>mapreduce_shuffle</value>
	</property>
</configuration>
修改slaves