0793-5.16.2-如何迁移单个Zookeeper实例
文档编写目的
随着集群规模的不断扩大,在对集群进行调整优化时。时常会考虑对集群的角色进行优化调整,这就会涉及到服务角色的迁移。本篇文章主要介绍如何将Zookeeper服务的单个实例从一个节点迁移到其他节点。
- 测试环境:
1.Redhat7.6
2.采用root用户操作
3.CM和CDH版本为5.16.2
Zookeeper角色迁移计划
1.集群Zookeeper服务角色实例分配情况
2.由于角色规划不合理,需要将cdp1.hadoop.com节点的Zookeeper实例实例迁移到cdp4.hadoop.com节点上
服务 |
源地址 |
目标地址 |
---|---|---|
Zookeeper |
cdp1.hadoop.com |
cdp4.hadoop.com |
Zookeeper角色迁移
1.通过CM查看集群ZooKeeper中Server数据目录的位置
2.停止cdp1上的ZK server服务
3.在cdp4节点创建一个新的目录,并把cdp1节点的目录的数据迁移到cdp4节点新目录
[root@cdp4 ~]# mkdir /data/ZK
[root@cdp4 ~]#
将cdp1节点的/data/ZK迁移到cdp4的/data/ZK
注意和原目录比对一下目录权限是否有变化
4.在CM界面删除cdp1上的ZK server
5.在cdp4上添加一个ZK server角色
启动cdp4 上的ZK server
ZooKeeper启动成功后,将cdp2和cdp3两个节点的ZK服务重启。
注意:重启cdh02和cdh03节点的ZK服务时一个个重启,确保ZK服务正常后,再操作下一个。
实例运行正常,leader选举正常
最后部署客户端配置并重启相关服务
集群服务运行正常
总结
1.Zookeeper服务角色迁移,其实就是将待迁移节点的ZK服务停止并删除并将待迁移节点的数据目录打包拷贝至新节点上,同时在新节点上添加一个ZK服务即可
2.在迁移ZK服务的过程中,需要一个节点一个节点的操作,操作完一个节点后,需要重启滚动重启ZK服务,确保服务的选举没有问题后再进行操作
3.移动ZooKeeper的数据目录到新的节点的目录时,要注意目录的用户属组和权限正确
4.ZK服务实例的迁移会涉及到HDFS、HBase等服务的重启,同时也需要考虑到应用层面的变更(如:Kafka、HBase等服务相关应用)
- java array to list
- Python之Dijango的“坑” hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: 'utf-8' cod
- nGrinder 简易使用教程
- UI设计高效学习网站&工具,来自学长的收藏夹哦
- 安装git出现templates not found的问题
- 时间戳 时间
- jenkins 设置 gitlab web hooks
- 测试流程?项目管理流程?
- 学web前端开发写给新手的建议,超实用!
- 价值22万的5字母域名sanwa.com被启用
- Django admin 一些有用的设置
- mysql @value := 用法
- css样式—字体垂直、水平居中
- maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 面试题系列第2篇:new String()创建几个对象?有你不知道的
- spring之整合struts2
- django-URL之include函数(五)
- springmvc之使用ModelAttribute避免不允许被修改的值更新时为空
- 【colab pytorch】使用tensorboard可视化
- django-URL别名的作用(六)
- springmvc之如何确定目标方法Pojo类型的参数?
- 【colab pytorch】使用tensorboardcolab可视化
- 实用,完整的HTTP cookie指南
- django-URL之从URL中获取关键字(七)
- springmvc之使用POJO作为参数
- 【猫狗数据集】利用tensorboard可视化训练和测试过程
- springmvc之视图解析流程
- 【猫狗数据集】从命令行接收参数
- django-URL重定向(八)