CM5.8.0 on CentOS6.5 离线安装及卸载全过程详解

 

 

关于CDH和ClouderaManager

CDH (Cloudera's Distribution, includingApache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的ApacheHadoop构建,并集成了很多补丁,可直接用于生产环境。

Cloudera Manager(本文以下简称为CM)则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。

环境准备

服务器环境:Linux物理机

服务器配置:内存:128G,CPU:40Core

操作系统:CentOS 6.5 x64 

Cloudera Manager:5.8.0

CDH: 5.8.0

前期环境准备操作:

打通SSH

配置Hosts

关闭SELINUX

关闭防火墙

NTP(可选)

jdk安装

MySql安装

IP对应的主机名

10.10.161.101 master

10.10.161.102 slave1

10.10.161.103 slave2

对应的CM角色

CM的主节点:master

CM的子节点:master,slave1,slave2

下载安装包

CM的安装包

下载地址:

http://archive.cloudera.com/cm5/cm/5/

对应的文件是:

cloudera-manager-el6-cm5.8.0_x86_64.tar.gz

本地源的安装包

由于是离线安装,需要配置本地源,需要下载相关的包,下载地址是:

http://archive-primary.cloudera.com/cdh5/parcels/5.8.0/

由于系统是CentOS6.5,所以对应的文件是:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

jdk的rpm包

地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk-8u102-linux-x64.rpm

mysql connector包

由于我的CM以及其他CDH组件存储元数据等信息使用的是mysql,所以此处需要准备jdbc连接mysql相关的包,如果使用其他的数据库,请准备相对应的包

mysql-connector-java-5.1.39.jar

由于此次安装mysql我使用的是yum的方式,所以此处未单独下载相关的软件包,另外,建议使用yum或者rpm的方式安装mysql以及jdk,这样jdk以及mysql会安装到默认位置上,由于CM自身机制的问题,如果这两个软件未安装到默认的位置上会导致许多额外的配置以及很多不期而遇的问题

关闭SELINUX以及防火墙

防火墙会引起hadoop相关组件通讯的各种异常,需关闭防火墙。用root用户权限登录进行操作:
 
1 关闭防火墙:
 
service iptables stop
验证:service iptables status


service iptables stop (临时关闭)  
chkconfig iptables off (重启后生效)


 
 
2 关闭selinux:
查看SELinux状态:
1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:                 enabled
2、getenforce                ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0                  ##设置SELinux 成为permissive模式
                             ##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

修改/etc/hosts

vi /etc/hosts

保存退出

SSH无密码登陆

1:ssh-keygen -trsa

连续3个回车,不必输入,生成密钥


2:ssh-copy-id -i /root/.ssh/id_rsa.pub root@master


把本机的公钥追到master的.ssh/authorized_keys 里

 

3:在每台机器上都对其他机器重复执行第2步,直到所有机器都能相互免密码登陆

 

安装NTP服务器

由于非必须此处我未安装,感兴趣或者需要的同学就去问下度娘吧

 

rpm安装jdk

rpm -ivh jdk-8u102-linux-x64.rpm
 

配java环境变量

java -version来检测jdk是否安装成功

yum安装mysql

建议将mysql安装到CM的主服务器上

安装之前检查下机器是否已经安装mysql:

rpm -qa|grep mysql

效果如下:

包含图上所示4个包就正确了,Mysql包不能多装,否则会在安装oozie hive等会出现链接拒绝问题

如果多了使用下面的命令卸载:

rpm -e xxxxxxxx

如果少了使用下面的命令安装,少那个就安装哪个:

yum install -y mysql-devel

yum install -y mysql-server

yum install -y mysql-libs

yum install -y mysql

创建mysql数据库

1) . --hive 数据库

create database hive DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

2) . --集群监控数据库

create database amon DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

3) . --hue 数据库

create database hue DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

4) . --oozie 数据库

create database oozie DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

为新创建的库赋权限

如果对mysql数据库权限要求比较高的话可以手动单独处理

如果要求不是很高,直接使用以下命令即可:

grant all privileges on *.* to 'root'@'%' identified by 'XXXX' with grant option;
flush privileges;

语句中的“XXXX”是root用户的登录密码

 

安装CM

将cloudera-manager-el6-cm5.8.0_x86_64.tar.gz上传到CM的主节点的/opt/目录下并解压缩,解压后会生成cloudera以及cm-5.8.0两个文件夹。

由于cloudera自身机制的问题,如果解压后的位置不在/opt/下会导致许多额外的配置以及很多不期而遇的问题

为每个节点都要创建用户

useradd --system--home=/opt/cm-5.8.0/run/cloudera-scm-server --no-create-home--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

在 CM的主节点上修改sudoers文件

vim /etc/sudoers

在root ALL=(ALL)  ALL后面增加

cloudera-scm ALL=(ALL) NOPASSWD: ALL

此处的配置是为了部分避免后面页面配置过程中发生配置无法下发到agent端的问题而进行的配置

在CM的主节点上部署mysql connector包

将mysql-connector-java-5.1.39-bin.jar放到/opt/cm-5.8.0/share/cmf/lib/下

修改agent配置文件

vim /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini

将server_host配置项由localhost改成master(CM的主节点)

保存退出

将cm-5.8.0 scp到其让机器opt文件夹下

scp –r cm-5.8.0 slave1:/opt/

