CDH 在线安装方法如下,方便,但是由于在国内,访问这个网站的速度很慢,并不快捷。

在线安装Cloudera Manager服务器

 

# 配置cloudera-cdh源和cloudera-manager

# cloudera-manager

wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo

# cloudera-cdh

wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo

# 安装jdkcloudera-manager

sudo yum install cloudera-manager-daemons cloudera-manager-server -y

 

然后就可以访问IP:7180通过网页进行操作了。然而实际情况是,在线安装,很慢很慢……

 

我们使用离线安装的方式进行

一、基础环境准备

1. 相关包的下载地址: 

Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ 

下载对应的文件,我下载的是:cloudera-manager-el6-cm5.13.3_x86_64.tar.gz

1.jpeg


2. CDH安装包地址:http://archive.cloudera.com/cdh5/parcels

由于我们的操作系统为CentOS6.5,需要下载以下文件,找到对应的版本: 

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel 

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1

manifest.json 

2.jpeg

 

3. 准备JDBC,等下连接mysql会用到:

http://download.softagency.net/MySQL/Downloads/Connector-J/

 Updated on 20180727

Mysql jar连接已经失效,可以在下面网站下载最新的jar包

https://dev.mysql.com/downloads/file/?id=477054


4. 全部需要的软件下载完,算上mysql jar一共是5个文件

cloudera-manager-el6-cm5.13.3_x86_64.tar.gz
CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel 
CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1 
manifest.jso
mysql-connector-java-5.1.35-bin.jar

5. 准备JDK

tar -zxvf jdk1.7.0_79.tar.gz -C /usr/local/jvm
cat /etc/profile
export JAVA_HOME=/usr/local/jvm/jdk1.7.0_79 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

6. 安装设置NTP

6.1 yum install ntp

cat /etc/ntp.conf
driftfile /var/lib/ntp/drift   
restrict default kod nomodify notrap nopeer noquery 
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict -6 ::1  
restrict 192.168.206.0 mask 255.255.255.0 nomodify notrap 
 server 0.centos.pool.ntp.org iburst 
 server 1.centos.pool.ntp.org iburst 
 server 2.centos.pool.ntp.org iburst 
 server 3.centos.pool.ntp.org iburst

6.2启动 ntp

$ service ntpd start

6.3 设置开机启动:

$ chkconfig ntpd on

 

6.4 检查是否设置成功:chkconfig --list ntpd其中2-5on状态就代表成功。


6.5可以通过以下命令先进行时间同步:

ntpdate us.pool.ntp.org

6.6在两个slave节点上执行即可

ntpdate -u bigdata1

7. 关闭防火墙,selinux等。


二、环境准备完成,开始安装CDH

CDH的安装,建议用root完成,后面有很多需要CDH创建目录。用户等操作

 

  1. 解压CM到每个节点/opt的路径下

tar -zxvf cloudera-manager-el6-cm5.13.3_x86_64.tar.gz -C /opt

下载的mysql-connector-java.jar拷贝到每个节点

cp  mysql-connector-java-5.1.35-bin.jar /opt/cm-5.13.3/share/cmf/lib/
scp mysql-connector-java-5.1.35-bin.jar root@bigdata2:/opt/cm-5.13.3/share/cmf/lib/
scp mysql-connector-java-5.1.35-bin.jar root@bigdata3:/opt/cm-5.13.3/share/cmf/lib/

2. 安装mysql,并准备相关用户,注意用户创建过程中,要给予with grant option权限,不然后面会报错

 

2.1安装MySQLyum源,下面是RHEL6系列mysql5.6的下载地址:

 rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

2.2 yum安装

yum install mysql-community-server -y

2.3 创建用户和赋权

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

3. 在主节点初始化CM5的数据库:

/opt/cm-5.13.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hbigdata1 -uroot -proot --scm-host bigdata1 scm scm scm

  参数解释:数据库类型 数据库名称 数据库主机名 数据库用户名 密码 --scm-host cmserver主机名 scm scm scm

 

