专栏首页Hadoop实操0724-6.2.0-CM接管rpm方式安装的无CM的CDH集群

0724-6.2.0-CM接管rpm方式安装的无CM的CDH集群

文档编写目的

在之前的文档中介绍了如何用CM接管无CM以rpm方式安装的CDH5.10.0,本文档同样会介绍如何使用Cloudera Manager来接管一个无Cloudera Manager管理的CDH集群,只不过这次的版本是CDH6.2.0。

测试环境:

  • CM和CDH版本为6.2.0
  • 操作系统版本为RedHat7.2
  • 使用root用户进行操作
  • 集群一共三个节点

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

  • Zookeeper
  • HDFS
  • Yarn
  • Spark
  • Hive
  • Oozie
  • Impala
  • Hue

前置准备

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

1.修改hosts文件以及hostname

2.禁用SELinux

3.关闭防火墙

4.设置交换分区swappiness为1

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.下载好CDH6.2.0的parcel包以及CM6.2.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

Impala server

$ sudo chkconfig impala-server off

Impala Catalog

$ sudo chkconfig impala-catalog off

Impala State Store

$ sudo chkconfig impala-state-store off

12.备份配置文件

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

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

创建库c6_test1、c6_test2

在c6_test1中创建表web_returns

向web_returns导入数据

查看web_returns中的数据

在c6_test2中创建分区表test_partition

向表test_partition中导入数据

查看test_partition中的数据

安装Cloudera Manager

1.安装cloudera-manager-server

yum -y install cloudera-manager-server

2.为CM初始化数据库

/opt/cloudera/cm/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.同意许可条款

7.选择60天试用版

8.安装欢迎页

9.输入集群名称

10.添加三个节点的主机

11.选择存储库

12.安装jdk

13.输入服务器的密码

14.安装cloudera-scm-agent

15.分发parcel

16.检查主机正确性

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

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

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

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

20.启动Cloudera Management Service

21.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服务的角色

  • cdh1.hadoop.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
  • cdh2.hadoop.com、cdh3.hadoop.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 /

Total Size

2818152345 B

Total dirs

63

Total files

1766

Total blocks

1775

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的目录,与之前一致,能够看到最开始上传用作测试的三个文件

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

6.3 添加Yarn

1.在CM上添加Yarn服务

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

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

4.启动Yarn

5.Yarn启动成功

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

6.4 添加Spark

1.从CM上添加Spark

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

3.启动Spark

4.Spark安装成功

重启相关的服务

重新部署客户端配置

重启成功

6.5 添加Hive

1.在CM上添加Hive服务

2.为Hive选择依赖关系

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

4.设置数据库

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

6.启动Hive

7.Hive安装成功

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

查看库,可以看到之前创建的两个库成c6_test1、c6_test2

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

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

查看库c6_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.在接管的两个文档中,针对CDH5.10.0和CDH6.2.0两个版本做了接管,在这个过程中,思路与步骤都是一致的,只是可能其中有些细节的地方有区别,大体上接管的步骤是没有区别的。

2.在做接管时,需要对配置文件以及元数据等做备份,在接管过程中可能会需要使用,以及出现错误可以通过备份的数据进行还原。

3.使用CM接管原集群后,能够通过CM更好的监控集群服务的状态以及使用情况,方便更好的对集群进行管理。

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    在部署CDH集群时,可能使用tar包或者rpm包的方式安装的集群,但是在部署时并没有采用Cloudera Manager来对集群进行管理,在使用过程中,集群数据...

    Fayson
  • 0612-如何在RedHat7.4上安装airflow

    Airflow是一款纯Python编写的任务流调度工具,airflow由许多模块组成,用户可单独安装部分模块比如pip install 'apache-airf...

    Fayson
  • 0526-6.1-如果你不小心删了一个NameNode1

    在启用了HDFS HA的集群,2个NameNode节点上一般都会部署三个角色:NameNode,JournalNode和Failover Controller。...

    Fayson
  • R语言入门系列之寻找你的R包

    关于寻找目标R包,一般可以在官网利用关键词搜索即可获得相关信息,不过米老鼠在这里想给大家介绍一个特别的R包,它可以帮助你寻找你想要的理想R包。

    生信与临床
  • 在 vmware 上的 Ubuntu 虚拟机上安装 Tomcat、ssh、ftp服务

    1、在vmware上的虚拟机和宿主机网络互通联调     选择了 NAT 模式,发现宿主机 ping 不通虚拟机,但是虚拟机可以 ping 通宿主机。   ...

    LeoXu
  • 如何从零打造自己 Linux(基于 Ubuntu 18.04.4 LTS)工作环境

    我们在工作或学习过程中,有许多时候会接触到 Linux,然后便想要自己亲自试试这个系统,但苦于没有系统学习过,所以想要打造自己的工作环境难免会遇到许多困难。为了...

    村雨遥
  • “由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开”的解决方案

    用户1456517
  • 2019年网站设计成本的最终指南

    您应该知道,75%的用户根据其网站设计来判断公司的可信度。当然,用户友好且有吸引力的网页设计是任何软件项目的主要资产之一。

    Bessalitskykh
  • 网站安全检测防护报告

    网站安全仍然是目前互联网网络安全的最大安全风险来源第一,包括现有的PC网站,移动端网站,APP,微信API接口小程序的流量越来越多,尤其移动端的访问超过了单独的...

    技术分享达人
  • appium新版本1.17安装后输入appium提示找不到

    appium下载地址:https://cloud.189.cn/t/QRvInqzYzMNf(访问码:dq9x)

    吾爱乐享

扫码关注云+社区

领取腾讯云代金券