说明:本篇安装教程使用root用户进行操作,其实使用普通用户进行操作也是可以的,只是要求用户可以不输入密码使用sudo权限,其实安装过程中基本所有的步骤都需要有root权限普通用户进行操作的时候需要加上sudo,sudo操作其实就等于使用root用户操作,然后再切换到普通用户,多此一举,所以全部操作都使用root进行操作了。
环境要求
系统:centos7.3系统,要求主机之间时间同步
Cloudera:CM5.14.2 + CDH 5.14.2
内存:各个节点的物理内存最好大于8G,磁盘容量大于20G
主机:192.168.157.11
192.168.157.12
192.168.157.13
一 环境准备工作,需要在所有节点上操作
1.修改静态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
按照下面的进行修改,可能有些人的不是ens-33,找类似的修改。
第二行的BOOTPROTO修改成static,最后一行的ONBOOT修改成yes
然后在后面追加设置的静态IP地址,网关,DNS和网关保持一样就可以,网络是网通的可能后来会有异常,这里可以把DNS 服务器设置为8.8.8.8,避免后来的一个域名解析的异常。设置完成之后,重启网络服务
systemctl restart network.service
ping www.baidu.com -c 3
如果类似下面,就证明可以连接外网。
2.更换网易源,我这里阿里云源的速度没有网易源的速度块,从http://mirrors.163.com/下载CentOS7-Base-163.repo上传到/etc/yum.repos.d目录下,有些版本包含了阿里和网易的源,不需要更换。
cd /etc/yum.repos.d
rm -rf ./*
上传CentOS7-Base-163.repo到/etc/yum.repos.d目录下
yum clean all && yum makecache
3.修改主机名,使用hostnamectl命令依次为3个主机设置主机名
hostnamectl set-hostname cdh1.posinda.com->chd3.posinda.com
hostname
cdh1.posinda.com
cdh1.posinda.com
cdh1.posinda.com
设置完成之后,可以使用hostname命令查看是否设置成功
4.关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
5.安装ntp服务,以进行节点之间的时间同步,可以参考https://www.jianshu.com/p/f0eda9a93ef2选择设计目标二进行安装ntp服务的安装配置
6.设置主机名解析
vi /etc/hosts
按照自己的实际情况进行内容添加:
192.168.157.11 cdh1.posinda.com cdh1
192.168.157.12 cdh2.posinda.com cdh2
192.168.157.13 cdh3.posinda.com cdh3
7.主机之间的ssh免密码登陆,保证两两主机之间可以免密码连接
8.关闭SELinux
关闭selinux,可以使用setenforce 0命令来临时关闭,也可以通过修改配置文件来永久关闭,永久关闭需要重启操作系统才能生效,下面是永久关闭的操作方法:
vi /etc/sysconfig/selinux
修改为SELINUX=disabled,重启后可以检查selinux的状态
sestatus -v
SELinux status: disabled,表示已经关闭了
9.安装完CDH后,CDH Manager一般会提示用户需要做一些Linux系统层面的优化,主要包括两类:禁止透明大页面及交换分区设置,这里预先进行设置。
交换分区的设置
inux内核参数vm.swappiness,值的范围为0-100,表示系统什么时候开始进行物理内存与虚拟内存的交换。举个例子,系统总内存为64G,vm.swappiness为60,表示在系统内存使用64*0.4=25.6G的时候开始物理内存与虚拟内存的交换,这个动作势必会影响系统的性能。因此,Cloudera建议把这个值修改为1~10。按照下面进行设置,保证重启后不会恢复原来的60.
echo "vm.swappiness=10" >> /etc/sysctl.conf
禁止透明大页面:
找到/etc/rc.d/rc.local文件,添加下面两行
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并为/etc/rc.d/rc.local添加执行权限
chmod +x /etc/rc.d/rc.local
重启生效。
下载MySQL驱动包,上传到主节点的/usr/share/java目录,该目录需要手动进行创建,下载的驱动包的版本不要太高,以免出现连接错误,我下载的版本是5.1.35,下载完成之后,重命名,上传到创建的/usr/share/java目录
mv mysql-connector-java-5.1.35.jar mysql-connector-java.jar
二.软件准备:
cloudera-manager.repo
下载地址:http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/,下载完成之后按照下面修改一下具体的版本。
[cloudera-manager]
# Packages for Cloudera Manager, Version 5, on RedHat or CentOS 7 x86_64
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.2/
gpgkey =https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
gpgcheck = 1
cloudera-manager-installer.bin
下载地址:http://archive.cloudera.com/cm5/installer/5.14.2/
cloudera-manager-agent-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-daemons-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-server-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-server-db-2-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
enterprise-debuginfo-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
jdk-6u31-linux-amd64.rpm
oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
下载地址:http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.2/RPMS/x86_64/
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
mainfest.json
下载地址:http://archive.cloudera.com/cdh5/parcels/5.14.2/
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha由下载的CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha1重命名得到,查看文件的具体内容可以看到 8d7a3d19e0f9c3c457f008653603fad4552c06af,验证下载得到的CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel的完整性
/usr/bin/sha1sum CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
如果得出的结果和文件的内容一致,证明文件没有损坏。
下面进入主题:
以下步骤要在所有节点上执行:
1.将cloudera-manager.repo文件拷贝到所有节点的/etc/yum.repos.d/文件夹下,验证文件是否有效
yum list|grep cloudera
2.将下载完成的下列文件:
cloudera-manager-agent-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-daemons-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-server-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
cloudera-manager-server-db-2-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
enterprise-debuginfo-5.14.2-1.cm5142.p0.8.el7.x86_64.rpm
jdk-6u31-linux-amd64.rpm
oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
上传到所有节点,目录名任意,例如/opt/rpms目录,切换到创建的目录,安装上面列出的rpm文件
yum localinstall *.rpm -y
3.创建/opt/cloudera/parcel-repo,将下载完成的下列文件:
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
mainfest.json
上传到该目录
4.这一步只需要在主节点执行。上传下载完成的cloudera-manager-installer.bin到任意目录,加上执行权限。
chmod a+x cloudera-manager-installer.bin
5.执行cloudera-manager-installer.bin
./cloudera-manager-installer.bin
这一步指定需要root用户进行操作
出现安装界面,一路yes,next就可以了,其中一步需要删除/etc/cloudera-scm-server/db.properties文件,按照说明删除即可。安装完成之后cloudera-scm-server,cloudera-scm-server-db,cloudera-scm-agent服务自动启动,可以查看cm server的日志文件查看状态
tail -f /var/log/cloudera-scm-server/clouder-scm-server.log
CDH默认使用postgresql来存储cloudera manager运行所需要的状态,但是一般生产环境使用外部数据库,至于怎么更换为mysql数据库,查看https://www.jianshu.com/p/399fd230cb56