4.7 Hadoop+zookeeper实现HA

栏目: 编程工具 · 发布时间: 7年前

内容简介:core-site.xml中,增加以下配置:qjournal://zk01:8485;zk02:8485;zk03:8485;zk04:8485;zk05:8485/nsdfs.journalnode.edits.dir
  1. 集群规划
     zk01——zk05,5台centos
     zk01——zk05部署了5个zookeeper
     zk01为namenode节点
     zk05为namenode的HA节点
     zk02、zk03、zk04为datanode节点
  2. 搭建过程
     修改主机名,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

清华团队带你实战区块链开发

扫码获取海量视频及源码 QQ群:721929980

4.7 Hadoop+zookeeper实现HA

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人人都是产品经理——写给产品新人

人人都是产品经理——写给产品新人

苏杰 / 电子工业出版社 / 2017-6 / 66.60

《人人都是产品经理——写给产品新人》为经典畅销书《人人都是产品经理》的内容升级版本,和《人人都是产品经理2.0——写给泛产品经理》相当于上下册的关系。对于大量成长起来的优秀互联网产品经理、众多想投身产品工作的其他岗位从业者,以及更多有志从事这一职业的学生而言,这《人人都是产品经理——写给产品新人》曾是他们记忆深刻的启蒙读物、思想基石和行动手册。作者以分享经历与体会为出发点,以“朋友间聊聊如何做产品......一起来看看 《人人都是产品经理——写给产品新人》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试