分享

CDH6.3.2实战1:安装与配置



问题导读

1.CDH6.3.2需要什么安装环境?
2.怎样安装CDH6.3.2?
3.怎样部署CDH6.3.2?





PART 01  CM简介
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。


本篇就介绍如何安装CDH,选择的版本为6.3.2


PART 02  环境准备

准备三台测试机,分别为hadoop101,hadoop102,hadoop103。我这里的测试机器的配置为16g内存,4CPU。

需将以下端口开放

服务 端口
Cloudera Manager Server(WebUI) 7180
HDFS NameNode(WebUI) 9870
Yarn ResourceManager(WebUI) 8088
JobHistory Server(WebUI) 19888
HBase Master(WebUI)16010
HiveServer2 (WebUI) 10002
HUE Server(WebUI) 8888/8889
Oozie Server 11000
Spark Master/Worker/History Server 18080/18081/18088
MySQL 3306

(1)开机后进行相应配置,配置主机名

  1. sudo hostnamectl set-hostname foo-1.example.com
复制代码
(2)修改/etc/hosts文件如下图所示
  1. 1.1.1.1  foo-1.example.com  foo-1
  2. 2.2.2.2  foo-2.example.com  foo-2
  3. 3.3.3.3  foo-3.example.com  foo-3
  4. 4.4.4.4  foo-4.example.com  foo-4
复制代码
(3)关闭防火墙
  1. sudo systemctl disable firewalld
  2. sudo systemctl stop firewalld
复制代码

(4)修改SELinux配置文件/etc/selinux/config,设置SELINUX=disabled。修改完毕后进行重启。

640.png

(5)时间同步

在兼容RHEL 7的操作系统的系统上,已经开始默认使用chronyd服务,而不是ntpd服务了。Cloudera优先使用chronyd验证时间是否同步,如需使用ntpd,须将chronyd服务卸载,本文使用chronyd。

如果集群中的所有主机均可联网,则可配置每台服务器向网络中的时钟服务器(NTP Server)进行同步,如果集群中的主机不能联网,则可以将集群中的一台服务器作为时钟服务器(NTP Server),供其他主机进行时间同步。

1.可联网

修改/etc/chrony.conf文件,server为chronyd使用的时钟服务器,可改为国内常用的时钟服务器地址。

  1. # Use Alibaba NTP server
  2. # Public NTP
  3. # Alicloud NTP
  4. server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
  5. server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  6. server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  7. server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  8. server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  9. server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
  10. server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  11. server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
  12. server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  13. server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
  14. server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  15. server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
  16. server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  17. server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
  18. server ntp6.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  19. server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  20. server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  21. server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
  22. server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
  23. server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
复制代码

2.不可联网

选择一台主机(例如192.168.1.102)作为时钟服务器,修改/etc/chrony.conf文件

  1. #1.注释掉所有server
  2. # Use public servers from the pool.ntp.org project.
  3. # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  4. #server 0.centos.pool.ntp.org iburst
  5. #server 1.centos.pool.ntp.org iburst
  6. #server 2.centos.pool.ntp.org iburst
  7. #server 3.centos.pool.ntp.org iburst
  8. #2.设置允许同步的客户端网段
  9. # Allow NTP client access from local network.
  10. allow 192.168.0.0/16
  11. #3.不能联网的情况下,以本地时钟作为时间源供客户端同步
  12. # Serve time even if not synchronized to a time source.
  13. local stratum 5
复制代码

其他主机,修改/etc/chrony.conf文件

  1. # Use public servers from the pool.ntp.org project.
  2. # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  3. server 192.168.1.102 iburst
复制代码

重启各主机的chronyd服务,并设为开机自启

  1. systemctl restart chronyd
  2. systemctl enable chronyd
复制代码

(6)配置ssh免密登录

CDH部署并不需要配置免密登录,此处是为了方便分发文件等操作

1.生成公钥和私钥:

  1. [root@hadoop102 .ssh]# ssh-keygen -t rsa
复制代码

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

2.将公钥拷贝到要免密登录的目标机器上

  1. [root@hadoop102 .ssh]# ssh-copy-id hadoop102.example.com
  2. [root@hadoop102 .ssh]# ssh-copy-id hadoop103.example.com
  3. [root@hadoop102 .ssh]# ssh-copy-id hadoop104.example.com
