自动切换的HA,比手动切换HA集群多了一个zookeeper集群

机器分配:

  zookeeper:hadoop4,hadoop5,hadoop6
  namenode:hadoop4,hadoop5
  datanode:hadoop4,hadoop5,hadoop6
  journalnode:hadoop4,hadoop5,hadoop6,仅仅是为了实现HA,和集群没有任何关系,最少三个机器,奇数个
  resourcemanager:hadoop4
  nodemanager:hadoop4,hadoop5,hadoop6
  zookeeper就是实现数据之间共享的,我们把数据提交到一个节点,这时候我们就可以同时在多个节点共享,能够保证数据传上去之后,原子性

1.1搭建zookeeper集群,启动zookeeper集群

  1.1.1 在hadoop4上解压缩,重命名为zookeeper,把conf/zoo_sample.cfg重命名为conf/zoo.cfg
    修改文件conf/zoo.cfg
    (1) dataDir=/usr/local/zookeeper/data
    (2) 增加以下内容:

      server.4=hadoop4:2888:3888
      server.5=hadoop5:2888:3888
      server.6=hadoop6:2888:3888

      创建目录 mkdir zookeeper/data
      写入文件echo 4 zookeeper/data/myid
    复制zookeeper文件夹到hadoop5,hadoop6上
    scp -rq zookeeper hadoop5:/usr/local
    scp -rq zookeeper hadoop6:/usr/local
    在hadoop5上执行echo 5 > zookeeper/data/myid
    在hadoop6上执行echo 6 > zookeeper/data/myid
  1.1.2 启动
    在hadoop4,hadoop5,hadoop6上分别执行命令: zookeeper/bin/zkServer.sh start
  1.1.3 验证:执行命令 zookeeper/bin/zkCli.sh 进入后执行 ls /

1.2 修改配置文件,在手动切换的基础上进行修改

  core-site.xml中加入 zookeeper集群配置

<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop4:2181,hadoop5:2181,hadoop6:2181</value>
</property>

  hdfs-site.xml中,启用zookeeper集群

<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>true</value>
</property>

1.3格式化zookeeper,使用zookeeper集群监控namenode,格式化就是把namenode集群增加到集群中。

  清空环境,脚本allmv.sh

#!/bin/sh
ssh hadoop4 '/usr/local/hadoop/sbin/stop-all.sh'
for((i=4;i<=6;i++));
do
ssh hadoop$i 'rm -rf /usr/local/hadoop/logs/*'
ssh hadoop$i 'rm -rf /usr/local/hadoop/tmp/*'
echo "remove at hadoop$i"
done

  删除其他节点的hadoop文件夹,然后把hadoop4上的hadoop文件夹复制到hadoop4、hadoop5、hadoop6节点
  在hadoop4上执行hadoop/bin/hdfs zkfc -formatZK
  格式化成功之后,可以使用zkCli.sh 客户端查看

1.4 启动journalnode集群

  hadoop4,hadoop5,hadoop6上分别执行:
  hadoop/sbin/hadoop-daemon.sh start journalnode

1.5 格式化namenode,启动namenode

  hadoop4上执行格式化:hadoop/bin/hdfs namenode -format
  hadoop4上执行 hadoop/sbin/hadoop-daemon.sh start namenode
  hadoop5上执行 hadoop/bin/hdfs namenode -bootstrapStandby
  hadoop5上执行 hadoop/sbin/hadoop-daemon.sh start namenode

1.6 启动datanode

  在hadoop4上执行hadoop/sbin/hadoop-daemons.sh start datanode

1.7 在namenode节点启动ZKFC

  在hadoop4,hadoop5节点上分别执行命令hadoop/sbin/hadoop-daemon.sh start zkfc

1.8 启动resourcemanager和nodemanager

  在hadoop4上执行hadoop/sbin/start-yarn.sh start resourcemanager
  验证方式:hadoop0:8088

总结:自动切换比手工切换多出来的配置和操作:

  (1) core-site.xml增加了配置项ha.zookeeper.quorum,hdfs-site.xml中吧dfs.ha.automatic-failover.enabled.cluster1改为true
  (2) 操作上格式化zk,执行命令bin/hdfs zkfc -formatZK;启动zkfc,执行命令sbin/hadoop-daemon.sh start zkfc

