CDH5 主要是用在开发环境中使用,经历了多次重装,所以觉得有必要整理一下:
一、目标
1、原有CDH系统的移除
2、CDH的离线安装
二、环境说明
在整个过程中的主机情况如下:
192.168.136.134 archive.cloudera.com
192.168.136.151 h1.worker.com
192.168.136.152 h2.worker.com
192.168.136.155 h3.worker.com
以上主机都是centos6.5 由于之前有安装过CDH,所以也需要做原有系统的移除
三、原有CDH系统的移除
1、通过CM的 URL关闭服务
如通过 http://192.168.136.134:7180/cmf/home 登陆CM 停止全部的服务。
2、关闭全部的主机上的服务
装有CM主机上: service cloudera-scm-server stop
装有agent的主机上: service cloudera-scm-agent stop
3、在CM主机上卸载CM软件
4、卸载集群,进行清除
[root@h3 ~]# umount /var/run/cloudera-scm-agent/process
[root@h2 ~]# umount /var/run/cloudera-scm-agent/process
[root@h1 ~]# umount /var/run/cloudera-scm-agent/process
[root@archive ~]# rm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera* /etc/cloudera*
5、卸载安装包
在所有主机上执行安装包查询命令: rpm -qa | grep cloudera
如果有查询到,则执行: for f in `rpm -qa | grep cloudera ` ; do rpm -e ${f} ; done
如果有提示依赖报错的话,可以再执行一遍,直到全部卸载完成。
6、删除文件
在所有主机上执行如下操作:
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/cloudera-scm-agent /etc/solr /etc/zookeeper* /etc/hive* /etc/hue /etc/pig /etc/spark /etc/flume-ng /etc/impala /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog
rm -rf /var/lib/flume-ng /var/lib/flume-ng /var/lib/hive /var/lib/spark
rm -rf ` find /var/lib/alternatives/* ! -name "mta" ! -name "print" ! -name "zlibrary-ui" -mtime -3`
rm -rf /etc/alternatives/*
rm -rf /var/log/zookeeper /var/log/solr /var/log/hbase-solr /var/log/hive /var/log/hue /var/log/hadoop-hdfs /var/log/hbase
7、杀死相关进程:
for u in hdfs mapred cloudera-scm hbase hue zookeeper oozie hive impala flume; do sudo kill $(ps -u $u -o pid=); done8. 删除parcel包分发文件和解压文件
rm -rf /opt/cloudera /opt/cm-5.0.2由于后面我们不用yum安装 所以也清理掉 原来web服务的目录
rm -rf /var/www/html/cm5 /var/www/html/cdh5
-----这样整个清理工作就结束了。
四、离线安装
1、离线安装要准备的文件:
相关包的下载地址:
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/
由于我们的操作系统为CentOS6.5,需要下载以下文件:
CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel
CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel.sha1
manifest.json
cloudera-manager-el6-cm5.0.2_x86_64.tar.gz
因为我们想用mysql替换CDH内置的数据库,所以需要下载jdbc。JDBC:http://download.softagency.net/MySQL/Downloads/Connector-J/
mysql-connector-java-5.1.36.jar
2、其他几个基础工作
这里列一下,大家可以看几节中相关描述的内容
1) centos 的防火墙关闭,selinux关闭
2) 配置hostname,各个节点可以通过hostname互相连接
3) centos下的ulimit 设置,主要是file 和进程数据,设置到最大,或者无限制
4) 打通SSH 无密码连接
5) 安装java 1.7版本以上就可
6) 安装mysql ,并且开放通过root账号,任意ip都可以访问到mysql
7) 设置ntp服务
以上准备基础工作还是比较繁琐的,不过也是很有意义的工作,能提升不少linux系统的理解和操作能力。
3、 离线安装
1) 在计划安装CM的主机上传软件:
[root@archive CDH]# pwd
/home/nmc/soft/CDH
[root@archive CDH]#
[root@archive CDH]# ls -ltr
total 2129512
-rw-r--r-- 1 root root 1836961055 Sep 11 2016 CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel
-rw-r--r-- 1 root root 104 Jul 20 06:36 CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel.sha1
-rw-r--r-- 1 root root 343568963 Jul 20 15:22 cloudera-manager-el6-cm5.0.2_x86_64.tar.gz
-rw-r--r-- 1 root root 72612 Jul 20 15:45 manifest.json
[root@archive CDH]#
2) 解压 CM软件
tar -vxf cloudera-manager-el6-cm5.0.2_x86_64.tar.gz
解压后,在当前目录生成2个目录:
drwxr-xr-x 4 1106 592 4096 Jun 6 2014 cloudera
drwxr-xr-x 9 1106 592 4096 Jun 6 2014 cm-5.0.2
接着将这两个目录MV到/opt目录下:
[root@archive CDH]# mv cloudera /opt/cloudera
[root@archive CDH]# mv cm-5.0.2 /opt/cm-5.0.2
[root@archive CDH]# ls /opt
cloudera cm-5.0.2 rh
将mysql的jdbc 包上传CM主机,拷贝到 /opt/cm-5.0.2/share/cmf/lib 下
cp mysql-connector-java-5.1.36.jar /opt/cm-5.0.2/share/cmf/lib
3) 初始化mysql数据库
/opt/cm-5.0.2/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pnmc123 --scm-host 192.168.136.134 scm root nmc123
这里面 -uroot -pnmc123 表示mysql数据库登陆的账号密码, --scm-host 192.168.136.134 是mysql 数据库所在的ip, scm 表示要建立的scm数据库名称(无需改动)
最后的 root nmc123 表示scm数据库用root 账号,密码nmc123 访问。
4) 修改主节点上agent 的配置,并同步到其他agent节点
修改/opt/cm-5.0.2/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
[General]
# Hostname of the CM server.
server_host=archive.cloudera.com
修改完成后,将agent 软件,远程部署到其他agent 节点,在主节点CM,执行scp命令
scp -r /opt/cm-5.0.2 [email protected]:/opt/
scp -r /opt/cm-5.0.2 [email protected]:/opt/
scp -r /opt/cm-5.0.2 [email protected]:/opt/
5) 创建cloudera-scm用户在所有节点,都需要创建cloudera-scm用户,这个用户是用来执行server 和agent 启动的用户
useradd --system --home=/opt/cm-5.0.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
6)安装程序的最后准备
在主节点上,将Parcels包拷贝到 /opt/cloudera/parcel-repo/, 用以安装CDH5,拷贝完成后, 这个目录下有这些文件
[root@archive parcel-repo]# ls -ltr
total 1793988
-rw-r--r-- 1 root root 1836961055 Jul 23 07:12 CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel
-rw-r--r-- 1 root root 104 Jul 23 07:12 CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel.sha1
-rw-r--r-- 1 root root 72612 Jul 23 07:17 manifest.json
将 后缀sha1 的文件修改为sha,这样就不会从网上更新,实现离线安装的目标。
mv CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel.sha1 CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel.sha
7)启动CM server 和agent
相关启动脚本
通过/opt/cm-5.0.2/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.0.2/etc/init.d/cloudera-scm-agent start启动Agent服务。
注意,CM上 启动server 上,也启动agent 因为计划CM节点上,也作为集群的一部分,不只是承担CM角色,类似 namenode等角色也会部署在CM(134)节点
如果启动有异常,可以查看下面两个日志目录:
/opt/cm-5.0.2/log/cloudera-scm-server
/opt/cm-5.0.2/log/cloudera-scm-agent
8) 进入CM并且按照你需要的组件
启动后,通过下面URL http://192.168.136.134:7180/cmf 可以进入登陆页面, 在页面中,进行服务的安装,登陆密码为 admin admin
注意: 在为CDH集群安装指定主机的时候,要选择当前管理的主机,因为在其他几个主机上,我们都已经离线安装了agent,并启动了
由于是离线安装,所以下载过程基本是秒过,主要的消耗在分发
按照这样一步一步,最后完成整个集群的安装