本文主要记录Centos7.4 离线安装CDH和Cloudera Manager。安装的版本为Cloudera Manager 5.14.1,如遇不同版本,安装方式大致相同。
内容 | 版本 |
---|---|
CentOS | 7.4 64位 |
JDK | 1.7 |
Cloudera Manager | 5.14.1 |
本次安装一共使用6台服务器,均在阿里云采用按量付费方式进行购买。各台服务器配置如下:
编号 | 配置(带宽1M,系统盘赠送的40GB存储足以) | 内网IP(使用了专有网络) | 用途 |
---|---|---|---|
server01 | 2核16GB内存 | 192.168.0.108 | 主,安装CM |
server02 | 2核8GB内存 | 192.168.0.109 | 从,slaver |
server03 | 2核8GB内存 | 192.168.0.110 | 从,slaver |
server04 | 2核8GB内存 | 192.168.0.111 | 从,slaver |
server05 | 2核8GB内存 | 192.168.0.112 | 从,slaver |
server06 | 2核8GB内存 | 192.168.0.113 | 从,slaver |
由于安装过程涉及到下载耗时,建议先完成步骤1后再购买开通服务器,能省一点是一点。
由于国内网速原因,在开始操刀前,建议各位提前下载以下文件到本地备用,或先购买一台服务器用于下载文件。
http://www.oracle.com/technetwork/java/java-archive-downloads-javase7-521261.html
由于Oracle官网限制,需要到上面网站去下载jdk-7u80-linux-x64.rpm 并上传到服务器上。
然后需要去https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/
下载oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
,否则在步骤3.3会联网下载速度很慢。
访问:http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/
把上面的所有rpm包都下载回来本地。下载速度慢可以使用axel多线程下载
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-agent-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-daemons-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-server-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-server-db-2-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/enterprise-debuginfo-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm
访问:http://archive.cloudera.com/cm5/installer/5.14.1/
下载cloudera-manager-installer.bin
wget http://archive.cloudera.com/cm5/installer/5.14.1/cloudera-manager-installer.bin
访问:http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/
下载cloudera-manager.repo,这个是按系统通用的,下载时不区分版本
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo
访问:http://archive.cloudera.com/cdh5/parcels/5.14.0.24/
下载centos 对应的 parcel ,el7表示centos 7 版本
wget http://archive.cloudera.com/cdh5/parcels/5.14.0.24/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.14.0.24/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1
可以购买服务器了,本节主要对服务器基本环境进行设置
为了便于安装过程中对各个服务器的访问更易区分、更便捷,我们需要分别对各个服务器修改hostname及hosts
hostnamectl --static set-hostname server01
修改hosts:
vim /etc/hosts
根据自己的6台服务器IP地址,在最后面增加:
192.168.0.108 server01
192.168.0.109 server02
192.168.0.110 server03
192.168.0.111 server04
192.168.0.112 server05
192.168.0.113 server06
保存退出即可。
关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
关闭selinux:
vim /etc/selinux/config
找到SELINUX改为:
SELINUX=disabled
先在server01上执行:
ssh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@server01 #将公钥拷贝到本机的authorized_keys上
再在其他节点分别执行以下命令:
ssh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@server01 #注意此处不变,将公钥拷贝到server01的authorized_keys上
在server01上,将authorized_keys分发到其他节点服务器:
scp ~/.ssh/authorized_keys root@server02:~/.ssh/
scp ~/.ssh/authorized_keys root@server03:~/.ssh/
scp ~/.ssh/authorized_keys root@server04:~/.ssh/
scp ~/.ssh/authorized_keys root@server05:~/.ssh/
scp ~/.ssh/authorized_keys root@server06:~/.ssh/
将步骤1.1下载好的jdk使用scp命令(同上一步骤)分发到不同的节点上,分别在每个节点执行以下操作:
卸载系统自带JDK
rpm -qa |grep java #如果有就卸载。没有就不用执行下面
yum remove java* #删除自带的java
切换到jdk所在目录,执行安装命令
rpm -ivh jdk-7u80-linux-x64.rpm
rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm #CM安装需要这个,否则会重新联网下载,造成安装速度非常缓慢
设置环境变量:
vim /etc/profile
在最后面增加:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
退出保存,执行以下命令使环境变量生效,并验证JDK安装是否正确。
source /etc/profile #使环境变量生效
java -version #查看JDK是否安装正确
所有节点时间一致非常重要,要不然启动Cloudera Manager服务后,后台会报错。
所有节点执行:
yum install ntp -y
安装完成后,阿里云的服务器会自动使用阿里云的ntp服务器进行同步,故可不再进行下面的配置,直接进入2.6节,若其他没有统一ntp服务器进行同步的,则还需要以下设置:
配置NTP,在server01节点
vim /etc/ntp.conf
修改成如下配置:
server s1a.time.edu.cn prefer
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
然后先进行一次时间同步:
/usr/sbin/ntpdate s1a.time.edu.cn
在server02~06上,修改/etc/ntp.conf
配置改为以下
server server01
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
子节点需要定期同步主节点的时间,所以需要在各个子节点增加一个定时任务:
#每个从节点,从master节点同步时间
ntpdate server01
#做一个计划任务(从节点)
crontab -e
#表示每3小时同步一次时间
00 */3 * * * /usr/sbin/ntpdate server01 >> /root/ntpdate.log 2>&1
#查看计划任务
crontab -l
所有子节点ntp加入开机启动
chkconfig ntpd on
最后所有服务器检查一下时间是否一致即可。
为了便于执行命令,我们将在所有节点中创建~/soft/这样一个目录,并在此目录下进行以下安装操作。如果步骤1中是下载到本地电脑的,则通过xftp等方式将文件上传到主服务器上,再使用scp命令将各个文件拷贝到对应的主机上。主节点和子节点分别需要的文件整理如下:
服务器 | 用途 | 所需文件 |
---|---|---|
server01 | 主 | cloudera-manager-agent-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager-daemons-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager-server-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager-server-db-2-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm enterprise-debuginfo-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager-installer.bin cloudera-manager.repo CDH-5.14.1-1.cdh5.14.1.p0.2-el7.parcel CDH-5.14.1-1.cdh5.14.1.p0.2-el7.parcel.sha1 |
server02~server06 | 从 | cloudera-manager-agent-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager-daemons-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm cloudera-manager.repo |
至此,所有设置完成。开始Cloudera Manager安装吧!
cd ~/soft/ #根据2.6约定,所有文件均在此目录下
修改仓库文件cloudera-manager.repo
,把版本号加上
[cloudera-manager]
name = Cloudera Manager
baseurl = https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/ #主要改这里的版本号
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1
开始server01的安装:
yum localinstall --nogpgcheck *.rpm
同3.1,修改cloudera-manager.repo
开始server02~06的安装:
yum localinstall --nogpgcheck *.rpm
最后在server01~06节点检查我们安装包
yum list | grep cloudera
进入server01的cloudera-manager-installer.bin
所在目录
设置安装权限:
chmod u+x cloudera-manager-installer.bin
执行安装命令:
./cloudera-manager-installer.bin
如果提示需要删除配置文件,则删除该文件
rm -rf /etc/cloudera-scm-server/db.properties
重新执行安装命令,根据安装向导一路next。注意,如果之前master上没有手动安装rpm包此时就会联网下载,下载速度一般都较慢,太费时间。
相同配置下顺利安装时间在1分钟内即可完成。
然后我们在web浏览器访问 http://192.168.0.108:7180/,看是否能打开页面即可,先不要进行登录操作。
注意:chd server服务器启动需要一些时间,等1分钟左右。
如果能访问,那证明 cloudera manager安装正常。
前面完成cloudera manager安装之后server01会在/opt目录下生成cloudera文件夹,将之前下载好的CDH-*
文件移动到parcel-repo文件夹中
mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel /opt/cloudera/parcel-repo/
mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha #注意这里有重命名
将cloudera manager的用户授权给/opt
和日志目录:
chown cloudera-scm.cloudera-scm /opt -R
chown cloudera-scm.cloudera-scm /var/log/cloudera-scm-agent -R
重启cloudera-scm-server(重要)
/etc/init.d/cloudera-scm-server restart
重启速度较慢,约1分钟后访问 http://192.168.0.108:7180/ 登陆,账号密码 admin
选择免费版本,一路next开始安装。
这里需要填写我们集群定义的ip或者服务器名称(包括安装CM的主机本身),点击搜索,即可加载出所有主机。全选所有主机,并继续。
这里会出现我们之前mv过去的CDH版本,选择并继续。
如果之前的操作没有问题,这里将会很快完成
接下来,根据需要进行配置或保持默认不变即可,一路继续完成安装。
完成安装后,进入系统