CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0

风流意气都作罢 提交于 2020-11-26 09:31:50

相关文章链接

CentOS7安装CDH 第一章:CentOS7系统安装

CentOS7安装CDH 第二章:CentOS7各个软件安装和启动

CentOS7安装CDH 第三章:CDH中的问题和解决方法

CentOS7安装CDH 第四章:CDH的版本选择和安装方式

CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0

CentOS7安装CDH 第六章:CDH的管理-CDH5.12

CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作

CentOS7安装CDH 第九章:CDH中安装Kafka

CentOS7安装CDH 第十章:CDH中安装Spark2

CentOS7安装CDH 第十一章:离线升级CDH版本

CentOS7安装CDH 第十二章:YARN的资源调优

CentOS7安装CDH 第十三章:CDH资源池配置

CentOS7安装CDH 第十四章:CDH的优化

1. CDH的下载

CentOS7.5CDH5.7.0举例:

1.1. cm的tar包下载

下载地址:http://archive.cloudera.com/cm5/repo-as-tarball/5.7.0/

请选择需要的版本。

1.2. parcels包下载

下载地址:http://archive.cloudera.com/cdh5/parcels/5.7.0/

请选择对应的版本,el7,并将后缀.sha1更改为.sha。

2. 安装CDH的准备工作(所有节点都要执行)

2.1. 安装好JDK

2.2. 更改主机名和hosts

# echo "bigdata0*.tfpay.com" > /etc/hostname
# echo "172.17.28.1    bigdata01.tfpay.com    bigdata01" >> /etc/hosts
# echo "172.17.28.2    bigdata02.tfpay.com    bigdata02" >> /etc/hosts
# echo "172.17.28.3    bigdata03.tfpay.com    bigdata03" >> /etc/hosts
# echo "172.17.28.4    bigdata04.tfpay.com    bigdata04" >> /etc/hosts

2.3. 关闭防火墙,并重启服务器使hostname和selinux的配置生效

# systemctl stop firewalld
# systemctl disable firewalld
# systemctl status firewalld
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# reboot
# getenforce
# sestatus -v

2.4. 安装NTP服务

#在所有节点
yum -y install ntp

#在master节点,注释掉原有的server指向把时间服务器的域名地址指向一个靠谱可连的时间服务器,我选择的是ntp.api.bz.
# vim /etc/ntp.conf
    ……
     #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
    server ntp.api.gz iburst
......

# 在其余的节点上,把时间服务器的server指向master namenode节点
# vi /etc/ntp.conf
     ……
     #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
    server 172.17.28.1 iburst
......

# 在所有节点
systemctl start ntpd
systemctl enable ntpd

2.5. 配置SSH无密码登录,如上配置免密登录所示

2.6. 安装MySQL数据库,能进入MySQL数据库即为安装完成

3. 配置CDH的离线安装

目的:将上述下载的4个文件上传到centos7服务器中,并配置好离线服务,安装时即可以从该离线服务中下载,不需要再从官网中去下载,防止网络错误。

3.1. 在master节点上安装httpd

# 查看该centos7是否存在httpd服务
rpm -qa|grep httpd

# 如果不存在该服务就安装
yum install -y httpd

# 启动该服务
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启

# 设置该服务是否开机启动
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动

# 查看该服务的状态
systemctl status httpd.service

当访问该服务器的80端口出现如下画面即为安装和启动成功

3.2. 创建 parcels文件

# 在/var/www/html下创建一个parcels文件夹,并将上述下载的3个文件上传到该目录下
cd /var/www/html/
mkdir parcels
# 上传如下3个文件
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha
manifest.json

# 校验文件下载未损坏
/usr/bin/sha1sum CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
cat CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha

如果2个验证码一样,证明该文件未损坏,可以使用:

在浏览器中能打开如下网址,证明配置成功:

3.3. 创建cm文件

# 在/var/www/html创建cm5/redhat/7/x86_64/文件夹(和官网一样的路径)
cd /var/www/html/
mkdir -p cm5/redhat/7/x86_64/

# 上传cm5.7.0-centos7.tar.gz包到/var/www/html目录下,并解压
tar -zxf cm5.7.0-centos7.tar.gz

# 将解压好的文件夹移动到上述创建的文件夹下
mv cm /var/www/html/cm5/redhat/7/x86_64/

# 配置本地的yum源,cdh集群在安装时会就从本地down包,不会从官网了,所有节点都要执行
vim /etc/yum.repos.d/cloudera-manager.repo