Hadoop2.2.0 自动切换HA环境搭建的更多相关文章

  1. Hadoop2.2.0 手动切换HA环境搭建

    ssh-copy-id -i hadoop5含义: 节点hadoop4上执行ssh-copy-id -i hadoop5的含义是把hadoop4上的公钥id_rsa.pub的内容追加到hadoop5的 ...

  2. hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装

    hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...

  3. Linux -- 之HDFS实现自动切换HA(全新HDFS)

    Linux -- 之HDFS实现自动切换HA(全新HDFS) JDK规划 1.7及以上  https://blog.csdn.net/meiLin_Ya/article/details/8065094 ...

  4. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  5. 24、自动装配-@Profile环境搭建

    24.自动装配-@Profile环境搭建 Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能. 开发环境.测试环境.正式环境 数据源切换 24.1 添加 数据源和jdbc驱动 ...

  6. Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...

  7. hadoop-2.6.0集群开发环境配置

    hadoop-2.6.0集群开发环境配置 一.环境说明 1.1安装环境说明 本例中,操作系统为CentOS 6.6, JDK版本号为JDK 1.7,Hadoop版本号为Apache Hadoop 2. ...

  8. Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解

    作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...

  9. SDL2.0的VS开发环境搭建

    SDL2.0的VS开发环境搭建 [前言] 我是用的是VS2012,VS的版本应该大致一样. [开发环境搭建] >>>SDL2.0开发环境配置:1.从www.libsdl.org 下载 ...

随机推荐

  1. Java实现图片压缩代码,图片大小转换

    在很多项目中我们会把上传的图片做处理,比较图片上传过多对服务器的容量和带宽有很多的浪费,如果不是必须的高清图片,我们可以通过代码来做压缩.在我的项目中我们压缩图片的目的是让web页面打开的速度很快,并 ...

  2. ORACLE EBS R12 - 寄售功能知多少

    材料以寄售方式供应,是制造业实现零库存管理的一种方式.东西放在我这里,不用的时候,东西还是供应商的,用的时候,按"装机"数量进行付款.这种业务模式,对于竞争日趋白热化的家电行业,非 ...

  3. 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树

    另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树. 先来一个汇总, 算法: 本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, ...

  4. 【Android】 PopupWindow使用小结

        PopupWindow的很多用法网上比较多,我就不做过多解释了,只说下可能会遇到的问题,以及解决办法: 1.PopupWindow中的listview无响应 这个主要是因为show写在了set ...

  5. splay入门

    在比较了网上的几份模板的速度之后,发现指针版明显快了很多,但是一敲起来....各种不习惯...所以还是学的hzwer 的数组版... bzoj3223:维护reverse操作就可以了 #include ...

  6. 【第三篇】说说javascript处理时间戳

    在做datagrid的时候,从数据库读出来的数据是/Date(1437705873240)/大概是这种形式,这个就是时间戳 我们需要把/Data和/去掉,才可以转成我们要的格式. 上代码 { fiel ...

  7. R2的版本由来

    给人一杯水,自己先有一桶水.上课.备课,那么备课中就常有一些稀奇古怪的问题. 学生问:SP2和R2是一样的吗? 老师答:不一样,一个是补丁程序,另一个是服务器操作系统. 学生不解:R2如果是操作系统, ...

  8. [Web前端系列之_Firebug_00_序]

    [因] 以前一直把Firebug当做参考他人网站界面结构的工具,看看css,js等,没有深挖.这段时间在项目组里主要充当前台工作,也有空,就准备把前端给精通点,firebug作为入手点. [参考资料] ...

  9. python练习程序(c100经典例1)

    题目: 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? num=0; for i in range(1,5): for j in range(1,5): for k in ...

  10. Hibernate-Criteria Queries

    1.实例 接口org.hibernate.Criteria针对特殊持久层类进行查询,Sesion是Criteria的工厂: Criteria crit = sess.createCriteria(Ca ...