官方配置原文:

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

 

zookeeper搭建:

node02下:

配置zk环境变量:

 ZK配置文件:

 修改为:

 分发zk:分发给 node03 和 node04 

 然后存放各自的id 和 配置zk环境变量:

node03:

node04:

 开启ZK服务:

node02:

 

node03:

node04:

hadoop-HA-搭建:

配置 hdfs-site.xml 文件:

之前配置过的完全分布式的配置文件进行修改

 后面追加的内容:

#dfs.nameservices   命名空间的逻辑名称
<property><name>dfs.nameservices</name><value>mycluster</value>
</property>#dfs.ha.namenodes.[nameservice ID]   所有NameNode标示名称
<property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value>
</property>#dfs.namenode.rpc-address.[nameservice ID].[name node ID]   每个namenode监听的RPC地址
<property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>node01:8020</value>
</property><property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>node02:8020</value>
</property>#dfs.namenode.http-address.[nameservice ID].[name node ID]   每个namenode监听的http地址。
<property><name>dfs.namenode.http-address.mycluster.nn1</name><value>node01:50070</value>
</property>
<property><name>dfs.namenode.http-address.mycluster.nn2</name><value>node02:50070</value>
</property>#journalnode配置信息
<property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://node01:8485;node2:8485;node3:8485/mycluster</value>
</property>#journalnode持久化数据目录
<property><name>dfs.journalnode.edits.dir</name><value>/var/sxt/hadoop/ha/jn</value>
</property>#这里配置HDFS客户端连接到Active NameNode的一个java类<property><name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

#dfs.ha.fencing.methods 配置active namenode出错时的处理类。当active namenode出错时,一般需要关闭该进程。处理方式可以是ssh也可以是shell
<property><name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_dsa</value> </property>

#在namenode身边启动ZKFC 开启自动故障转移
<property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property>
 

配置 core-site.xml 文件:

#fs.defaultFS 客户端连接HDFS时,默认的路径前缀。如果前面配置了nameservice ID的值是mycluster,那么这里可以配置为授权信息的一部分
<property><name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property>
#hadoop.tmp.dir
<property><name>hadoop.tmp.dir</name> <value>/var/sxt/hadoop/ha</value> </property>

#ha.zookeeper.quorum  标记三台zookeeper地址
<property><name>ha.zookeeper.quorum</name> <value>node02:2181,node03:2181,node04:2181</value> </property>

分发修改好的文件:

 

给node01 和 node02 做免秘钥:

node01 -> node01 的免秘钥

node01 -> node02 的免秘钥

node02 -> node02 的免秘钥

node02 -> node01 的免秘钥

由于之前完全分布式node01已经和自己还有node02 做过免秘钥现在只需要做

node02 -> node02 的免秘钥

node02 -> node01 的免秘钥

实现方式和

node01 -> node01 的免秘钥

node01 -> node02 的免秘钥 一样

node02 下:

node01 下:

 必须优先启动 journalnode:

启动node01 node02 node03 的 journalnode

格式化namenode:

我这边出现了报错信息:显示无法构建journal  后面两台服务器地址写错了

启动namenode:

格式化ZKFC:

node04 下:

启动服务:

node01:

node02:

node03:

node04:

zoo

 node01:50070

node02:50070

演示:

杀死node01:

杀死node02 的 ZKFC:

停止服务:

node01:stop-dfs.sh

node02:zkServer.sh stop

node03:zkServer.sh stop

node04:zkServer.sh stop

再次启动:

node02、node03、node04:

zkServer.sh start

node01:

hadoop-daemon.sh  start namenode

node02:

hdfs namenode -bootstrapStandby

node01:

start-dfs.sh

手动启动historyserver。

启动命令:mr-jobhistory-daemon.sh start historyserver

关闭命令:mr-jobhistory-daemon.sh stop historyserver

转载于:https://www.cnblogs.com/LXL616/p/10859711.html