scp –r cm-5.8.0 slave2:/opt/

初始化CM数据库

/opt/cm-5.8.0/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm

CM的主节点配置本地源

将已下载完毕的 CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel,

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1,

manifest.json

并将他们放到 /opt/cloudera/parcel-repo下,并把CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1重命名为CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha

CM主节点启动server

/opt/cm-5.8.0/etc/init.d/cloudera-scm-server start

查看日志

tail -f/opt/cm-5.8.0/log/cloudera-scm-server/cloudera-scm-server.log

CM子节点创建agent所需的文件夹

mkdir -p /opt/cm-5.8.0/run

CM子节点启动agent

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start

页面配置

登录地址:10.10.161.101(CM主节点):7180

默认用户名密码:admin/admin

 

 

 

登录界面

 

 

 

签了免责条款,继续

 

 

 

免费版本即可以满足基本需求,如果有特别需求或者土豪可以选择其他,点击继续

 

 

 

CM可以管理的CDH组件的列表,点击继续

主机配置

 

如果agent进程正常启动,此处就可以发现当前已经管理的主机,全选后,点击继续

 

 

 

此处选择使用Parcel,由于我们已经构建了本地源,所以有CDH-5.8.0-1.cdh5.8.0.p0.42这个选项,如果此处未出现这个选项,说明你本地源搭建有问题,其他Parcel暂时可以不选,后续可以再处理,选中后点击继续

 

 

 

点击继续后出现此界面,显示已下载100%说明本地源构建成功,不需要再额外下载了

 

 

 

此处CM会自动将本地源的相关信息在各个agent上分配,解压以及激活,此处需要等待一些时间,时间根据服务器性能而异,我的物理机大约需要几分钟,虚拟机的话大约需要十几或者几十分钟,耐心等待,全部完毕后,点击继续

 

 

 

 

CM自动为各个服务器进行体检

 

 

 

体检结果出来了,中间这两个警告可以忽略,CM会自动帮我们摆平的,如果有其他的问题,根据问题提示给予解决,点击完成

 

集群配置

 

各种不同的Hadoop搭配,鱼丸和粗面都有,根据个人需求自己选择,也支持自定义,本人选择了核心hadoop,点击继续

 

 

 

此处为各个CDH组件分配服务器,根据需求分配即可,我的经验是绝大部分可以默认,zookeeper以及hdfs的secondarynamenode需要改一下即可,点击继续

 

 

 

测试CDH组件与元数据存放的RDBMS的连通性

 

 

 

填完相关的信息后,点击测试链接,测试通过后,点击继续

 

此处是安装的CDH组件的配置信息,如果没有特定的配置或者特殊的要求,可以先都用默认值,后续再界面中可以修改,配置完毕后,点击继续

 

 

 

集群各个组件初始化,耐心等待,初始化完毕后,点击完成即大功告成

CM卸载

由于CM没有提供官方的卸载工具,加上CM的结构复杂,文件存放分散,所以CM的卸载是件风险很高的事情,很有可能卸载不干净而导致二次安装出现各种奇怪的问题,所以不推荐进行卸载。

此处的卸载方法仅供参考。下面所有的操作除了停止agent以及server进程外其余在所有的服务器上全部执行

关闭集群中的所有服务

 这个可以通过clouder manger 主页关闭集群

卸载

[root@master ~]#/usr/share/cmf/uninstall-cloudera-manager.sh

在某些版本中没有这个脚本,可以忽略,继续下面的操作

在所有的CM的agent上执行

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent stop

在CM的主节点上执行

/opt/cm-5.8.0/etc/init.d/cloudera-scm-server stop

 

一下都是所有要卸载的集群均要执行清除工作:

[root@master ~]# rm -rf /usr/share/cmf /var/lib/cloudera*/var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*  /etc/cloudera*

 

卸载安装包

[root@slave1 ~]# rpm -qa | grep cloudera

[root@slave1 ~]# for f in `rpm -qa | grep cloudera `  ; do rpm -e ${f} ; done     (如果有保存,在执行一遍)

 

清除安装文件

 rm -rf/var/lib/hadoop-* /var/lib/impala /var/lib/solr /var/lib/zookeeper /var/lib/hue/var/lib/oozie  /var/lib/pgsql  /var/lib/sqoop2  /data/dfs/ /data/impala/ /data/yarn/  /dfs//impala/ /yarn/  /var/run/hadoop-*//var/run/hdfs-*/ /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase*/usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop*/usr/bin/oozie /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala/etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog

 

//只删除hadoop系列的,不要删除其他软件的,否则其他软件的版本控制会被破坏

[root@master alternatives]# rm -rf ` find/var/lib/alternatives/* ! -name "mta" ! -name "print" !-name "zlibrary-ui"  -mtime -3`

[root@master alternatives]# rm -rf /etc/alternatives/*

 

杀死相关进程

for u in hdfs mapred cloudera-scm hbase hue zookeeperoozie hive impala flume; do sudo kill $(ps -u $u -o pid=); done

 

删除cm相关的所有文件

rm –rf /opt/cloudera/

rm –rf /opt/cm-5.8.0/

如果中途提示某个文件或者文件夹被占用,则使用umount命令进行处理,处理后继续删除

例如umount /opt/cm-5.8.0/run/cloudera-scm-agent/process/

 

到此卸载完毕

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值