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
# 安装jdk和cloudera-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
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
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-5为on状态就代表成功。
6.5可以通过以下命令先进行时间同步:
ntpdate us.pool.ntp.org
6.6在两个slave节点上执行即可
ntpdate -u bigdata1
7. 关闭防火墙,selinux等。
二、环境准备完成,开始安装CDH
CDH的安装,建议用root完成,后面有很多需要CDH创建目录。用户等操作。
解压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安装MySQL的yum源,下面是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 Server和Agent都启动以后,就可以进行CDH5的安装配置了。
2. 这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问页面,可能需要3-5分钟),默认的用户名和密码均为admin
3. 登陆后,会进入到欢迎/授权页面
4. 选择授权版本,这里选择“免费版本”
5. 如果前面的的配置都是正确的,并且agent都启动成功,这里“当前管理的主机”中,是可以看到全部节点的。注意:防火墙一定要关闭,不然会出现,agent节点,不能被发现的情况。
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. 点击“继续”,到集群安装,这个会比较快,大概10分钟完成。如果是在线安装,这个要几个小时,甚至下载失败。
8. 根据提示,修复一些前面没有配置好的项目,然后重新检查。建议解决全部报错,防止后续使用有诡异的问题发生。
9. 这里,我遇到的两个问题:
9.1.JDK无法被识别,运行之前保证JDK路径能被识别。
9.2.需要已经安装perl软件包
yum install -y perl
10. 选择需要安装的组合,也可以选择自定义,后续单独安装每个组件
11. 选择每个角色,需要部署在哪一个机器上
12. 选择需要使用到mysql的组件,在mysql中创建的db、用户名、密码等
13. 安装完成之后。
14. 安装完成后,就可以进入集群界面看一下集群的当前状况了。
这里可能会出现无法发出查询:对 Service Monitor 的请求超时的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了,根据实际情况调整配置即可:
15. 另外如果想添加新的主机,必须要先启动新主机上的agent服务,否则新主机不能被发现,要重新下载cm-agent,很麻烦。安装新的节点以后,记得运行"部署客户端"命令。
四、问题汇总
问题1
CDH环境搭建好之后,访问Oozie管理页面时,出现如下问题:
解决方法:
根据提示,我们可以发现缺少Ext JS library,我们可以点击给出的网址链接:
Oozie Quick Start
找到如下内容:
然后找到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,如果下载,请点击链接:
然后我们再次访问页面就可以了。