学校的分布式计算实验室需要部署大数据平台供研究学习使用。先前搭建了CDH5.14的版本,因为服务器调整现重新部署,简单记录一下部署过程。
实例信息
为了便于管理,本例中所有实例均运行于VMware ESXi 6.7之上。
角色 | 主机名 | 配置 | IP地址 |
---|---|---|---|
主节点 | cdh-master | 24核 60G内存 1TB磁盘 | 192.168.83.90 |
从节点1 | cdh-slave0 | 24核 60G内存 1TB磁盘 | 192.168.83.91 |
从节点2 | cdh-slave1 | 24核 60G内存 1TB磁盘 | 192.168.83.92 |
从节点3 | cdh-slave2 | 24核 60G内存 1TB磁盘 | 192.168.83.93 |
下载相关软件包
名称 | 下载地址 |
---|---|
JDK1.7 | http://www.oracle.com/technetwork/java/java-archive-downloads-javase7-521261.html(选择Linux64位 rpm包) |
Cloudera Manager RPMs | http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/RPMS/x86_64/ |
Cloudera Manager Installer | http://archive.cloudera.com/cm5/installer/5.15.0/cloudera-manager-installer.bin |
Cloudera Manager Repo | http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo |
CDH Parcel | http://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel |
CDH Parcel SHA1 | http://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1 |
部署过程
系统预处理
以下操作针对每个实例。
按照实例表信息申请ESXi实例,配置相关信息。(主机名、IP地址等)
配置Hosts各机器hosts:
vi /etc/hosts
192.168.83.90 cdh-master
192.168.83.91 cdh-slave0
192.168.83.92 cdh-slave1
192.168.83.93 cdh-slave2
关闭防火墙并禁止开机启动:
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭SELINUX:
vi /etc/selinux/config
SELINUX=disabled
reboot 0 // 重启生效
配置免密登陆:
需要保证各节点可以免密登陆。
配置主节点自身免密登陆。在主节点上生成公钥并添加到已知密钥中:
ssh-keygen -t rsa // 回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh-master
配置主节点免密登陆各从节点。在各个从节点上生成公钥并将其添加到主节点已知密钥中:
ssh-keygen -t rsa // 回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh-master
配置从节点间免密登陆。将主节点上存放的已知密钥拷贝到各从节点:
scp ~/.ssh/authorized_keys root@cdh-slave0:~/.ssh/
scp ~/.ssh/authorized_keys root@cdh-slave1:~/.ssh/
scp ~/.ssh/authorized_keys root@cdh-slave2:~/.ssh/
组件安装与配置
上传软件包
将相关软件包上传至各实例。其中主节点需要上传所有软件包,从节点需要上传如下五个文件:
oracle-j2sdk1.7-1.7.0 update67-1.x86_64.rpm
jdk-7u80-linux-x64.rpm
cloudera-manager-agent-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
cloudera-manager-daemons-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
cloudera-manager.repo
安装JDK(各节点)
首先需要卸载预装JDK:
rpm -qa | grep java //查询是否有预装JDK
yum remove java* //若有,予以删除
执行安装:
rpm -ivh jdk-7u80-linux-x64.rpm
rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
环境变量:
vi /etc/profile
// 在尾部添加:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
// 使之生效并测试:
source /etc/profile
java -version
NTP时间同步配置(各节点)
时间同步对节点间协调很重要。
安装NTP(各节点):
yum install ntp -y
修改配置文件/etc/ntp.conf
(主节点):
// server 0 上一行添加北邮NTP服务器地址:
server s2c.time.edu.cn prefer
测试同步一次时间(主节点):
ntpdate s2c.time.edu.cn
启动NTP并配置开机启动(主节点):
systemctl start ntpd
systemctl enable ntpd
使用ntpstat
命令查看是否已成功完成同步,如下是完成同步的状态。同步需要一定的时间,请耐心等待。
synchronised to NTP server (202.112.10.36) at stratum 6
time correct to within 1338 ms
polling server every 64 s
从节点与主节点同步时间,在各从节点设置定时同步任务:
ntpdate cdh-master // 与主节点同步一次时间
crontab -e // 创建计划任务
00 */1 * * * /usr/sbin/ntpdate cdh-master >> /root/ntpdate.log 2>&1 // 每1小时与主节点执行一次时间同步
crontab -l // 查看计划任务
安装Cloudera Manager
主节点安装
修改仓库文件中的版本号:
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5/
// 修改为:
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/
安装4个cloudera
开头的rpm和1个enterprise
开头的rpm:
yum localinstall --nogpgcheck cloudera-* enterprise-*
从节点安装
修改仓库文件中的版本号:
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5/
// 修改为:
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/
安装cloudera-manager-agent
和cloudera-manager-daemons
两个rpm:
// 注意这两个rpm有依赖关系,需要一同安装:
yum localinstall --nogpgcheck cloudera-manager-agent* cloudera-manager-daemons*
在主节点安装cloudera-manager-installer.bin
设置安装权限、删除原数据库连接属性、开始安装:
chmod +x cloudera-manager-installer.bin
rm -rf /etc/cloudera-scm-server/db.properties
./cloudera-manager-installer.bin
出现如上则表示Cloudera Manager安装成功。若失败请根据日志排错。多半是防火墙之类的问题。
此时通过访问主节点的7180端口可以看到主页面,此时先不要登陆:
添加CDH包(主节点)
添加下载好的parcel
将下载好的CDH包及校验信息(注意重命名)移动至如下目录:
mv CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel /opt/cloudera/parcel-repo/
// 以下,校验信息sha1改为sha:
mv CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha
设置权限并重启cloudera-scm-server
chown cloudera-scm.cloudera-scm /opt/ -R
chown cloudera-scm.cloudera-scm /var/log/cloudera-scm-agent -R
/etc/init.d/cloudera-scm-server restart // 重启需要一定时间
CDH安装与分发完成后可能会出现如下提示
Cloudera recommends setting /proc/sys/vm/swappiness to a maximum of 10. Current setting is 30. Use the sysctl command to change this setting at run time and edit /etc/sysctl.conf for this setting to be saved after a reboot. You can continue with installation, but Cloudera Manager might report that your hosts are unhealthy because they are swapping. The following hosts are affected:
将vm.swappiness=10
添加至/etc/sysctl.conf
中,让实例尽可能的使用物理内存以提升性能。
echo 'vm.swappiness=10'>> /etc/sysctl.conf
// 重启机器以生效:
reboot 0
重启机器后请注意检查cloudera-scm-server
、cloudera-scm-agent
是否都处于运行状态后再开始安装。
开始安装
在浏览器中输入主节点IP地址加端口号7180,输入默认用户名和密码,进入安装向导,同意相关协议,选择相应的版本,开始安装。
安装向导完成后即完成CDH的安装过程。若在安装过程中报错,请检查先前步骤是否完成,并尝试重新启动(机器或cloudera-scm-agent
)