在 Cloudera Manager 中,包含两种角色,server 与 agent,两者间关系如下:
现在假设有服务器 4 台,服务器地址为 192.168.1.[128-131],我们可按下表划分角色:
ip | hostname | server | agent |
---|---|---|---|
192.168.1.128 | s128 | √ | √ |
192.168.1.129 | s129 | × | √ |
192.168.1.130 | s130 | × | √ |
192.168.1.131 | s131 | × | √ |
Cloudera Manager:http://archive.cloudera.com/cm5/cm/5/
CDH:http://archive.cloudera.com/cdh5/parcels/5.7.0/
下载清单如下:
注:CentOS 6 需下载 el6 版本,否则安装过程中会出现异常。以此类推,CentOS 7 对应 el7 版本。
在所有节点,创建如下目录:
mkdir /opt/cloudera-manager
mkdir -p /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
各目录角色如下:
上传上述安装包至 server 节点,其中:
注:CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1 要重命名为 CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha,否则后续安装时会联网下载包,导致离线安装失败。
解压 Cloudera Manager 安装包:
cd /opt/cloudera-manager
tar -xzvf cloudera-manager-el6-cm5.7.0_x86_64.tar.gz
修改 agent 配置文件:
cd /opt/cloudera-manager/cm-5.7.0/etc/cloudera-scm-agent/
vi config.ini
# set Hostname of the CM server
server_host=s128
# Port that the CM agent should listen on
listening_port=59000
初始化 Cloudera Manager 数据库:
/opt/cloudera-manager/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql -hs128 -P3306 -ucdh -pcdh --scm-host s128 scm scm scm
其中,各参数定义如下:
后面 3 个 scm 的定义如下:
初始化数据库后,有两个验证结果的方法:
注:-h 与 --scm-host 最好指向用一台服务器。
将 server 节点上已配置好的 Cloudera Manager 分发到其余节点:
scp -r root@s128:/opt/cloudera-manager/cm-5.7.0 /opt/cloudera-manager/
新建 Cloudera Manager 专属用户:
useradd --system --home=/opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
对文件夹所属用户及组别进行重新授权:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
chown -R cloudera-scm:cloudera-scm /opt/cloudera/
安装步骤到此完成,下面进行启动验证。
进入 server 节点,启动 Cloudera Manager server 服务:
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server start
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server status
查看日志,观察是否有异常:
tail -200f /opt/cloudera-manager/cm-5.7.0/log/cloudera-scm-server/cloudera-scm-server.log
启动时间会比较长,待启动成功后,查看对应端口号验证启动结果:
netstat -anp | grep 7180
在所有节点启动 Cloudera Manager agent 服务:
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-agent start
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-agent status
查看日志,观察是否有异常:
tail -200f /opt/cloudera-manager/cm-5.7.0/log/cloudera-scm-agent/cloudera-scm-agent.log
待启动成功后,查看对应端口号验证启动结果:
netstat -anp | grep 59000
除端口验证外,也可以直接登录 Cloudera Manager 管理页面验证:http://192.168.1.128:7180/cmf/login
登录 Cloudera Manager 管理页面后,需要进行一系列初始化工作,包括安装监控程序、分发源、激活服务、部署配置等。
正常情况下,按照页面提示一步步操作即可。
若出现异常,到组件所在目录查看异常明细并解决,一般日志文件都在 /var/log 目录下。
若遇到无法解决的问题,可自行查询相关资料。
在所有节点关闭 Cloudera Manager agent 服务:
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-agent stop
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-agent status
进入 server 节点,关闭 Cloudera Manager server 服务:
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server stop
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server status
cloudera-scm-agent 启动失败,可能是 5.7.0 版本的一个 BUG,无法自动创建文件夹:/opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-agent。
因此我们需要手动创建:
mkdir -p /opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-agent
在初始化 Cloudera Manager 数据库时,会报连接异常,这是由于缺少 MySQL 驱动包导致的。
下载驱动包 mysql-connector-java-5.1.46.jar,将其上传至 /usr/share/java,并重命名为 mysql-connector-java.jar 即可。
已关闭 cm 所有服务,卸载时却发现如下文件夹无法删除,出现如下错误:
rm: cannot remove `cm-5.11.0/run/cloudera-scm-agent/process': Device or resource busy
使用 df -h 查看磁盘情况时发现:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_n139-lv_root 50G 20G 28G 42% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/mapper/vg_n139-lv_home 765G 104G 623G 15% /home
cm_processes 7.8G 0 7.8G 0% /opt/cloudera-manager/cm-5.11.0/run/cloudera-scm-agent/process
因此,执行如下命令,再删除即可。
umount /opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-agent/process