前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0721-5.10.0-CM接管rpm方式安装的无CM的CDH集群

0721-5.10.0-CM接管rpm方式安装的无CM的CDH集群

作者头像
Fayson
发布2019-11-06 10:25:55
1.1K0
发布2019-11-06 10:25:55
举报
文章被收录于专栏:Hadoop实操Hadoop实操

文档编写目的

在部署CDH集群时,可能使用tar包或者rpm包的方式安装的集群,但是在部署时并没有采用Cloudera Manager来对集群进行管理,在使用过程中,集群数据量日益增长,组件慢慢变多,因此想将现有的集群使用Cloudera Manager来进行管理,本文档将介绍如何使用Cloudera Manager来接管一个无Cloudera Manager管理的CDH集群。

测试环境:

· CM和CDH版本为5.10.0

· 操作系统版本为RedHat7.2

· 使用root用户进行操作

· 集群一共三个节点

CDH集群以rpm方式已经安装的组件如下:

· Zookeeper

· HDFS

· Yarn

· Spark

· Hive

· Oozie

· Impala

· Hue

前置准备

在安装前需要做一些前置准备,如下:

1.修改hosts文件以及hostname

2.禁用SELinux

3.关闭防火墙

4.设置交换分区

5.关闭透明大页面

6.Ntp时钟同步

7.在MySQL元数据库中创建好Cloudera Manager所需的数据库和用户,因为其他服务已经以rpm的方式安装,数据库和用户也已经创建,所以此处只创建Cloudera Manager相关的库和用户

代码语言:javascript
复制
create database cm default character set utf8;  
CREATE USER 'cm'@'%' IDENTIFIED BY 'password';   
GRANT ALL PRIVILEGES ON cm.* TO 'cm'@'%';   
FLUSH PRIVILEGES;  
create database am default character set utf8;   
CREATE USER 'am'@'%' IDENTIFIED BY 'password';    
GRANT ALL PRIVILEGES ON am.* TO 'am'@'%';    
FLUSH PRIVILEGES;      
create database rm default character set utf8;   
CREATE USER 'rm'@'%' IDENTIFIED BY 'password';    
GRANT ALL PRIVILEGES ON rm.* TO 'rm'@'%';    
FLUSH PRIVILEGES;

8.在CM节点安装httpd服务并启动

9.下载好CDH5.10.0的parcel包以及CM5.10.0的rpm包

10.准备好cm的yum源

11.为rpm方式安装的服务设置chkconfig off

Where

Command

NameNode

$ sudo chkconfig hadoop-hdfs-namenode off

ResourceManager

$ sudo chkconfig hadoop-yarn-resourcemanager off

Secondary NameNode (if used)

$ sudo chkconfig hadoop-hdfs-secondarynamenode off

NodeManager

$ sudo chkconfig hadoop-yarn-nodemanager off

DataNode

$ sudo chkconfig hadoop-hdfs-datanode off

MapReduce JobHistory node

$ sudo chkconfig hadoop-mapreduce-historyserver off

Hue server

$ sudo chkconfig hue off

Oozie server

$ sudo chkconfig oozie off

Hive Metastore server

$ sudo chkconfig hive-metastore off

HiveServer2

$ sudo chkconfig hive-server2 off

Zookeeper server

$ sudo chkconfig zookeeper-server off

Spark

$ sudo chkconfig spark-history-server off

12.备份配置文件

13.在安装CM前,在HDFS和Hive中准备一些数据,用作接管完成后进行对比

  • 上传两个tar包到HDFS上用作测试数据
  • 在Hive中创建两个库,每个库创建一张表,并分别向两张表中导入数据

创建库test1、test2

在test1中创建表web_returns

向web_returns导入数据

查看web_returns中的数据

在test2中创建分区表test_partition

向表test_partition中导入数据

查看test_partition中的数据

安装Cloudera Manager

1.安装cloudera-manager-server

代码语言:javascript
复制
yum -y install cloudera-manager-server

2.为CM初始化数据库

代码语言:javascript
复制
/usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm password

3.启动Cloudera Manager Server

代码语言:javascript
复制
systemctl start cloudera-scm-server

4.访问Cloudera Manager UI,用户名密码均为admin

5.接受用户许可条款

6.选择60天试用版

7.版本信息

8.添加三个节点的主机

9.选择存储库

10.安装jdk

11.单用户模式,这里不选择

12.输入服务器的密码

13.安装cloudera-scm-agent

14.分发parcel

15.检查主机正确性

出现的两个警告是由于使用rpm的方式安装了CDH集群,并不影响

16.安装服务页面,在此处不选择添加任何服务,在后面再进行服务的添加

17.点击左上角,回到CM主页

18.点击右上角的“添加 Cloudera Management Service”,输入创建的数据库信息

19.启动Cloudera Management Service

20. Cloudera Management Service添加成功

服务状态检查

1.执行HDFS fsck来检查HDFS状态,确保HDFS服务是正常的

·Under-replicated blocks应该为0

·Mis-replicated blocks应该为0

·Corrupt blocks应该为0

代码语言:javascript
复制
sudo -u hdfs hadoop fsck /

2.运行MR示例程序以及Spark来确保Yarn和Spark服务正常

运行MR示例程序

访问Spark服务

3.列出所有节点rpm安装的CDH服务的角色

