前言
本文主要记录在Centos7.4下使用jdk1.8安装CDH和Cloudera Manager。安装的版本为Cloudera Manager 5.15.1,如遇不同版本,安装方式大致相同.
安装主机为3台华为虚拟机
主机名 | 配置 | 外网IP | 内网IP | 用途 |
---|---|---|---|---|
cdh01 | 8核32G内存 | 114.116.10.1 | 192.168.1.1 | 主 安装CM |
cdh02 | 8核32G内存 | 114.116.10.2 | 192.168.1.2 | 从 slaver |
cdh03 | 8核32G内存 | 114.116.10.3 | 192.168.1.3 | 从slaver |
准备工作
以下步骤要在所有节点上执行
• 修改hostname
hostnamectl set-hostname cdh01
hostnamectl set-hostname cdh02
hostnamectl set-hostname cdh03
• 关闭SELinux
查看SELinux状态
getenforce
若SELinux没有关闭,按照下述方式关闭
vi /etc/selinux/config
修改SELinux=disabled。重启生效,可以等后面都设置完了重启主机
SELINUX=disabled
• 关闭防火墙
sudo service iptables stop
sudo chkconfig iptables off
sudo chkconfig iptables --list
• 网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
IPADDR=192.168.1.110
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
DNS1=8.8.8.8
DNS2=8.8.4.4
GATEWAY=192.168.1.1
• 修改hosts文件
把所有要添加到集群中的主机都要加入hosts中,格式如下:
echo ' 192.168.1.2 cdh02
192.168.1.1 cdh01
192.168.1.3 cdh03' >> /etc/hosts
以上步骤执行完毕后,重启主机
reboot
1、下载离线安装文件
• 下载CM安装文件及需要的jdk1.7软件包(注:cloudera-manager安装时必须使用oracle-j2sdk,所以CM节点需要先按照jdk1.7版本)
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-server-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-server-db-2-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/enterprise-debuginfo-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
• 下载cloudera-manager安装文件
wget http://archive.cloudera.com/cm5/installer/5.15.1/cloudera-manager-installer.bin
• 下载parcel(文件比较大,2G)
wget http://archive.cloudera.com/cdh5/parcels/5.15.1/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.15.1/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1
下载rpm仓库文件,修改仓库文件cloudera-manager.repo,把版本号加上5.15.1
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo
配置yum源
vim cloudera-manager.repo
[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.15.1/
gpgkey =https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
gpgcheck = 1
• 下载jdk 1.8安装包
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2 、上传软件包
1)在每个节点上建立/root/soft目录
2)使用xftp工具将下载的软件按下表上传到/root/soft目录下
主机 | 用途 | 软件包 |
---|---|---|
cdh01 | 主 | cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager.repo oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm cloudera-manager-server-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager-server-db-2-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm enterprise-debuginfo-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager-installer.bin CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 jdk1.8.0_191-linux-x64.tar.gz |
cdh02 cdh03 |
从 | cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm cloudera-manager.repo jdk1.8.0_191-linux-x64.tar.gz |
3)在每个节点上将cloudera-manager.repo拷贝到/etc/yum.repos.d/
cp /root/soft/cloudera-manager.repo /etc/yum.repos.d/
3 安装软件
3.1 安装软件包
在每个节点/root/soft目录下执行:
1)安装命令
yum localinstall -y --nogpgcheck *.rpm
2)安装jdk1.8并添加java环境变量
tar -xzf jdk1.8.0_191-linux-x64.tar.gz -C /opt/
echo 'export JAVA_HOME=/opt/jdk1.8.0_191
export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin ' >> /etc/profile
source /etc/profile
安装完后检查
yum list | grep cloudera
yum list|grep oracle-j2sdk # cloudera-manager安装节点上检查此包
service cloudera-scm-agent status #检查agent状态
每个节点配置sudoers,否则后面安装HDFS/Hive等服务时会报错误
echo 'cloudera-scm ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
由于上面的软件包是使用root用户安装的,而运行时用户为cloudera-scm,需要在每个节点上重设一下/var/log/cloudera-scm-agent下文件的权限
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-agent/ -R
systemctl restart cloudera-scm-agent
3.2 安装cloduera manager二进制安装包
进入cdh01的/root/soft所在目录
设置安装权限并执行安装
rm -rf /etc/cloudera-scm-server/db.properties
chmod u+x cloudera-manager-installer.bin
./cloudera-manager-installer.bin
相同配置下顺利安装时间在1分钟内即可完成。
然后我们在web浏览器访问 http:// 114.116.10.1:7180/,看是否能打开页面即可,先不要进行登录操作
此时由于华为云对内网接口的限制,访问不到,我们通过华为控制台开放所有端口
http://www.huaweicloud.com/
输入用户名,密码进行登录,然后在控制台中进入任意一台ECS在安全组中添加规则,然后就可以外网访问了
4 CDH服务安装
4.1 制作本地parcel
前面完成cloudera manager安装之后cdh01会在/opt目录下生成cloudera文件夹,将之前下载好的CDH-*文件移动到parcel-repo文件夹中,在cdh01中执行:
mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel /opt/cloudera/parcel-repo
mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha #注意后缀名有重命名
将cloudera manager的用户授权给/opt和日志目录:
chown cloudera-scm:cloudera-scm /opt/cloudera/ -R
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-agent/ -R
重启cloudera-scm-server(重要)
# 修改cm的jdk
echo 'export JAVA_HOME=/opt/ jdk1.8.0_191 ' >> /etc/default/cloudera-scm-server
# 重启cm
/etc/init.d/cloudera-scm-server restart #或者 systemctl restart cloudera-scm-server
重启速度较慢,约1-2分钟后访问 http:// 114.116.10.1:7180 登陆,账号密码 admin, 密码admin 选择免费版本,一路next开始安装。
4.2 集群安装
1)登录http:// 114.116.10.1:7180,输入用户名admin密码admin,接受许可条款
2)选择Cloudera Express版本
3)添加主机
输入主机名进行搜索
4)选择CDH 5.15版本
5)JDK安装选择,此处不选(重要,否则CDH会使用jdk 1.7版本)
6)用户模式。(重要:不启用单用户模式,单用户模式安装会有问题)
7)安装代理,如果前面工作都没错误的话这步1分钟左右很快就安装完
8)安装CDH包
9)检查主机状态
在每个节点上修改cm-agent的jdk版本
echo 'export JAVA_HOME=/opt/ jdk1.8.0_191' >> /etc/default/cloudera-scm-agent
systemctl restart cloudera-scm-agent
异常处理
1)已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.3 (Final)”且版本为“2.6.32-279.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会设置它
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
2)Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响
echo 0 > /proc/sys/vm/swappiness
sysctl vm/swappiness
echo 'vm.swappiness = 0'>> /etc/sysctl.conf
sysctl -p
4.3 服务安装
1)选择所有服务
2)定义服务角色分配
HDFS的DataNode选择3个主机,zookeeper选择3个主机
3)选择数据库
4)按默认配置接着安装后面的,如果前面步骤都没问题,后面能够顺利安装
空尘AI目录