#在该文件下插入如下数据
[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://192.168.12.131/cm5/redhat/7/x86_64/cm/5/
gpgcheck = 0

在浏览器中出现如下界面:

3.4. 安装CM的server+agent

# 进入上述创建的CM的文件目录下
cd /var/www/html/cm5/redhat/7/x86_64/cm/5.7.0/RPMS/x86_64/
# 安装cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
yum install cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
# 安装cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm,请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,生产环境中是使用MySQL数据库的
yum -y install cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm

3.5. 在MySQL中创建元数据库并上传jar包

# 在MySQL中创建元数据库
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
create database hive DEFAULT CHARACTER SET utf8;
create database oozie DEFAULT CHARACTER SET utf8;
create database hue DEFAULT CHARACTER SET utf8;

grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';

# 创建cmf用户,并创建cmf数据库,此数据库需在CDH的数据库配置文件中配置
create database cmf DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
flush privileges;

# 创建其他数据库,并授权
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
flush privileges;
    
create database hive DEFAULT CHARSET SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
flush privileges;
    
create database oozie DEFAULT CHARSET SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
flush privileges;

create database hue DEFAULT CHARACTER SET utf8;
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
flush privileges;

#给MySQL授权时会出现密码问题,可以执行如下命令
set global validate_password_policy=LOW;
set global validate_password_length=6;

#修改CDH关于数据库的配置文件(如下图所示)
vim /etc/cloudera-scm-server/db.properties

# 上传与MySQL连接的jar包(注:jar包需要放入如下目录,没有就创建)
# 所有节点都需要执行
cd /usr/share/java

# 上传jar包,并修改jar包的名字(此jar包不需要版本号)
mv mysql-connector-java-8.0.15.jar mysql-connector-java.jar

CDH数据库配置文件如下图所示:

在CDH5.8.4版本之后又如下配置,请修改:

3.6. 启动cloudera-scm-server服务并查看日志

#启动
service cloudera-scm-server start
service cloudera-scm-server status

#在启动时有可能碰到The server time zone value 'EDT' is unrecognized异常,这是mysql的时区和系统的时区不匹配,可以参考如下网站解决
https://blog.csdn.net/u010003835/article/details/88974898

#查看日志
cd /var/log/cloudera-scm-server/
tail -f cloudera-scm-server.log
# 出现如下7180即证明启动成功
WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180

成功图片如下所示:

此时查看MySQL数据库,会发现cmf数据库下回自动创建表:

使用命令会查看到连接cmf的用户的具体信息:

show processlist;

3.7. 在浏览器的web页面上安装CM

当service cloudera-scm-server start启动成功后,即可以在浏览器上服务7180端口(需开放防火墙)。

1. 在浏览器中输入http://bigdata01.ouyang.com:7180 ,登录CM的web界面,账号和密码均为admin:

2. 点击同意许可:

3. 选择CM的版本:

4. 使用搜索模式,搜索需要安装CDH的主机:

3.8. 在浏览器的web页面上安装CDH集群

1.  选择存储库

点击更多选项,将其他远程Parcel删除,并输入先前配置好的Parcel:

选择CDH的版本,并选择自定义存储库:

地址:http://bigdata01.ouyang.com/cm5/redhat/7/x86_64/cm/5/

2.  是否需要安装JDK,默认不进行安装,直接下一步:

3. 是否启用单用户模式,可以自由选择:

4. 提供 SSH 登录凭据,可以自由选择,这里直接使用root用户:

5.  进行集群安装,如果安装失败可以点击详细信息查看失败原因,解决后再重新安装:

6. 安装选定Parcel,先前配置的Parcel就作用于此处,如果不进行此配置会去官网进行下载,对网络要求很高,并网络中断后会重新下载,较麻烦,使用此配置可以直接下载成功,并速度很快:

7. 检查主机正确性,一般来说此步会存在swap设置和大页面2个问题,可以使用如下代码在每个主机上进行配置,然后重新检测即可:

#关闭大页面
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

#设置swap
echo 'vm.swappiness = 10' >> /etc/sysctl.conf
sysctl -p

3.9. 在浏览器的web页面上进行CDH集群的配置

1. 选择要在集群上安装的CDH5服务:

2. 自定义角色分配,一般将主色分配到master节点,所以该节点内存要大,zookeeper需要安装奇数台,这里是只安装了一台,不合理,请安装3台以上的奇数台:

3. 进行数据库设置,此步骤中用到的数据库在上述的MySQL数据库中均进行了创建和授权:

4. 审核更改,此步骤中不管是开发测试还是生产环境,均不需要更改,直接点击继续,进行下一步:

5. 首次运行,会自动运行,运行之后点击继续按钮即可:

6. 安装成功:

此状态为主机配置较低,运行不良,对集群无影响,可以正常工作。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!