从零搭建生产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相关推荐

  1. 群晖docker中mysql 修改表名区分大小写问题

    关于mysql表名区分大小写的问题 序. mysql表名是否区分大小写是通过lower_case_table_names参数来设置,登录mysql后可通过show Variables like '%t ...

  2. Hadoop学习笔记之修改主机名IP地址

    1.将虚拟机的主机名修改为hadoop100 2.vi /etc/hosts 3.按键盘上的i键 4. 5.按键盘上的esc键,然后:wq,保存并退出. 修改虚拟机的ip地址 命令: vi /etc/ ...

  3. Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

    ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...

  4. Hadoop安装教程_分布式集群

    安装前的准备 伪分布式的设置 集群的规划 集群的初始设置 网络配置 SSH无密码登陆 java及apache环境设置 安装流程 主机的安装 集群的安装 效果与验证 安装注意 模式切换 参考资料 安装前 ...

  5. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  6. Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建

    Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建 一.虚拟机安装Centos7 1.准备工作 2.centos7安装过程 3.关闭防火墙(关键) 二.安装jdk ...

  7. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  8. 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 ...

  9. 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 ...

最新文章

  1. 史上最全的数据库面试题,不看后悔篇!
  2. c语言程序设计电大作业,电大C语言程序设计第1234次作业及答案
  3. python与excel的差别-python3与Excel的完美结合
  4. selectpselect/pollppoll/epoll
  5. Web 页面请求过程
  6. 10个最好的 jQuery 视频插件(转)
  7. 无法加载安装程序库 wbemupgd.dll
  8. css盒模型和元素绘制
  9. hbase异步客户端连接-非阻塞并发模式实验记录(还没弄完)
  10. 让博客园博客中的图片支持fancybox浏览
  11. Android View滚动、拉伸到顶/底部弹性回弹复位
  12. android 上下滑动重影
  13. ActionItemBadge:在actionbar上显示badge数字提示
  14. php.ini – 配置文件详解
  15. 2021最新大厂面试题集锦
  16. php条件语句中大括号必须,PHP条件,括号需要?
  17. 松本行弘的程序世界读书笔记
  18. Makefile与前缀后缀相关函数suffix、basename、addsuffix、addprefix
  19. kafka topic管理
  20. waterfall model

热门文章

  1. socket UDP TCP 的一些用法
  2. 淘汰纸质巡检,智能化巡检更高效
  3. 介绍自己快手号粉丝破十万的历程
  4. 温度转换(c++基础)
  5. 使用过得sql语句展示--会不断更新完善
  6. 华为的操作系统鸿蒙多久出来,华为OS操作系统“鸿蒙”什么时候上市?华为OS操作系统有什么用处?...
  7. 四年级计算机上册说课ppt,小学信息技术人教版四年级上册第5课《演示文稿巧播放》公开课优质课教案比赛讲课获奖教案...
  8. k8s 创建UserAccount
  9. DSSM双塔模型损失部分详解
  10. 语音交友app开发权限系统,全面的设计方案