内容简介:core-site.xml中,增加以下配置:qjournal://zk01:8485;zk02:8485;zk03:8485;zk04:8485;zk05:8485/nsdfs.journalnode.edits.dir
- 集群规划
zk01——zk05,5台centos
zk01——zk05部署了5个zookeeper
zk01为namenode节点
zk05为namenode的HA节点
zk02、zk03、zk04为datanode节点 - 搭建过程
修改主机名,hosts
搭建5台zookeeper, 启动后5台机器都要zkServer.sh status查看状态,如果有启动没成功的节点,先解决这里的问题,再继续向下进行
配置环境变量
在主节点配置hadoop,其他和以前步骤一样,只有core-site.xml和hdfs-site.xml有变化,如下:
core-site.xml中,fs.defaultFS的值修改为hdfs://ns ns为自定义的名称,与hdfs.site.xml中对应
core-site.xml中,增加以下配置:
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!-- ns下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>zk01:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>zk01:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>zk05:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>zk05:50070</value>
</property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
qjournal://zk01:8485;zk02:8485;zk03:8485;zk04:8485;zk05:8485/ns
dfs.journalnode.edits.dir
/usr/local/hadoop/
dfs.ha.automatic-failover.enabled
true
dfs.client.failover.proxy.provider.ns
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.fencing.methods
shell(/bin/true)
在zk01节点输入 hdfs zkfc -formatZK 格式化zookeeper集群,此时会在zookeeper建立HA的相应节点
所有节点hadoop的sbin目录下,执行 ./hadoop-daemon.sh start journalnode 启动JournalNode集群
在所有节点hadoop的sbin目录执行 ./hadoop-daemon.sh start zkfc 启动ZooKeeperFailoverCotroller
在zk01节点输入 hdfs namenode -format -clusterId ss 格式化
在zk01节点hadoop的sbin目录输入 ./hadoop-daemon.sh start namenode 启动namenode
在zk05节点hadoop的bin目录输入 ./hdfs namenode -bootstrapStandby 将格式化同步到备机
在zk05节点hadoop的sbin目录输入 ./hadoop-daemon.sh start namenode 启动备机的namenode
在zk01节点hadoop的sbin目录输入 ./hadoop-daemons.sh start datanode 启动datanode
在zk01节点hadoop的sbin目录输入 ./start-yarn.sh
下图是两个启动后的namenode节点
此时 kill -9 zk01节点namenode的进程
查看zk05会自动切换为active,HA配置成功
学院 Go 语言视频主页
https://edu.csdn.net/lecturer/1928以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
单元测试之道Java版
David Thomas、Andrew Hunt / 陈伟柱、陶文 / 电子工业 / 2005-1 / 25.00元
程序员修炼三部曲丛书包含了四本书,介绍了每个注重实效的程序员和成功团队所必备的一些工具。 注重实效的程序员都会利用反馈来指导开发,并驱动个人的开发流程。编码的时候,最有用的反馈来自于“单元测试”。 为了测试一座桥梁,不会只在晴朗的天气,开一辆汽车从桥中间穿过,就认为已经完成了对桥梁的测试。然而许多程序员却正在使用这种测试方法——把这种一次顺利通过称为“测试”。事实上,注重实效的程序员应......一起来看看 《单元测试之道Java版》 这本书的介绍吧!