复制代码

3.在/bin目录下创建xsync文件,并赋予执行权限,文件内容如下

  1. #!/bin/bash
  2. #1. 判断参数个数
  3. if [ $# -lt 1 ]
  4. then
  5.   echo Not Enough Arguement!
  6.   exit;
  7. fi
  8. #2. 遍历集群所有机器
  9. for host in hadoop102.example.com hadoop103.example.com hadoop104.example.com
  10. do
  11.   echo ====================  $host  ====================
  12.   #3. 遍历所有目录,挨个发送
  13.   for file in $@
  14.   do
  15.     #4 判断文件是否存在
  16.     if [ -e $file ]
  17.     then
  18.       #5. 获取父目录
  19.       pdir=$(cd -P $(dirname $file); pwd)
  20.       #6. 获取当前文件的名称
  21.       fname=$(basename $file)
  22.       ssh $host "mkdir -p $pdir"
  23.       rsync -av $pdir/$fname $host:$pdir
  24.     else
  25.       echo $file does not exists!
  26.     fi
  27.   done
  28. done
复制代码

PART 03  安装JDK

(1)以下为测试并推荐使用Oracle JDK版本,其他版本可能会导致CDH出现某些不可预知的错误,请谨慎使用。

Oracle JDK Version Notes
1.8u181 Recommended / Latest version tested
1.8u162 Recommended
1.8u141 Recommended
1.8u131 Recommended
1.8u121 Recommended
1.8u111 Recommended
1.8u102 Recommended
1.8u91 Recommended
1.8u74 Recommended
1.8u31 Minimum required


(2)以下为测试并推荐使用Open JDK版本,其他版本可能会导致CDH出现某些不可预知的错误,请谨慎使用。

OpenJDK Version Notes
1.8u212 Recommended / Latest version tested
1.8u181 Minimum required


(3)安装JDK,将JDK压缩包上传到集群进行解压。注意JDK一定要部署在/usr/java目录下

  1. [root@hadoop102 ~]# mkdir /usr/java
  2. [root@hadoop102 ~]# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java/
复制代码

(4)配置JAVA_HOME环境变量

  1. root@hadoop102 ~]# sudo vim /etc/profile.d/my_env.sh
  2. #JAVA_HOME
  3. export JAVA_HOME=/usr/java/jdk1.8.0_181
  4. export PATH=$PATH:$JAVA_HOME/bin
复制代码

(5)让环境变量生效

  1. [atguigu@hadoop102 software]$ source /etc/profile.d/my_env.sh
复制代码

PART 04  安装MySql

1.卸载系统自带的mysql或者mariadb

  1. rpm -qa | grep -i -E mariadb\|mysql | xargs rpm -e --nodeps
复制代码

2.安装libaio依赖

  1. yum -y install libaio
复制代码

3.按顺序安装以下组件

  1. rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm
  4. rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
  5. rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
复制代码

4.启动msyql服务

  1. systemctl start mysqld
复制代码

5.查看root用户初始密码

  1. cat /var/log/mysqld.log | grep password
  2. 2020-10-14T06:51:15.036035Z 1 [Note] A temporary password is generated for root@localhost: #h*u7f5Lhf(8
复制代码

6.使用初始密码登录

  1. mysql -uroot -p '#h*u7f5Lhf(8'
复制代码

7.修改密码,并赋予root用户远程登录权限

  1. mysql> set password=password('Atguigu.123456');
  2. mysql> grant all privileges on *.* to 'root' @'%' identified by 'Atguigu.123456';
  3. mysql> flush privileges;
复制代码

8.配置mysql驱动,将驱动包上传到集群放置到对应目录。

集群中所有主机须在相同位置部署相同驱动,或使用分发脚本分发

  1. mkdir -p /usr/share/java/
  2. tar -zxvf mysql-connector-java-5.1.49.tar.gz
  3. cd mysql-connector-java-5.1.49
  4. cp mysql-connector-java-5.1.49-bin.jar /usr/share/java/mysql-connector-java.jar
复制代码

PART 05  安装CM

1.下载CM的压缩包并上传到集群中的某台主机(hadoop102.example.com),并解压

  1. tar -zxvf cm6.3.1-redhat7.tar.gz
复制代码