·cdh178.macro.com

ZooKeeper Server、NameNode、SecondaryNameNode、DataNode、JobHistory Server、ResourceManager、NodeManager、History Server、Hive Metastore Server、HiveServer2、Oozie Server、Impala Catalog Server、Impala StateStore、Impala Daemon、Hue Server

·cdh177.macro.com、cdh176.macro.com

ZooKeeper Server、DataNode、NodeManager、HiveServer2、Impala Daemon

停止所有服务并进行备份

1.进入HDFS的安全模式

代码语言:javascript
复制
sudo -u hdfs hadoop dfsadmin -safemode enter

2.保存HDFS名称空间

代码语言:javascript
复制
sudo -u hdfs hadoop dfsadmin -saveNamespace

3.查看HDFS当前的目录,记录HDFS的当前的数据信息

代码语言:javascript
复制
hadoop fs -ls /
hadoop fs -ls /user
代码语言:javascript
复制
sudo -u hdfs hadoop fsck /

Total Size

1927512606 B

Total dirs

72

Total files

689

Total blocks

698

4.停止HDFS服务

5.停止Zookeeper服务

6.在停止HDFS服务后确保in_use.lock文件已经被移除

7.备份HDFS的数据

8.备份CDH服务的元数据库

在Cloudera Manager上添加CDH服务

逐个添加所有服务,需要注意的是服务之间有依赖关系,推荐按照下列顺序进行服务的添加:

1)Zookeeper

2)HDFS

3)Yarn

4)Spark

5)Hive

6)Impala

7)Oozie

8)Hue

一般来说添加服务的步骤几乎是相同的:

1)在Cloudera Manager上添加服务

2)角色的分配与之前保持一致

3)应用所有配置文件

4)启动服务

6.1添加Zookeeper

1.从CM添加Zookeeper服务

2.选择Zookeeper服务

3.选择ZK Server,与之前安装时一致

4.设置与之前相同的目录

5.不点击继续,直接点击左上角回到CM主页,进入Zookeeper的配置

6.应用之前的配置,保持与之前一致

Server ID保持与之前安装时设置的一致

修改/var/lib/zookeeper/version-2的属主为zookeeper

设置堆栈大小

保证设置的ZK log目录和Heap Dump目录空间足够,如果默认的目录空间不够,则进行修改

7.启动Zookeeper

6.2 添加HDFS

1.从CM上添加HDFS

2.选择角色,保持与之前的安装一致

3.保持目录与之前一致

4.删除/data0/dfs/nn目录下NN的元数据,启动HDFS

5.将之前备份的NameNode元数据拷贝回/data0/dfs/nn目录

6.验证HDFS的数据与之前是否一致

列出HDFS的目录,与之前一致,能够看到最开始上传用作测试的两个tar包

使用fsck命令查看,数据与之前一致

6.3添加Yarn

1.在CM上添加Yarn服务

2.选择角色,保持与安装的一致

3.设置Yarn的目录与之前安装的一致

4.启动Yarn

5.Yarn启动成功

6.运行MR示例程序进行测试,示例程序运行成功

6.4添加Spark

1.从CM上添加Spark,选择Spark而不是Spark(Standalone)

2.保持角色与之前一致,Gateway选择所有节点

3.启动Spark

4. Spark安装成功

重启相关的服务

重新部署客户端配置

重启成功

6.5添加Hive

1.在CM上添加Hive服务

2.为Hive选择依赖关系

3.选择角色,与之前的安装保持一致

4.设置数据库

5.Hive的目录,确保与之前安装配置的一致

6.启动Hive

7.Hive安装成功

8.验证Hive的数据与之前是否一致

查看库,可以看到之前创建的两个库test1、test2

查看库test1,可以看到之前创建的表web_returns

查看表web_returns的数据,与之前一致

查看库test2,可以看到之前创建的表test_partition

查看表test_partition的数据,与之前一致

6.6添加Impala

1.在CM上添加Impala

2.为Impala选择角色,与之前的安装保持一致

3.为Impala指定目录

4.创建Impala用户目录

5.Impala安装成功

6.启动Impala

7.测试Impala使用

6.7添加Oozie

1.在CM上添加Oozie服务

2.为Oozie服务选择依赖关系

3.选择角色,保持与之前一致

4.设置数据库

5.指定Oozie共享库目录和数据目录,与之前的安装保持一致

6.启动Oozie服务

7.Oozie服务安装成功

6.8添加Hue

1.在CM上添加Hue

2.为Hue选择依赖关系

3.选择角色,与之前安装时一致

4.设置数据库

5.启动Hue

6.Hue服务添加成功

7.访问Hue

8.测试Hue的使用

使用Hive

使用Impala

至此CM接管完成,CM主页如下图所示:

总结

1.使用CM接管未受管的CDH集群,在添加服务时需要注意的是,要保持角色与之前安装时的角色一致,数据目录也需要指定成之前安装时的数据目录,以及一些配置也需要在CM上修改,与支持一致,保证CM接管后服务都与之前一样正常运行。

2.在接管之前需要对服务的一些数据和配置文件进行备份,在后面CM安装服务时需要用到。

3.在接管之前需要对服务进行检查,对数据进行记录,在接管后对数据进行对比,比如HDFS以及Hive,本文档在接管后,HDFS以及Hive中数据都与之前一致。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档