hadoop-hdfs-ha配置-搭建相关推荐

  1. hdfs 备份数配置_大数据||HDFS HA配置详解

    根据HA架构图,规划HA的分布式集群服务器 HA集群规划 配置参考图 根据官方文档配置HA 部分说明 Architecture 在典型的ha集群中,两台独立的机器被配置为namenode.在任何时间点 ...

  2. Hadoop的环境配置——搭建一个主机hadoop102,两个从机hadoop103,hadoop104,并运行分布式词频统计

    本文是跟着B站上的视频实现的,链接如下: https://www.bilibili.com/video/BV1Qp4y1n7EN?p=18 Hadoop运行环境搭建 重来3遍是正常的,这篇针对的是怎么 ...

  3. Ozone OM服务的HA配置搭建

    文章目录 前言 OM HA的配置初始化 OM HA模式下的服务启动 OM HA下的CLI命令使用 附:OM HA的样例配置 前言 在上文中,笔者阐述了Ozone OM服务HA的内部机理,但是没有介绍其 ...

  4. 2.Hadoop HDFS 安装配置

    1.将hadoop包解压放到/opt/hadoop下 2.配置 2.1.进入hadoop目录 2.2.编辑hadoop.env.sh文件 配置jdk环境变量 #vi etc/hadoop/hadoop ...

  5. Hadoop集群配置搭建

    环境:Centos 6.9,Hadoop 2.7.1,JDK 1.8.0_161,Maven 3.3.9 前言: 1.配置一台master服务器,两台或多台slave服务器.    2.master可 ...

  6. 适合小白的 Hadoop 集群配置搭建,非常详细

    准备工作: 1.VMware Workstation 14 中安装虚拟机 ,版本为 CentOS7(我搭建的集群为三台,安装一台克隆两台,这里不做解释,可自行百度) 2.JDK1.8 ,下载地址为 h ...

  7. Hadoop hdfs完全分布式搭建教程

    本文转载自:https://www.cnblogs.com/ysocean/p/6965197.html 1.安装环境 ①.四台Linux CentOS6.7 系统 hostname         ...

  8. hadoop hdfs 单机配置

    hadoop的配置文件在:/root/apps/hadoop安装目录/etc/hadoop/ 1.修改hadoop-env.sh,配置java环境变量 export JAVA_HOME=/usr/lo ...

  9. Hadoop环境的配置搭建和基本概念

    1.Hadoop配置 1.配置hadoop-env.sh 添加JAVA_HOME信息,如: export JAVA_HOME=/usr/java/jdk1.6 2.配置core-site.xml 参数 ...

  10. Hadoop手动升级HA配置手册

    Hadoop手动升级HA配置手册 1 Hadoop组件升级 本文是Apache hadoop.Hbase升级至CDH版hadoop.Hbase,同时涵盖了Hadoop HA的配置的操作手册.. 2 H ...

最新文章

  1. 最近的学习---一句话收获(备查用)(3)
  2. Linux下安装、配置PHP环境
  3. Oracle数据库备份与恢复的三种方法
  4. php array分组,php数组分组简单例子
  5. linux 通配符 元字符 转义字符
  6. 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题.....
  7. 【SDOI2014】数表
  8. 企业网盘2016年度深度盘点,哪家才是NO.1?
  9. pycharman使用小结
  10. 十字链表c语言实验报告,矩阵加法(基于十字链表)及C语言代码实现
  11. colab 挂载谷歌云盘
  12. SpringBoot项目下载resources目录下模板文件
  13. CVE-2017-8464 震网三代
  14. VBScript教程-第二章. 运行脚本
  15. c语言用switch计算税收,求助。。关于用switch编写简易计算器
  16. Unity3d初级编程--Unity官方教程
  17. 邮件内容安全防护之反垃圾邮件开源软件ASSP
  18. 电能管理系统在中材萍乡水泥4500t/d生产线改造上的应用
  19. 百度APP视频播放中的解码优化
  20. 用CSS画一只哆啦A梦

热门文章

  1. 用GCD来处理大量for loop任务
  2. CSS文本对齐text-align详解
  3. Ninject之旅之十一:Ninject动态工厂(附程序下载)
  4. [转]Data mining with WEKA, Part 3: Nearest Neighbor and server-side library
  5. KindEditor 4 输入框限定字数
  6. window.open参数完全手册
  7. 微软同步框架入门开篇(附SnapShot快照Demo)
  8. mysql初体验学习笔记_MySQL数据库初体验
  9. go 公众号 关注 监听_开言英语公众号关注
  10. 如何用python批量下载数据_使用Python批量下载数据