1. zookeeper作用

    ZooKeepr在Hadoop中的应用主要有:

    1.1 HDFS中NameNode的HA和YARN中ResourceManager的HA。

    1.2 存储RMStateStore状态信息

  2. 迁移原因

    原来的方案是考虑到namenode占用cpu资源小,为了提高设备利用率,把zookeeper和namenode搭建在同一台设备上。经过测试发现namenode会缓存大量的数据到内存中,导致zookeeper相应时间变长,namenode和resourcemanager因为连接zookeeper超时而频繁切换。进过讨论,将zookeeper迁移到datanode     节点上。

  3. 迁移步骤

    3.1 备份原zookeeper集群设备中的zookeeper配置,hadoop集群两个namenode节点的配置

cp -r zookeeper-3.4./conf zookeeper-3.4./conf.bak
cp -r hadoop-2.6./etc/hadoop hadoop-2.6./etc/hadoop.bak   

    3.2 拷贝zookeeper安装包到选择好的三个datanode设备

scp zookeeper-3.4..tar.gz datanode1:/home/hadoop
scp zookeeper-3.4..tar.gz datanode2:/home/hadoop
scp zookeeper-3.4..tar.gz datanode3:/home/hadoop

    3.3 修改配置文件,启动zookeeper,检查zookeeper状态

scp namenode:/home/hadoop/zookeeper-3.4./conf/zoo.cfg datanode1:/home/hadoop/zookeer-3.4./conf
scp namenode:/home/hadoop/zookeeper-3.4./conf/zoo.cfg datanode3:/home/hadoop/zookeer-3.4./conf
scp namenode:/home/hadoop/zookeeper-3.4./conf/zoo.cfg datanode3:/home/hadoop/zookeer-3.4./conf
#修改配置文件中的ip地址为新zookeeper集群的设备ip
vi zoo.cfg
server.=datanode1::
server.=datanode2::
server.=datanode3::
#建myid文件,每个zookeeper的my.id要和配置文件中的server.id保持一致
vi myid vi myid vi myid #启动zookeeper
bin/zkServer.sh start
#zookeeper全部启动完成后,查看zookeeper状态
bin/zkServer.sh status

    3.4 修改hadoop相关配置文件,重启resourcemanger

      修改hdfs-site.xml,core-site.xml,yarn-site.xml配置文件中的zookeeper地址。

cd /home/hadoop/hadoop-2.6.
sbin/yarn-demon.sh stop resourcemanger
sbin/yarn-demon.sh start resourcemanger

    3.5 停zkfc,namenode应用 

sbin/hadoop-demon.sh stop zkfc
sbin/hadoop-demon.sh stop namenode  

    3.6 格式化zkfc,启动namenode,zkfc

bin/hdfs zkfc –formatZK
sbin/hadoop-demon.sh start zkfc
sbin/hadoop-demon.sh start namenode

    3.7 测试hadoop和yarn可用性

#查看namenode:50070和namenode:8088webui是否正常
#向hdfs中上传测试文件,测试hdfs可用性
hdfs dfs -put test.txt /user/
#执行wordcount测试yarn可用性
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6..jar wordcount /user/test.txt /user/output

  4. 总结

    zookeeper对网络和磁盘及内存响应要求较高,不能和网络和磁盘及内存使用率高的应用共用主机。最好使用单独的设备。

hadoop集群zookeeper迁移的更多相关文章

  1. 不同hadoop集群之间迁移hive数据

    #!/bin/bash #set -x DB=$1 #获取hive表定义 ret=$(hive -e 'use ${DB};show tables;'|grep -v _es|grep -v _hb| ...

  2. 基于Hadoop集群的HBase集群的配置

    一  Hadoop集群部署 hadoop配置 二 Zookeeper集群部署 zookeeper配置 三  Hbase集群部署 1.配置hbase-env.sh HBASE_MANAGES_ZK:用来 ...

  3. 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下

    阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...

  4. (转)hadoop 集群间数据迁移

    hadoop集群之间有时候需要将数据进行迁移,如将一些保存的过期文档放置在一个小集群中进行保存. 使用的是社区提供的功能,distcp.用法非常简单: hadoop distcp hdfs://nn1 ...

  5. hadoop集群环境搭建之zookeeper集群的安装部署

    关于hadoop集群搭建有一些准备工作要做,具体请参照hadoop集群环境搭建准备工作 (我成功的按照这个步骤部署成功了,经实际验证,该方法可行) 一.安装zookeeper 1 将zookeeper ...

  6. 流式大数据计算实践(2)----Hadoop集群和Zookeeper

    一.前言 1.上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二.搭建Hadoop集群 1.根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core ...

  7. 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  8. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  9. Hadoop集群搭建-02安装配置Zookeeper

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

随机推荐

  1. Selenium3 + Python3自动化测试系列九——cookie操作

    cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...

  2. session一致性的解决方案

    更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文,这个相 ...

  3. UVA P12101 【Prime Path】

    题库 :UVA 题号 :12101 题目 :Prime Path link :https://www.luogu.org/problemnew/show/UVA12101

  4. tomcat部署项目,war包问题

    tomcat部署项目后,war包是否能删除 答案是能删除的,前提是先停掉tomcat后才能删除 1)在tomcat中webapps目录下上传war包后,对war包自动解压 2)war包不能在tomca ...

  5. 牛客网暑期ACM多校训练营(第二场) 题解 A run 递推 dp

    链接:https://www.nowcoder.com/acm/contest/140/A来源:牛客网 White Cloud is exercising in the playground. Whi ...

  6. JAVA - 一个for循环实现99乘法表

    public class Test03 {public static void main(String[] args) { int lie = 1; for (int hang = 1; hang&l ...

  7. 第四篇 跟踪过程以及openvslam中的相关实现详解

    在成功初始化之后,会创建地图以及局部地图. 创建地图 在初始化正常过后,紧接着会创建地图 // src/openvslam/module/initializer.cc:67 // create new ...

  8. Loadrunner 11 的安装

    安装包可以直接在我的百度网盘下载,这里用的是LR11的版本.电脑系统是win7 链接: https://pan.baidu.com/s/1OApfUemG3oVjLUE79qaikw 提取码: 7n3 ...

  9. Java 多线程实现接口Runnable和继承Thread区别(转)

    Java 多线程实现接口Runnable和继承Thread区别 Java中有两种实现多线程的方式.一是直接继承Thread类,二是实现Runnable接口.那么这两种实现多线程的方式在应用上有什么区别 ...

  10. golang时间转换

    1.datetime转换成时间字符串 package main import ( "fmt" "reflect" "time" ) func ...