从零搭建生产Hadoop集群(五)——CDH集群修改主机名与IP
从零搭建生产Hadoop集群(五)——CDH集群修改主机名与IP
- 一、概述
- 二、完整步骤
- 1.官网推荐步骤:
- (1)验证下SSL/TLS认证是否所有服务都有配备,确认创建新的SSL/TLS认证。
- (2)导出Cloudera Manager配置
- (3)关闭集群所有服务
- (4)关闭Cloudera Managerment服务
- (5)关闭Cloudera Manager Server
- (6)关闭需要改hostname的服务器的Cloudera Manager Agent
- (7)备份Cloudera Manager Server数据库、Hive元数据库等
- (8)更新hostname和principals
- (9)如果重命名hosts的服务器中有namenode,而且已经启用了高可用,则需要重新配置ZooKeeper Failover Controller znodes
- (10)更新Hive Metastore
- (11)更新所有服务配置中的数据库hostname(修改过hostname的)
- (12)启动所有CM管理监控服务和集群服务
- (13)部署客户端配置
- 2.实际测试
- (1)更改hostname服务器包含namenode等主节点的情况
- (2)更改hostname服务器不包含namenode等主节点的情况
一、概述
在一个已经部署完成并且正在运行的由Cloudera Manager管理的CDH集群中,若需要修改全部或者部分主机的域名,是比较麻烦的事。本文将讲解其具体的流程。
二、完整步骤
1.官网推荐步骤:
(1)验证下SSL/TLS认证是否所有服务都有配备,确认创建新的SSL/TLS认证。
(2)导出Cloudera Manager配置
可使用以下方法导出:
- 根据这个url获取配置:http://[cm_hostname]:7180/api/[api_version]/cm/deployment。
- curl -u admin:adminhttp://[cm_hostname]:7180/api/[api_version]/cm/deployment > cme-cm-export.json
(3)关闭集群所有服务
(4)关闭Cloudera Managerment服务
(5)关闭Cloudera Manager Server
/etc/init.d/cloudera-scm-server stop
(6)关闭需要改hostname的服务器的Cloudera Manager Agent
/etc/init.d/cloudera-scm-agent stop
(7)备份Cloudera Manager Server数据库、Hive元数据库等
使用mysqldump或者pg_dump等命令
(8)更新hostname和principals
1.更新目标服务器的hostname,包括/etc/hosts、dns、/etc/sysconfig/network、hostname等,确保已删除旧的hostname;
2.如果需要更改Cloudera Manager Server的hostname,则需要另外在所有agent的/etc/cloudera-scm-agent/config.ini文件更新CM Server的hostname
3.如果集群有启用kerberos,则需要做以下步骤:
(1)在Cloudera Manager 数据库设置merged_keytab值:update ROLES set MERGED_KEYTAB=NULL;
(2)从KDC数据库删除旧hostname cluster service principals。在kadmin.local交互界面中使用delprinc
(3)启动Cloudera Manager数据库与Cloudera Manager Server;
(4)启动重命名hosts的CM agent
(5)在CM Web页面重新生成新hostname的principals
如果集群没有启用kerberos,则需要做以下步骤:
(1)启动Cloudera Manager数据库与Cloudera Manager Server;
(2)启动重命名hosts的CM agent,这时查看CM Web页面的主机页面,可以看到主机名称已经更新为最新状态,从CM数据库中也可以看出来。
(9)如果重命名hosts的服务器中有namenode,而且已经启用了高可用,则需要重新配置ZooKeeper Failover Controller znodes
1.启动zookeeper 集群
注意:此时所有其他服务,特别是HDFS/ZKFC,不能处于运行状态
2.在某一台zookeeper服务器,执行zookeeper-client
(1)若集群没有启用kerberos,则直接跳过第一步;若集群配置了kerberos,配置zk认证如下:
- 点击“HDFS”服务->点击“实例”页面->点击“Failover Controller”角色->点击“进程”页面;
- 在“hdfs/hdfs.sh [“zkfc”]”程序中,点击“显示”,查看“core-site.xml”,查看ha.zookeeper.auth属性,获取“digest:hdfs-fcs:”后为密码,如TEbW2bgoODa96rO3ZTn7ND5fSOGx0h;
- 执行addauth:addauth digest hdfs-fcs:TEbW2bgoODa96rO3ZTn7ND5fS
(2)验证HA znode是否存在:ls /hadoop-ha
(3)删除HDFS znode:rmr /hadoop-ha/nameservice1
(4)如果没有运行JobTracker的高可用,则删除HA znode:rmr /hadoop-ha
3.点击”HDFS”服务->点击”实例”tab->选择“操作”->点击“在zookeeper中初始化HA状态”
(10)更新Hive Metastore
1.备份元数据库
2.点击“Hive”服务->点击“操作”->点击“更新Hive Metastore Namenodes”
(11)更新所有服务配置中的数据库hostname(修改过hostname的)
包括Cloudera Management Service roles (Reports Manager, Activity Monitor, Navigator Audit and Metadata Server) 和集群服务如 Hue、Hive等。若直接指定 IP的,忽略此步。
(12)启动所有CM管理监控服务和集群服务
(13)部署客户端配置
2.实际测试
官网的推荐步骤是可以完成这个功能,不过通过实际测试,可以使用简洁有效的步骤。
(1)更改hostname服务器包含namenode等主节点的情况
1)停止集群所有服务器,除了CM管理与监控服务
2)备份所有数据库
3)修改需要更改hostname 的服务器的/etc/sysconfig/network、hostname,更新所有服务器的/etc/hosts文件
4)重启需要更改hostname 的服务器的CM Agent
重启之后,CM Web页面应该就可以显示出更改后的主机名
5)如果重命名hosts的服务器中有namenode,而且已经启用了高可用,参考上面第九、十步
6)更新所有服务配置中的数据库hostname(修改过hostname的),若直接指定 IP的,忽略此步
7)启动所有集群服务
8)部署客户端配置
(2)更改hostname服务器不包含namenode等主节点的情况
若修改的仅仅是一台datanode的主机名,还需要这么大费周章吗?并不需要。数据节点更改域名步骤:
1)关闭需要更改域名的服务器上的相关进程(datanode、nodemanager、regionserver等)
2)修改需要更改域名的服务器的hostname(hostname、/etc/sysconfig/network)及所有服务器的/etc/hosts文件
3)重启需要更改域名的服务器的CM Agent,顺利的话会在CM Web页面上看到更新后的主机名
4)启动关闭的datanode进程,可以看到datanode重新向NN注册了,并且其上的block不会发生迁移
5)启动关闭的nodemanager、regionserver等进程,一般均可正常运行。
6)部署客户端配置
若修改服务器的IP,步骤应该差不多。限于没有可测试环境,暂不测试。
欢迎关注我的微信公众号
从零搭建生产Hadoop集群(五)——CDH集群修改主机名与IP相关推荐
- 群晖docker中mysql 修改表名区分大小写问题
关于mysql表名区分大小写的问题 序. mysql表名是否区分大小写是通过lower_case_table_names参数来设置,登录mysql后可通过show Variables like '%t ...
- Hadoop学习笔记之修改主机名IP地址
1.将虚拟机的主机名修改为hadoop100 2.vi /etc/hosts 3.按键盘上的i键 4. 5.按键盘上的esc键,然后:wq,保存并退出. 修改虚拟机的ip地址 命令: vi /etc/ ...
- Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用
ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...
- Hadoop安装教程_分布式集群
安装前的准备 伪分布式的设置 集群的规划 集群的初始设置 网络配置 SSH无密码登陆 java及apache环境设置 安装流程 主机的安装 集群的安装 效果与验证 安装注意 模式切换 参考资料 安装前 ...
- 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍
大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...
- Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建
Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建 一.虚拟机安装Centos7 1.准备工作 2.centos7安装过程 3.关闭防火墙(关键) 二.安装jdk ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- CentOS 7上搭建Spark 3.0.1 + Hadoop 3.2.1分布式集群
CentOS 7上搭建Spark3.0.1+ Hadoop3.2.1分布式集群 VMWare 安装CentOS 7 使用Xshell连接虚拟机 集群设置 安装JDK 1.8 SSH 免密登陆 安装ha ...
- Hadoop 2.7.2 分布式集群搭建-操作指南(不断更新)
文章目录 1.Hadoop运行环境的搭建 1.1 虚拟机环境准备 1.1.1 克隆虚拟机 1.1.2 克隆完成后的配置 1.1.2.1 修改克隆后虚拟机的ip 1.1.2.2 修改IP地址 1.1.2 ...
最新文章
- 史上最全的数据库面试题,不看后悔篇!
- c语言程序设计电大作业,电大C语言程序设计第1234次作业及答案
- python与excel的差别-python3与Excel的完美结合
- selectpselect/pollppoll/epoll
- Web 页面请求过程
- 10个最好的 jQuery 视频插件(转)
- 无法加载安装程序库 wbemupgd.dll
- css盒模型和元素绘制
- hbase异步客户端连接-非阻塞并发模式实验记录(还没弄完)
- 让博客园博客中的图片支持fancybox浏览
- Android View滚动、拉伸到顶/底部弹性回弹复位
- android 上下滑动重影
- ActionItemBadge:在actionbar上显示badge数字提示
- php.ini – 配置文件详解
- 2021最新大厂面试题集锦
- php条件语句中大括号必须,PHP条件,括号需要?
- 松本行弘的程序世界读书笔记
- Makefile与前缀后缀相关函数suffix、basename、addsuffix、addprefix
- kafka topic管理
- waterfall model
热门文章
- socket UDP TCP 的一些用法
- 淘汰纸质巡检,智能化巡检更高效
- 介绍自己快手号粉丝破十万的历程
- 温度转换(c++基础)
- 使用过得sql语句展示--会不断更新完善
- 华为的操作系统鸿蒙多久出来,华为OS操作系统“鸿蒙”什么时候上市?华为OS操作系统有什么用处?...
- 四年级计算机上册说课ppt,小学信息技术人教版四年级上册第5课《演示文稿巧播放》公开课优质课教案比赛讲课获奖教案...
- k8s 创建UserAccount
- DSSM双塔模型损失部分详解
- 语音交友app开发权限系统,全面的设计方案