安装前准备
基于centos6系统
资源下载地址:根据自己系统下载相对应版本
https://archive.cloudera.com/cdh5/
基础部署
- 修改主机名
- 分发hosts文件
- 关闭防火墙
- 安装JDK
- 安装mysql
- ssh免密
- ntp时间同步
安装Cloudera Manager 5
下载安装包
下载地址:http://archive.cloudera.com/cm5/cm/5/ ,根据自己的系统选择相应的版本,本次使用版本为:
Cloudera-manager-el6-cm5.12.1_x86_64.tar
解压文件到/opt下
上传Cloudera-manager-el6-cm5.12.1_x86_64.tar压缩包到主节点的/opt目录下,(不能解压到其他地方,因为cdh5的源会默认在/opt/cloudera/parcel-repo寻找)
tar xf Cloudera-manager-el6-cm5.12.1_x86_64.tar –C /opt/
添加mysql驱动
将mysql驱动mysql-connector-java-5.1.29.jar复制到/opt/cm-5.12.1/share/cmf/lib/目录下,CM连接mysql数据需要提供jdbc驱动。
cp /iflytek/install/mysql-connector-java-5.1.29.jar /opt/cm-5.12.1/share/cmf/lib/
所有节点添加cloudera-scm用户(标红处根据自己版本替换)
useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
修改cloudera-scm-agent配置
修改 /opt/cm-5.12.1/etc/cloudera-scm-agent/ 目录下config.ini ,将serer_host改为主节点的主机名。
初始化mysql数据库(此步骤根据自己需求执行,如不使用hive、hue可直接跳过此步骤)
进入mysql数据库控制台,创建以下数据库
--hive数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
--集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
--hue数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- oozie数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
检查创建的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| amon |
| hive |
| hue |
| mysql |
| performance_schema |
| test |
+--------------------+
7 rows in set (0.00 sec)
以上数据库,可能会根据安装组件的不同略有差别。 给root用户授权(密码为hadoop),后面安装CDH组件hive、hue、集群监控时要用到这里设置 的用户及密码。
grant all on *.* to root@"%" Identified by "hadoop";
为Cloudera Manager 5建立数据库
格式为:scm_prepare_database.sh [数据库类型] [数据库] [主节点服务器] [用户名] [密码] [–scm-host Cloudera_Manager_Server所在的机器] 后面那三个直接照抄官网
/opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh 数据库类型 cm –h主机名 –u数据库用户 –p密码 --scm-host 主机名 scm scm scm
显示如下结果表示为成功
[root@qbcdhserv1 ~]# /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm –hcdh1 -uroot -piflytek --scm-host cdh1 scm scm scm
JAVA_HOME=/usr/java/jdk1.7.0_67
Verifying that we can write to /opt/cm-5.4.5/etc/cloudera-scm-server
Creating SCM configuration file in /opt/cm-5.4.5/etc/cloudera-scm-server
Executing: /usr/java/jdk1.7.0_67/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm-5.4.5/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.4.5/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[main] DbCommandExecutor INFO Successfully connected to database.
All done, your SCM database is configured correctly!
故障1 mysql密码过期
解决办法:使用Navicat for Mysql登陆,将mysql库中uesr表中password_expired所有改为N
启动Cloudera Manager 5 Server端
/opt/cm-5.12.1/etc/init.d/cloudera-scm-server start
注意server首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。
启动Cloudera Manager 5 Agents端
将主节点/opt/cm-5.12.1目录分发至各个节点
scp –r /opt/cm-5.12.1到所有datanode节点上
在/opt/cm-5.12.1/run/目录下创建cloudera-scm-agent目录
系统默认是不会生成的,如不创建会报错
mkdir –p /opt/cm-5.12.1/run/cloudera-scm-agent
启动所有从节点
/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
浏览器登录Cloudera Manager 5 控制台
浏览器启动Cloudera Manager 5 控制台(默认端口号是7180),启动成功就会看到登陆页面。
安装CDH5
下载安装源
首先下载与自己系统版本相对应的parcel包, 注意我们操作系统是centos 6.5, 所以我们选择el6对应的版本
https://archive.cloudera.com/cdh5/parcels/
制作CDH本地安装源
将上述两个文件放到主节点的 /opt/cloudera/parcel-repo下
cp /iflytek/install/ CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel /opt/cloudera/parcel-repo
cp /iflytek/install/ CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 /opt/cloudera/parcel-repo
将CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1改名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
mv CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
重启cloudera-scm-server 以识别安装源
/opt/cm-5.12.1/etc/init.d/cloudera-scm-server restart
开始安装CDH
登录IP:7180
选择Hadoop及其组件安装选择Cloudera版本, 这里选择安装免费版
选择主机, 这里要保证所有agents节点服务都启动了,才能检测到受控节点
选择安装方式
因为我们是离线安装,(Cloudera推荐使用Parcel)
故障2:从节点掉线,导致无法找到agent端。
此处如遇到此类问题,检查agent节点是否掉线
/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent status
解决办法:
搜索此进程后kill掉,并重启agent端
ps –fe |grep super
识别成功会继续安装
选择需要安装组件(此次使用自定义)
组件数据库设置
根据自己的数据库用户名和密码填写
集群安装
剩余根据提示一步一步执行即可。
Kafka镜像资源自己上传的需修改版本号
安装yarn时遇到报错问题
如遇此报错,修改所有从节点次路径下__init__.py配置文件
打开此文件将375行修改为以下格式,修改后重启所有节点即可
安装spark2
根据自己CDH版本下载相应的spark2版本(以下图片只做参考)
下载csa包
http://archive.cloudera.com/spark2/csd/
下载parcel包:
http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/
注意事项:
如果你仔细浏览过这些路径,会发现下图中,csd和parcel包会有.clouderal1和.clouderal2之分,和2.0与2.1版本之分,那么在下载parcel时也要注意,下载对应的包。即如果下载到的是.clouderal1的csd包,下载parcel包也要下载文件名中是.clouderal1的包,不能下载.clouderal2的包,同时csd2.0的包也不能用于parcel2.1的包,不然很可能安不上
parcel包一定要和csa包版本对应
开始安装
安装前可以停掉集群和Cloudera Management Service,也可以不停,但是待会还是要停止重启的
对所有agent节点操作
上传CSD包到机器的/opt/cloudera/csd目录,并且修改文件的用户和组。注意如果本目录下有其他的jar包,把删掉或者移到其他目录
[root@kjtlxsvr6 csd]# chgrp cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# ls -la
total 16
drwxr-xr-x 2 cloudera-scm cloudera-scm 47 Jun 23 16:11 .
drwxr-xr-x 6 cloudera-scm cloudera-scm 67 May 1 17:46 ..
-rw-r--r-- 1 root cloudera-scm 16109 Jun 23 16:04 SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# chown cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# ls -la
total 16
drwxr-xr-x 2 cloudera-scm cloudera-scm 47 Jun 23 16:11 .
drwxr-xr-x 6 cloudera-scm cloudera-scm 67 May 1 17:46 ..
-rw-r--r-- 1 cloudera-scm cloudera-scm 16109 Jun 23 16:04 SPARK2_ON_YARN-2.1.0.cloudera1.jar
主节点操作
上传parcel包到机器的/opt/cloudera/parcel-repo目录下。
重启所有节点
重启所有从节点及主节点即可
把CM和集群启动起来。然后点击主机->Parcel页面,看是否多了个spark2的选项,点击分配即可
激活
激活后返回主页,发现其他组件过期,重启集群即可
添加spark2
添加完成如下
部署过程中错误
部署过程中出现问题或失误,重新部署的。需删掉/opt/cm-5.12.1/run/cloudera-scm-agent/process
下已经产生的服务进程。其次,删掉/var/log/下相关名字的日志