文档编写目的
在部署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相关的库和用户
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
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
yum -y install cloudera-manager-server
2.为CM初始化数据库
/usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm password
3.启动Cloudera Manager Server
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
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的安全模式
sudo -u hdfs hadoop dfsadmin -safemode enter
2.保存HDFS名称空间
sudo -u hdfs hadoop dfsadmin -saveNamespace
3.查看HDFS当前的目录,记录HDFS的当前的数据信息
hadoop fs -ls /
hadoop fs -ls /user
sudo -u hdfs hadoop fsck /
4.停止HDFS服务
5.停止Zookeeper服务
6.在停止HDFS服务后确保in_use.lock文件已经被移除
7.备份HDFS的数据
8.备份CDH服务的元数据库
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1340523.html