赞
踩
一、修改配置文件
①vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_71
②vim core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://cluster1</value> </property> 【默认的HDFS路径。多个HDFS集群同时工作时,集群名称在这里指定!该值来自于hdfs-site.xml中的配置】 <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-2.7.2/tmp</value> </property> 【这是NameNode、DataNode、JournalNode等存放数据的公共目录。也可以单独指定这三类节点的目录。】 <property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node3:2181,node4:2181,node5:2181</value> </property>
③vim hdfs-site.xml
<property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.nameservices</name> <value>silence1101</value> </property> 【HDFS集群别名,多个集群时相互不重复即可】 <property> <name>dfs.ha.namenodes.silence1101</name> <value>master1,master2</value> </property> 【该集群namenode节点】 <property> <name>dfs.namenode.rpc-address.silence1101.master1</name> <value>master1:9000</value> </property> <property> <name>dfs.namenode.http-address.silence1101.master1</name> <value>master1:50070</value> </property> <property> <name>dfs.namenode.rpc-address.silence1101.master2</name> <value>master2:9000</value> </property> <property> <name>dfs.namenode.http-address.silence1101.master2</name> <value>master2:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node1:8485;node2:8485;node3:8485/silence1101</value> </property> 【指定两个NameNode共享edits文件目录时,使用的JournalNode集群信息】 <property> <name>dfs.ha.automatic-failover.enabled.silence1101</name> <value>true</value> </property> 【启动自动故障恢复,当NameNode出故障时,自动切换到另一台NameNode】 <property> <name>dfs.client.failover.proxy.provider.silence1101</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </value> </property> 【指定该集群出故障时,哪个实现类负责执行故障切换】 <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> 【一旦需要NameNode切换,使用ssh方式进行操作】 <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> 【如果使用ssh进行故障切换,使用ssh通信时用的密钥存储的位置】 <property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value> </property>
④vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
【指定运行mapreduce的环境是yarn】
⑤vim yarn-site.xml
<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> 【启动HA高可用性】 <property> <name>yarn.resourcemanager.cluster-id</name> <value>yrc</value> </property> 【指定resourcemanager的名字】 <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> 【使用了2个resourcemanager,分别指定Resourcemanager的地址】 <property> <name>yarn.resourcemanager.hostname.rm1</name> <value> master1</value> </property> 【指定ResourceManager1的地址】 <property> <name>yarn.resourcemanager.hostname.rm2</name> <value> master2</value> </property> 【指定ResourceManager2的地址】 <property> <name>yarn.resourcemanager.zk-address</name> <value>node1:2181,node2:2181,node3:2181,node4:2181,node5:2181</value> </property> 【指定Zookeeper节点】 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> 【默认】
⑥vim slaves
node1
node2
node3
node4
二、启动过程
启动zookeeper集群
./zkServer.sh start
查看状态
./zkServer.sh status
启动journalnode(分别在在主机node1、node2、node3启动)
sbin/hadoop-daemon.sh start journalnode
验证
jps
显示JouralNode + QuorumpeerMain
格式化namenode(master1)
hdfs namenode -format
格式化ZKFC(在master1上执行)
hdfs zkfc -formatZK
NameNode从master1同步到master2
① 在master2执行
hdfs namenode bootstrapstandby
验证
tmp下生成dfs
② 如果①失败(在master1执行)
ssh-keygen -f "~/.ssh/known_hosts" -R master1
验证
tmp下生成dfs
启动NameNode和DataNode
start-dfs.sh
启动yarn(在master2执行)
start-yarn.sh
验证
jps
显示ResourceManager + NodeManager
启动ZookeeperFailoverController(master1和master2执行)
hadoop-daemon.sh start zkfc
验证
jps
显示DFSZKFailoverController
三、UI验证
打开浏览器查看master1(namenode显示active)
打开浏览器查看master2(namenode显示standby)
四、常见错误
hadoop HA启动时 两个namenode节点都是standby,解决办法:
①启动zookeeper选举制度
sbin/hadoop-daemon.sh start zkfc
②执行bin/hdfs haadmin -transitionToActive master2
如果是新配置的HAhadoop集群,可能是zkfc(DFSZKFailoverController)没有格式化导致namenode节点的自动切换机制没有开启
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。