计划预装CDH版本:5.12.x
CDH和Cloudera Manager 5.12.x支持的操作系统
RHEL / CentOS / Oracle Linux RHCK7.4 7.3 7.2 7.1 6.9 6.8 6.7 6.6 6.5 6.4 5.11 5.10 5.7
python要求:2.7及以上
jdk要求:1.7或者1.8
硬件需求指南
参考链接:https://www.cloudera.com/documentation/enterprise/release-notes/topics/hardware_requirements_guide.html
安装步骤
【前期准备工作】
【cm包】
下载cm安装包到服务器,并传至agent服务器
【必选项】
下载页面: https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.0/RPMS/x86_64/
包 : cloudera-manager-daemons-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
cloudera-manager-server-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
cloudera-manager-agent-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
【可选项】
jdk(没有安装需下载):
oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
cm使用plsql数据库:
cloudera-manager-server-db-2-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
【源】
wget https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo
wget https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/cloudera-cdh5.repo
cp *.repo /etc/yum.repos.d/
【jdk】
建议安装jdk1.8
rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
【JDBC】
cm使用mysql数据库,需下载mysql的JDBC驱动jar包
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.45.zip
【配置host】
每台机/etc/hosts里面添加:
10.1.2.xx ******.cn
10.1.2.xx ******.cn
10.1.2.xx ******.cn
10.1.2.xx ******.cn
【配置ssh免密码登录】
在主节点上执行ssh-keygen -t rsa一路回车,生成无密码的密钥对。
将公钥添加到认证文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,
并设置authorized_keys的访问权限:chmod 600 ~/.ssh/authorized_keys。
scp文件到所有datenode节点:
scp ~/.ssh/authorized_keys root@n2:~/.ssh/
【主节点安装mysql】
通过yum install mysql-server安装mysql服务器。
chkconfig mysqld on设置开机启动,并service mysqld start启动mysql服务,并根据提示设置root的初试密码:
mysqladmin -u root password 'xxxx'
mysql -uroot -pxxxx进入mysql命令行,创建以下数据库:
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#oozie_oozie_server
create database oozie_oozie_server DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
设置root授权访问以上所有的数据库:
#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'n1' identified by 'xxxx' with grant option;
flush privileges;
【配置cm的mysql连接】
/usr/share/cmf/schema/scm_prepare_database.sh mysql amon user passwd
【关闭防火墙和SELinux】
【配置ntp服务】
【安装cm服务】
将cm的rpm包传至各个节点
主节点: rpm -ivh cloudera-manager-daemons-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
sudo yum --nogpgcheck localinstall cloudera-manager-server - *.rpm
复制jdbc驱动: cp ./mysql-connector-java-5.1.45-bin.jar /usr/share/cmf/lib/
启动主节点服务: sudo service cloudera-scm-server-db start【使用plsql数据库需启动此服务,mysql不需要】
sudo service cloudera-scm-server start
从节点: rpm -ivh cloudera-manager-daemons-5.14.0-1.cm5140.p0.25.el7.x86_64.rpm
sudo yum --nogpgcheck localinstall cloudera-manager-agent-*.x86_64.rpm
启动从节点服务:
修改server地址 vi /etc/cloudera-scm-agent/config.ini 第二行server_host为主节点IP
sudo service cloudera-scm-agent start
启动后验证
主节点: tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
从节点: tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
【登录cm管理界面】
http://主节点ip:7180 初始用户名/密码:admin/admin
【安装CDH5】
【parcel包】
地址: http://archive.cloudera.com/cdh5/parcels/5.12/
包: CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1
地址: http://archive.cloudera.com/kafka/parcels/2.1.1/
包: KAFKA-2.1.1-1.2.1.1.p0.18-el7.parcel
KAFKA-2.1.1-1.2.1.1.p0.18-el7.parcel.sha1
地址: http://archive.cloudera.com/kudu/parcels/5.12/
包: KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel
KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel.sha1
将下载的parcel包均拷贝至主节点 /opt/cloudera/parcel-repo, 将*.sha1的包命名为*.sha
【安装CDH】
1. 登录web界面,主节点启动较慢,在服务器监听7180端口后,可正常登录。
2. 选择免费版本
3. 添加节点,官方说明主节点也可以加入群集。
4. 群集安装,选择 使用parcel,版本选择对应的CDH版本,下面的kudu和kafaka选择对应版本。
注:服务这时不安装,后面也可以再添加。
5. 继续后,cm会自动分发cdh包并安装激活。
6. 安装服务,选择所有服务。
7. 服务配置,一般情况下保持默认。
8. 数据库配置,使用刚才数据库配置的有权限的用户名及密码。
注意添加hive的jdbc驱动: ln -s /usr/java/jdk1.8.0_144/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/hive/lib/
9. 后面依次点击继续,安装会自动进行。
10. 再次刷新cm管理界面,出现下面页面即安装成功。
【坑】
1. cm-agent服务以root权限启动会减少很多问题,sudo权限不一定可靠。
2. 安装服务SPARK2,如不能正常安装,则参照以下操作:
在/etc/spark/conf/目录下把老的spark的classpath.txt spark-env.sh
复制到/data/cloudera/parcels/SPARK2-2.0.0.cloudera2-1.cdh5.7.0.p0.118100/etc/spark2/conf.dist/下,/etc/spark2/conf是该目录的链接,
然后修改spark-env.sh中SPARK_HOME=/data/cloudera/parcels/SPARK2-2.0.0.cloudera2-1.cdh5.7.0.p0.118100/lib/spark2