本文共 4554 字,大约阅读时间需要 15 分钟。
hadoop110 | hadoop111 |
---|---|
NameNode | NameNode |
fs.defaultFS hdfs://mycluster hadoop.tmp.dir /opt/install/hadoop/hdfsTmp hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups *
dfs.replication 3 dfs.namenode.secondary.http-address hadoop111:50090 dfs.nameservices mycluster dfs.ha.namenodes.mycluster nn1,nn2 dfs.namenode.rpc-address.mycluster.nn1 hadoop110:9000 dfs.namenode.rpc-address.mycluster.nn2 hadoop111:9000 dfs.namenode.http-address.mycluster.nn1 hadoop110:50070 dfs.namenode.http-address.mycluster.nn2 hadoop111:50070 dfs.namenode.shared.edits.dir qjournal://hadoop110:8485;hadoop111:8485;hadoop112:8485/mycluster dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.journalnode.edits.dir /opt/install/hadoop/data/jn dfs.permissions.enable false dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
注意修改完配置文件将这俩文件用scp命令全部发送到其他机器上
hadoop-daemon.sh start journalnode
hdfs namenode -format
, hadoop-daemon.sh start namenode
hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode
hadoop-daemons.sh start datanode
hdfs haadmin -transitionToActive nn1
hdfs haadmin -getServiceState nn1
,效果如下: dfs.ha.automatic-failover.enabled true
ha.zookeeper.quorum hadoop110:2181,hadoop111:2181,hadoop112:2181
3.启动
1)关闭所有 HDFS 服务: stop-dfs.sh
2)启动 Zookeeper 集群,即在所有机器输入如下命令: zkServer.sh start
3)初始化 HA 在 Zookeeper 中状态: hdfs zkfc -formatZK
4)启动 HDFS 服务: start-dfs.sh
5)在各个 NameNode 节点上启动 DFSZK Failover Controller,先在哪台机器启动,哪个机器的NameNode就是Active NameNode :
hadoop-daemon.sh start zkfc
,启动后如下: 4.验证
1)将 Active NameNode 进程 kill: kill -9 namenode 的进程 id
2)将 Active NameNode 机器断开网络: service network stop
hadoop110 | hadoop111 |
---|---|
ResourceManager | ResourceManager |
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id cluster-yarn1 yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 hadoop110 yarn.resourcemanager.hostname.rm2 hadoop111 yarn.resourcemanager.zk-address hadoop110:2181,hadoop111:2181,hadoop112:2181 yarn.resourcemanager.recovery.enabled true yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 604800
配置完用scp命令将文件发送到其他机器
start-yarn.sh
yarn-daemon.sh start resourcemanager
yarn rmadmin -getServiceState rm1
,如下: 注:需要下载psmisc依赖包,否则无法完成自动切换节点
yum install -y psmisc
转载地址:http://ccjxi.baihongyu.com/