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. 从0开始学Git——Git的常见操作

    Git常用命令 创建Git版本库 git init [目录]#创建目录版本库, 不写的话是当前目录 该命令会在目录中创建一个名为.git的隐藏目录 文件提交 添加文件: git add 文件名 #添加 ...

  2. Nginx + fastcgi + php 的原理与关系

    CGI:Common Gateway Interface 公共网关接口,web服务器和脚本语言通信的一个标准.接口.协议[协议] FastCGI:CGI协议的升级版[协议] PHP-CGI: 实现了C ...

  3. C++11——智能指针

    1. 介绍 一般一个程序在内存中可以大体划分为三部分——静态内存(局部的static对象.类static数据成员以及所有定义在函数或者类之外的变量).栈内存(保存和定义在函数或者类内部的变量)和动态内 ...

  4. 非域环境下SQL Server搭建Mirror(镜像)的详细步骤

    1.测试验证环境 服务器角色 机器名 IP SQL Server Ver 主体服务器 WIN-TestDB4O 172.83.XXX.XXX SQL Server 2012 - 11.0.5058.0 ...

  5. 信道估计系列之LS

    在无线通信系统中,系统的性能主要受到无线信道的制约.基站和接收机之间的传播路径复杂多变,从简单的视距传输到受障碍物反射.折射.散射影响的传播.在无线传输环境中,接收信号会存在多径时延,时间选择性衰落和 ...

  6. 各IDE代码自用开头模板

    Pycharm #!/usr/bin/env python # -*- coding: utf-8 -*- # @version : 1.0 # @Time : ${DATE} ${TIME} # @ ...

  7. window下 局域网内使用mysql,mysql 开启远程访问权限

    一.window 10 开启3306端口 1.按win键选择设置 2.搜索防火墙 3.选择高级设置 3.右键入站规则->新建规则 4.按照提示,规则类型选择端口,应用于tcp,特定本地端口输入3 ...

  8. Joda学习笔记

       Joda Time简介 日常业务开发中,经常需要处理日期.比如:获取当前一个月之内的开播记录,获取十分钟之内的红包记录等等.我们之前是用java.util.Calendar实现的,直到我看到占小 ...

  9. 一 下载Java的JDK及配置环境变量

    1.下载JDK地址 https://www.oracle.com/technetwork/java/javase/downloads/index.html 2.点击download 3.安装JDK 我 ...

  10. in和exists过程对比

    两者执行流程完全不一样. in的过程 select * from tableA a where a.id in (select b.a_id from tableB b); 1)首先子查询,查询B表中 ...