2.进入解压之后的路径,执行以下命令,以发布该yum仓库

  1. cd cm6.3.1
  2. python -m SimpleHTTPServer 8900
复制代码

可用浏览器访问 hadoop102.example.com:8900 地址,如响应如下页面,则表示yum仓库发布成功

3.在所有主机上创建yum仓库repo文件

  1. vim /etc/yum.repos.d/cloudera-manager.repo
复制代码

文件内容如下所示

  1. [cloudera-manager]
  2. name=Cloudera Manager 6.3.1
  3. baseurl=http://hadoop102.example.com:8900/
  4. gpgkey=http://hadoop102.example.com:8900/RPM-GPG-KEY-cloudera
  5. gpgcheck=1
  6. enabled=1
  7. autorefresh=0
  8. type=rpm-md
复制代码

4.选择一台主机作为主节点(hadoop102.example.com),执行以下命令

  1. sudo yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
复制代码

5.其余主机执行以下命令

  1. sudo yum -y install cloudera-manager-daemons cloudera-manager-agent
复制代码

6.安装完毕后,关闭SimpleHTTPServer,

并删除所有主机上的/etc/yum.repos.d/cloudera-manager.repo文件   

7.修改Cloudera Manager Agent配置文件

/etc/cloudera-scm-agent/config.ini,每台主机都要做相同修改

修改内容如下,将server_host参数改为Cloudera Manager Server所在节点的主机名

640 (66).png

PART 06  为CM配置数据库

1.创建各服务所需数据库

进入MySQL客户端,执行以下语句

  1. mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  2. mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  3. mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  4. mysql> CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  5. mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  6. mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
复制代码

2.执行CM数据库配置脚本

  1. /opt/cloudera/cm/schema/scm_prepare_database.sh --host hadoop102.example.com --scm-host hadoop102.example.com  mysql scm root Atguigu.123456
复制代码

说明:--host 数据库主机名

        --scm-host Cloudera Manager Server主机名

        mysq 数据库类型

        scm 数据库名称

        root 用户名

        Atguigu.123456 密码

若Cloudera Manager Server 和 MySQL部署在同一台主机,则可省略--host 和 --scm-host

PART 07  启动CM

1.在主节点(hadoop102.example.com)执行以下命令,启动Server 和 Agent

  1. systemctl start cloudera-scm-server cloudera-scm-agent
复制代码

2.在其余节点执行以下命令,启动Agent

  1. systemctl start cloudera-scm-agent
复制代码

3.访问Cloudera Manager Server 的Web页面,默认端口号为7180,界面如下

640 (67).png

PART 08  部署CDH

Cloudera Manager d节点的/opt/cloudera/p

1.上传CDH parcel到Cloudera Manager Server

节点的/opt/cloudera/parcel-repo路径下,上传CDH所需parcel

2.为parcel文件生成SHA1校验文件

  1. sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel | awk '{ print $1 }' > CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
复制代码

3.更改parcel文件所有者

  1. chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
复制代码

4.重启Cloudera Manager,令其识别到本地库

  1. sudo systemctl restart cloudera-scm-serve
复制代码

5.登录Cloudera Manager,初始用户名和密码均为admin。

640 (68).png

6.查看用户许可协议并接受,点击继续

640 (69).png

7.根据需要选择所需版本,点击继续

640 (70).png

8.进入集群部署欢迎界面,点击继续

640 (71).png

9.集群命名

640 (72).png

10.查找集群主机,点击当前管理的主机,并勾选所有主机,点击继续

640 (73).png

11.确认本地parcel库路径

640 (74).png

640 (75).png

12.选择本地parcel库中的CDH版本

640 (76).png

13.等待在集群中分配、解压、激活CDH parcel,完成后点击继续

640 (77).png

640 (78).png

14.检查网络和主机

640 (79).png

15.选择安装的服务

640 (80).png

640 (81).png

16.分配集群角色



640 (83).png

17.测试数据库连接

640 (84).png

18.审核各服务参数的默认配置,如没问题点击继续。

640 (85).png

19.等待安装,完成后点继续

640 (86).png

640 (87).png

20.确认安装完毕

640 (88).png







最新经典文章,欢迎关注公众号



---------------------

作者:暗送秋波
来源:weixin
原文:CDH6.3.2之安装与使用(一)



没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条