本文是在00-服务器搭建基础之上搭建的
01-cm和cdh环境搭建
- cm是Cloudera Manager,cdh是Cloudera Distributed Hadoop。前者是管理后者的一个平台,后者是Hadoop的一个发行版本。
1, 关闭selinu
vim /etc/sysconfig/selinux
# SELINUX=enforcing
重启启动服务器reboot生效
查看状态:
/usr/sbin/sestatus -v
2, 安装依赖包
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y
3, cm安装
3.1, 下载cm相关包和吃的需要的parcels文件
cloudera manager包 :5.7.2 cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz-
CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel
下载地址:http://archive.cloudera.com/cdh5/parcels/5.7.2/
注意:需要下载parcel文件,sha1文件和manifest.json文件,
3.2, 解压文件,并分发到每个机器上
# 解压文件
mkdir /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager
imrsync.sh /opt/cloudera-manager/
3.3, 添加用户cm用户,linux下直接执行即可
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3.4, 修改cm的server服务器配置
注意注意注意:这个server_host是主机的host,所有的agent都需要配置成一样的哈!!!!
-
vim /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
# Hostname of the CM server. server_host=centos01
3.5, jdbc的连接依赖
- 下载mysql-connector -java-5.1.26-bin.jar
- 把mysql-connector-java-5.1.26-bin.jar拷贝到/usr/share/java/目录下,并更改名字为:mysql-connector-java.jar
mkdir -p /usr/share/java
mv mysql-connector-java.jar /usr/share/java
3.6, 配置CM Server数据库(应该只在主节点即可)
grant all on *.* to 'cdh'@'%' identified by 'cdh' with grant option;
# 然后到/opt/cloudera-manager/cm-5.7.2/share/cmf/schema目录下,执行如下命令:
/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql cdh -h centos01 -ucdh -pcdh --scm-host centos01 scm scm scm
3.7, 创建Parcel目录,更改权限等
也就是各种组件的仓库
-
server节点
mkdir -p /opt/cloudera/parcel-repo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
-
Agent节点
mkdir -p /opt/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
3.8, 制作CDH本地源
注意注意注意:上面下载的sha1文件需要改名后缀名sha后放到server节点的/opt/cloudera/parcel-repo下目录下才行哈!!!!只放server 节点即可
把上面下载parcel文件,sha文件和manifest.json文件放到server节点的/opt/cloudera/parcel-repo下
4, cm的启动
4.1, 在Server节点上开启server
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server start
cm的sever的日志目录位置:/opt/cloudera-manager/cm-5.7.2/log/cloudera-scm-server/cloudera-scm-server.log
- 成功后,jps会多处一个main进程,日志中无报错
4.2, 在agent节点上开启agent
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent start
cm的agent的日志目录位置:/opt/cloudera-manager/cm-5.7.2/log/cloudera-scm-agent/cloudera-scm-agent.log
4.3, 浏览器访问验证
- 账号:admin
- 密码:admin
4.4, 可能出现的问题
-- 可能出现的问题:
1, 查看日志报错是:ImportError: libxslt.so.1: cannot open shared object file: No such file or directory
- 解决办法:
- 原因是centos缺少库文件,执行如下命令即可
- yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel -y
2,如果需要重新安装,注意删除mysql库中的内容哈