4. Agent配置 

修改/opt/cm-5.13.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名 不然agent无法找到server端。


4.1同步软件到全部的Agent节点:

scp -r /opt/cm-5.13.3 root@node2:/opt/

5. 在所有节点创建cloudera-scm用户

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

6. 准备Parcels,用以安装CDH5 

CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。 

相关的文件如下:

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel 

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1 

manifest.jso

 

最后将CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1,重命名为CDH-5.7.1- CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1文件。 

Updated 20180727

原本这个地方好不容易发现,去掉"1"的方法安装.现在安装,发现"1"要保留的.CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1名字保持不变,才可以.


7. 相关启动脚本 

通过/opt/cm-5.13.3/etc/init.d/cloudera-scm-server start启动服务端。 

通过/opt/cm-5.13.3/etc/init.d/cloudera-scm-agent start启动Agent服务。

(所有节点都要启动Agent服务,包括服务端)

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart

安装到此处,可以考虑备份vmware虚拟机,后面CM的部署过程中,遇到错误,可以会滚到当前状态调整。

 

三、CDH5的安装配和集群配置

1. Cloudera Manager ServerAgent都启动以后,就可以进行CDH5的安装配置了。 

2. 这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问页面,可能需要3-5分钟),默认的用户名和密码均为admin

 3.jpeg

这里写图片描述

3. 登陆后,会进入到欢迎/授权页面

4.png

 

4. 选择授权版本,这里选择“免费版本”

5.png

 

5. 如果前面的的配置都是正确的,并且agent都启动成功,这里“当前管理的主机”中,是可以看到全部节点的。注意:防火墙一定要关闭,不然会出现,agent节点,不能被发现的情况。

6.png

 

6. 前面已经将软件包放到目录/opt/cloudera/parcel-repo,这里就可以直接看到本地的包。

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel 

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha 

manifest.json

 7.png

 

7. 点击“继续”,到集群安装,这个会比较快,大概10分钟完成。如果是在线安装,这个要几个小时,甚至下载失败。

8.png

 

8. 根据提示,修复一些前面没有配置好的项目,然后重新检查。建议解决全部报错,防止后续使用有诡异的问题发生。

 9.png

 

9. 这里,我遇到的两个问题:

9.1.JDK无法被识别,运行之前保证JDK路径能被识别。

9.2.需要已经安装perl软件包

yum install -y perl

10. 选择需要安装的组合,也可以选择自定义,后续单独安装每个组件

10.png

11. 选择每个角色,需要部署在哪一个机器上

12.png

12. 选择需要使用到mysql的组件,在mysql中创建的db、用户名、密码等

13.png

13. 安装完成之后。

这里写图片描述xx.png

14. 安装完成后,就可以进入集群界面看一下集群的当前状况了。 

这里可能会出现无法发出查询:对 Service Monitor 的请求超时的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了,根据实际情况调整配置即可:

14.png

15. 另外如果想添加新的主机,必须要先启动新主机上的agent服务,否则新主机不能被发现,要重新下载cm-agent,很麻烦。安装新的节点以后,记得运行"部署客户端"命令。


四、问题汇总

问题1

CDH环境搭建好之后,访问Oozie管理页面时,出现如下问题:

15.png

 

 

解决方法:

根据提示,我们可以发现缺少Ext JS library,我们可以点击给出的网址链接:

Oozie Quick Start

 

找到如下内容:

16.png

 

然后找到ExtJS2.2下载,下载完成后上传到CDH的服务器的目录/opt/cloudera/parcels/CDH/lib/oozie/libext/下面。

具体操作如下:

cd /opt/cloudera/parcels/CDH/lib/oozie/libext

unzip ext-2.2.zip

chown oozie:oozie -R ext-2.2


现在这个官网,已经不提供下载ext-2.2.zip,如果下载,请点击链接:



然后我们再次访问页面就可以了。

 17.png

 

 

ext-2.2.zip