第一部分:准备工作
一,修改hostname
$vim /etc/sysconfig/network
$source /etc/sysconfig/network
例如:
NETWORKING=yes
HOSTNAME=spark01
reboot重启服务器
二,关闭selinux
查看SELinux状态
1,/usr/sbin/sestatus -v #如果SELinux status参数为enable,即开启状态
2,getenforce #也可以用这个命令检查
关闭SELinux
1,临时关闭
setenforce 0
2,修改配置文件需要重启机器
修改/etc/selinux/config文件
将SELINUX=enforcing改成SELINUX=disabled
三,关闭防火墙
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
四,配置hosts
vim /etc/hosts
172.16.0.81 spark01
五,安装jdk
tar -zxvf [jdk包]
配置环境变量
vim /etc/profile
export JAVA_HOME=/home/app/jdk1.7.0_45/
export PATH=$PATH:$JAVA_HOME/bin
重新加载profile使配置生效
source /etc/profile
环境变量配置完成,测试环境变量是否生效
echo $JAVA_HOME
java -version
第二部分:Cloude Manager安装
1,从官方网站下载CDH软件包和Cloudera Manager安装包。
2,安装相关依赖组件
yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb httpd httpd-tools unzip ntp
3,启动httpd服务
systemctl start httpd.service
systemctl enable httpd.service #设置为开机启动
4,配置NTP时钟同步
在所有要安装CDH环境的设备中设置统一时钟同步服务。如果我们有时钟服务器,那么我们需要在每一台设备上进行NTP客户端配置;如果没有,我们就将server主机作为时钟服务器,对server主机进行NTP服务器配置。其他服务器来同步这台服务器的时钟。
本示例中将按照没有时钟服务器的情况进行演示,将server主机配置为NTP服务器,其他主机配置为NTP客户端。如果有时钟服务器更简单,所有的服务器都配置为NTP客户端就好了。
NTP服务器配置(在server主机上配置,如果有时钟服务器,server主机也是配置为客户端)
修改/etc/ntp.conf
对该文件的内容进行以下的修改:
1、注释掉所有的restrict开头的配置
2、找到restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap,取消注释,并将其中IP和掩码修改为真实环境IP和掩码,此行配置为允许ntp客户端连接的配置
3、找到server 0.centos.pool.ntp.org iburst,并将所有server配置进行注释
4、添加下面两行内容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动NTP服务
执行以下命令启动ntp服务
systemctl restart ntpd
查看服务状态
启动服务后,使用ntpq -p查看服务状态,当reach达到比较大的值后(一般为17),再进行NTP客户端配置。
NTP客户端配置(在agent主机上进行配置)
修改/etc/ntp.conf
对该文件进行以下内容的修改:
1、注释所有restrict和server配置
2、添加下面注释,需要修改以下的IP为NTP服务器的IP(在本案例中就是server主机的IP)
server 192.168.187.5
手动同步时间
为了避免首次同步时间比较慢,和测试一下我们是否配置正确,我们先使用下面命令手工同步一次。
ntpdate 192.168.187.51
启动NTP服务
systemctl restart ntpd
将所有的主机的ntp服务设置为开机自启动
chkconfig ntpd on
systenctl enable ntpd.service
5,mysql安装
mysql安装在server主机上,具体请参考相关参考教程,另外,也可以使用外部mysql服务,我本次安装,即是采用的外部mysql方式,后面再安装完cloudera后,说说如何配置
6.Cloudera Manager Server的安装
上传安装包
此处记得将CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1改成CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha,否则安装时将重新下载。
创建安装目录并解压安装介质
js mkdir /opt/cloudera-manager tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
安装数据库驱动
js mkdir -p /usr/share/java cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
创建系统用户cloudera-scm
js useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
创建server存储目录
js mkdir /var/lib/cloudera-scm-server chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
创建hadoop离线安装包存储目录
js mkdir -p /opt/cloudera/parcels; chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
配置agent的server指向
js [root@hdfs1 ~]# vi /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini 将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机。
部署CDH离线安装包
js [root@hdfs1 ~]# mkdir -p /opt/cloudera/parcel-repo; [root@hdfs1 ~]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo; [root@hdfs1 ~]# mv CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo/
上面由于使用外部mysql,此时,需要进行指定:
js /opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -h 172.16.0.36 -u root -p*** --scm-host spark01 scm root ***
此处如果执行报错,
需要给JAVA_HOME加软连接,先mkdir /usr/java执行ln -s [java文件路径] /usr/java/default
启动Cloudera Manager Server
js /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server start
启动Cloudera Manager Agent
js /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start
7, Cloudera Manager Agent的安装
在除了server服务器外的其他的服务器都要执行以下步骤进行对agent的部署。
上传安装包
对于agent的安装我们只需要以下的两个安装介质
Cloudera Manager 安装包:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
MySQL驱动包:mysql-connector-java-5.1.44-bin.jar
安装数据库驱动
js [root@hdfs1 ~]# mkdir -p /usr/share/java [root@hdfs1 ~]# cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
创建安装目录并解压安装介质
js [root@hdfs1 ~]# mkdir /opt/cloudera-manager [root@hdfs1 ~]# tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
建系统用户cloudera-scm
js [root@hdfs1 ~]# useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
创建hadoop离线安装包存储目录
js [root@hdfs1 ~]# mkdir -p /opt/cloudera/parcels; [root@hdfs1 ~]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
配置agent的server指向
js [root@hdfs1 ~]# vi /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini 将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机。
启动Cloudera Manager Agent
js [root@hdfs1 ~]# /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start
浏览器访问ip:7180
用户名:admin 密码:admin
到此为止,cloudera manager就安装完成。
第三部分:CDH安装
一路按照提示往下走,在检查主机环境的时候,要注意警告,尽量处理完。
注意点:将java的路径做软连接,否则会报错,具体怎么做,看前面介绍。
mysql的配置时,要先在把需要的库建好,再做测试连接就不会报错。
安装时如果Oozie报如下错,是因为数据库字符集的原因,修改成下图就行。
安装完成,祝你好运!