文章目录
- CDH 6.3.2集群安装部署
- 一 CDH概要
- 1.1 CDH的背景
- 1.2 CDH介绍
- 二 环境准备
- 2.1 安装部署环境
- 2.2 部署规划
- 2.3 服务器主机映射
- 2.4 服务器免登录配置
- 2.5 防火墙关闭
- 2.6 关闭Selinux
- 2.7 设置最大打开文件
- 2.8 关闭最大透明页面压缩
- 2.9 设置Swappiness空间
- 2.10 安装JDK
- 2.11 MySQL安装部署
- 2.11.1 MySQL5.7.28安装部署
- 2.11.2 MySQL 8.0.26安装部署
- 2.12 所有节点安装MySQL JDBC驱动依赖包
- 2.13 创建ClouderaManager用户
- 三 CM和CDH部署
- 3.1 上传安装文件
- 3.2 创建cloudera-manager目录
- 3.3 分发cloudera-manager到其他节点
- 3.4 每个节点安装daemons、agent
- 3.5 主节点安装server
- 3.6 Server配置
- 3.7 Agent配置
- 3.8 初始化Server需要的数据库
- 3.9 部署离线parcel源
- 3.10 启动CMS的Server和Agent
- 3.11 Windows配置映射
- 3.12 访问Server
- 四 CDH集群安装
- 4.1 CMS主页面
- 4.2 接受许可协议
- 4.3 版本选择
- 4.4 CDH集群安装
- 4.4.1 CDH集群安装主页面
- 4.4.2 集群名称
- 4.4.3 指定主机
- 4.4.4 选择pracel
- 4.4.5 安装Parcels
- 4.4.6 检测网络性能和主机
- 4.4.7 选择服务
- 4.4.8 角色分配
- 4.4.9 数据库设置
- 4.4.10 审核配置更改
- 4.4.11 首次运行CDH集群
- 4.4.12 汇总
- 五 CDH 集群操作
- 5.1 CDH集群主页面
- 5.2 HDFS服务
- 5.3 YARN服务
- 5.4 Hue服务与操作
- 5.5 用户&角色管理
- 六 CDH集群拓展
- 6.1 CDH安装后目录介绍
- 6.2 启用HDFS的HA
- 6.3 启用YARN的HA
- 6.4 其它CDH相关问题(升级Hive版本、安装Apache Spark等)
CDH 6.3.2集群安装部署
一 CDH概要
1.1 CDH的背景
- 原生的Hadoop版本很多,兼容性得自己调研,成本高
- 缺乏便捷的管理工具或者平台,运维效率低,成本高
- Hadoop相关组件发行商也比较多
基于以上一些原因,企业大数据开发和生产多采用CDH集群,便于集群的运维和管理等。
1.2 CDH介绍
首先,先说一下Cloudera公司,Cloudera公司提供了一个灵活的、可扩展的、容易集成和方便管理的平台,提供Web浏览器操作,容易上手。Cloudera产品和解决方案能提供部署、管理 Apache Hadoop和相关项目,维护和分析数据,保证数据安全受保护等。Cloudera公司提供一系列产品,包括:CDH、CMS、Impala、Search和Manager等。
CDH是Cloudera 提供的一个基于Web浏览器管理的灵活、可扩展的、容易集成和方便管理开源Hadoop和相关项目的平台。
CDH版本很多,CDH 6.3.x及以前版本都是免费,之后的版本是收费版本,本文档主要是使用CMS 6.3.1和CDH6.3.2版本。
CDH 6.3.2 Packaging具体如下:
Component | Component Version | Changes Information |
---|---|---|
Apache Avro | 1.8.2 | Changes |
Apache Flume | 1.9.0 | Changes |
Apache Hadoop | 3.0.0 | Changes |
Apache HBase | 2.1.4 | Changes |
HBase Indexer | 1.5 | Changes |
Apache Hive | 2.1.1 | Changes |
Hue | 4.3.0 | Changes |
Apache Impala | 3.2.0 | Changes |
Apache Kafka | 2.2.1 | Changes |
Kite SDK | 1.0.0 | Changes |
Apache Kudu | 1.10.0 | Changes |
Apache Solr | 7.4.0 | Changes |
Apache Oozie | 5.1.0 | Changes |
Apache Parquet | 1.9.0 | Changes |
Parquet-format | 2.4.0 | Changes |
Apache Pig | 0.17.0 | Changes |
Apache Sentry | 2.1.0 | Changes |
Apache Spark | 2.4.0 | Changes |
Apache Sqoop | 1.4.7 | Changes |
Apache ZooKeeper | 3.4.5 | Changes |
二 环境准备
2.1 安装部署环境
本次CDH和CMS安装环境及版本说明:
环境名称 | 版本 | 备注 |
---|---|---|
window操作系统 | 11 | |
VMware | 16.1.0 build-17198959 | |
Centos | 7.7 | |
Java | 1.8.0_152 | |
MySQL | 5.7.28 | |
chrome | 版本 103.0.5060.114(正式版本) (64 位) |
2.2 部署规划
主机名 | IP | 域名 | 服务 | 备注 |
---|---|---|---|---|
qianfeng01 | 192.168.10.101 | 无 | 8G/2CPU | |
qianfeng02 | 192.168.10.102 | 无 | 3G/2CPU | |
qianfeng03 | 192.168.10.103 | 无 | 3G/2CPU |
2.3 服务器主机映射
添加本机的静态IP和本机的主机名及域名之间的映射关系,如果不用域名可以不用添加,如果阿里云服务器也建议使用静态IP,我的具体配置如下:
[root@qianfeng01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.101 qianfeng01
192.168.10.102 qianfeng02
192.168.10.103 qianfeng03
注意
- 规划中的每一台服务器都需要执行
- 如果该步骤已经做过,直接跳过即可
2.4 服务器免登录配置
# 1. 使用rsa加密技术,生成公钥和私钥。一路回车键即可
[root@qianfeng01 ~]# ssh-keygen -t rsa
# 2. 使用ssh-copy-id命令
[root@qianfeng01 .ssh]# ssh-copy-id root@qianfeng01
[root@qianfeng01 .ssh]# ssh-copy-id root@qianfeng02
[root@qianfeng01 .ssh]# ssh-copy-id root@qianfeng03
# 3. 验证免登录
[hadoop@qianfeng01 .ssh]# ssh qianfeng01
[hadoop@qianfeng01 .ssh]# ssh qianfeng02
[hadoop@qianfeng01 .ssh]# ssh qianfeng03
# 4. 继续在qianfeng02和qianfeng03生成公钥和私钥,给三台节点互相拷贝和验证是否达到免登录。
2.5 防火墙关闭
每台规划安装的服务器都执行如下的命令。
#停止防火墙
[root@qianfeng01 ~]# systemctl stop firewalld
#禁用防火墙(开机不再自启动)
[root@qianfeng01 ~]# systemctl disable firewalld
#停止网络管理
[root@qianfeng01 ~]# systemctl stop NetworkManager
#禁用网络管理
[root@qianfeng01 ~]# systemctl disable NetworkManager
注意
- 如果是阿里云服务器或者云服务器,没有办法或不允许关闭的,需要注意添加防火墙规则
- 如果可以关闭,每一台服务器都需要执行防火墙关闭和禁止开机自启动
2.6 关闭Selinux
每台服务器都需要将selinux关闭掉,这是linux系统的一个安全机制,进入文件中将SELINUX设置为disabled,不关闭安装CM就应该会报错。
#关闭selinux,设置SELINUX=permissive,或者disable 然后重启服务器
[root@qianfeng01 ~]# vim /etc/selinux/config
.........
SELINUX=disabled
.........
#关闭selinux,当前session生效,setenforce 0,其中的0就是permissive
[root@qianfeng01 ~]# setenforce 0
2.7 设置最大打开文件
每台服务器都执行如下命令行。
#设置,再末尾添加即可
[root@qianfeng01 ~]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 1024999
* soft nproc 65535
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
2.8 关闭最大透明页面压缩
每台服务器都执行,并且设置后需要重启服务器。
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /etc/rc.local
2.9 设置Swappiness空间
每台服务器都需要执行,并且设置后需要重启服务器。
echo "vm.swappiness=0" >> /etc/sysctl.conf
Cloudera建议将交换空间设置为0,过多的交换空间会引起GC的耗时激增。
2.10 安装JDK
每台规划的安装CM或者CDH的服务器都需要执行如下的JDK安装操作,如果已经做过,忽略即可。
-
卸载之前的JDK
# 卸载之前的原因,主要是需要保证安装的JDK版本的正确性。 [root@qianfeng01 ~]# rpm -qa | grep jdk # 如果有,请卸载 [root@qianfeng01 ~]# rpm -e xxxxxxxx --nodeps # 将查询到的内置jdk强制卸载
-
上传JDK安装包到指定的路径
使用MobaXterm或者FinalShell直接上传即可,上传到 /root/softwares 下
-
解压JDK到指定安装路径
[root@qianfeng01 ~]# cd /root/softwares && tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local
-
配置环境变量
[root@qianfeng01 local]# vim /etc/profile ...上述内容省略,在末尾添加即可... # Java Environment export JAVA_HOME=/usr/local/jdk1.8.0_152 export PATH=$PATH:$JAVA_HOME/bin
-
重新引导,使得环境变量生效
[root@qianfeng01 local]# source /etc/profile
-
验证JDK是否配置完成
[root@qianfeng01 local]# java -version
-
创建jdk的软链接
#分别在qianfeng01、qianfeng02和qianfeng03上执行如下命令: mkdir -p /usr/java ln -s /usr/local/jdk1.8.0_152 /usr/java/default
注意
- Cloudera强烈建议安装oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm,否则容易造成JAVA_HOME不被发现。但是我测试不安装他建议的oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm很多次都没有问题。这个大家自行考虑。
- 上诉第7步骤创建软链接都建议需要操作,否则cdh安装可能有很多地方意向不到的错误,因为CDH默认都在/usr/java下找jdk。
2.11 MySQL安装部署
我下面给出MySQL 5.7.28和MySQL 8.0.26的安装部署,根据自己的需求,选择一种即可(MySQL部署一台服务器即可,生产部署集群或主从)。本次安装我选择的是MySQL 5.7.28来安装。
2.11.1 MySQL5.7.28安装部署
#如下是5.7.28的mysql的安装命令
1. 上传服务器的home目录
2. 分别执行命令如下
#解压MySQL安装包
tar -xvf /home/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
#查询mariadb,并将其卸载
rpm -qa| grep mariadb
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
rpm -qa| grep mariadb
#依次安装解压出来的MySQL包
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
#安装server需要的依赖
yum -y install perl net-tools
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
rpm -ivh /home/mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm #为了cms的agent安装需要,单独MySQL不需要
#启动或者停止MySQL服务
systemctl start mysqld
systemctl status mysqld
#查询MySQL的初始密码
cat /var/log/mysqld.log | grep password
#登录MySQL进行密码策略修改和授权
mysql -uroot -p
输入密码(刚才查询出来的初始化密码)
mysql>set global validate_password_policy=low;
mysql>set global validate_password_length=2;
mysql>alter user root@localhost identified by '123456';
# 3. 远程授权
create user root@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
# 4. 删除mysql表中的Host='localhost' and User = 'root'
mysql> delete from mysql.user where Host="localhost" and User = 'root';
# 5. 刷新权限
flush privileges;
2.11.2 MySQL 8.0.26安装部署
-
安装包准备
通过SSH工具,将MySQL的RPM安装包上传到Linux的 ~/software 目录下。 MySQL的RPM安装包,可以在MySQL的官网下载,也可以直接使用课程提供的资料。 注意事项: - 在官网下载安装包的时候,注意版本号 - mysql-8.0.26-1.el7.aarch64.rpm-bundle.tar - 这里的el7,表示适用于CentOS7的版本。注意,不要下载el6的。 - aarch64: 这个表示arm版本的CentOS,如果是amd64架构的,可以选择x64。
-
安装前准备
# CentOS7中,系统默认采用的数据库是mariadb,这个数据库与MySQL冲突! # 因此,在安装MySQL之前,需要先将其卸载! [root@qianfeng01 ~]# rpm -qa | grep mariadb # 查询是否已经安装了mariadb mariadb-libs-5.5.68-1.el7.aarch64 # 查询结果。如果没有这个结果,说明没有安装。 # 强制卸载mariadb # --nodeps: 强制卸载,RPM卸载程序的时候,如果这个程序被其他的程序依赖,是无法卸载的。 # 此时,就需要使用--nodeps,忽略依赖,强制卸载。 # 下面的卸载命令中,卸载的包是上方查询到的包 [root@qianfeng01 ~]# rpm -e mariadb-libs-5.5.68-1.el7.aarch64 --nodeps
-
安装MySQL
# 安装MySQL, 其实就需要安装 mysql-community-server, 但是它依赖其他的包 [root@qianfeng01 mysql]# rpm -ivh mysql-community-common-8.0.26-1.el7.aarch64.rpm [root@qianfeng01 mysql]# rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.aarch64.rpm [root@qianfeng01 mysql]# rpm -ivh mysql-community-libs-8.0.26-1.el7.aarch64.rpm [root@qianfeng01 mysql]# rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.aarch64.rpm [root@qianfeng01 mysql]# rpm -ivh mysql-community-client-8.0.26-1.el7.aarch64.rpm [root@qianfeng01 mysql]# yum install -y net-tools [root@qianfeng01 mysql]# rpm -ivh mysql-community-server-8.0.26-1.el7.aarch64.rpm
-
启动MySQL的服务
# 查看MySQL服务的运行状态 [root@qianfeng01 ~]# systemctl status mysqld # 如果MySQL服务没有开启,则开启 [root@qianfeng01 ~]# systemctl start mysqld
-
登录到MySQL
# 在第一次开启MySQL服务的时候,会自动生成一个随机的密码 [root@qianfeng01 ~]# grep password /var/log/mysqld.log # 到mysqld.log文件中查找 password 2020-12-16T07:47:14.117739Z 1 [Note] A temporary password is generated for root@localhost: pVLJs6&o(QQe # 使用这个随机密码登录到MySQL [root@qianfeng01 ~]# mysql -u root -p pVLJs6&o(QQe # 这里用自己的密码登录
-
修改密码
# 1. 修改MySQL的密码策略(安全等级) # MySQL默认的密码安全等级有点高,在设置密码的时候,必须同时包含大小写字母、数字、特殊字符,以及对位数有要求 show variables like '%validate_password%'; set global validate_password.policy=LOW; set global validate_password.length=2; set global validate_password.mixed_case_count=0; set global validate_password.number_count=0; set global validate_password.special_char_count=0; # 2. 修改密码 alter user root@localhost identified by '123456'; # 3. 远程授权 create user root@'%' identified by '123456'; grant all privileges on *.* to 'root'@'%' with grant option; # 4. 删除mysql表中的Host='localhost' and User = 'root' mysql> delete from mysql.user where Host="localhost" and User = 'root'; # 5. 刷新权限 flush privileges;
-
重新登录
试着退出MySQL,用新的密码重新登录。如果可以登录成功,那么MySQL的安装就到此结束! MySQL在安装完成后,是不需要配置环境变量的。因为RPM的安装特性,启动脚本会被放到/usr/bin下。这个路径本来 就在环境变量里面,不需要单独配置。
-
提前为CMS创建相关数据库
# 登录mysql mysql -uroot -p # 登录后执行下面的sql CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm123456'; CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE DATABASE report DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all privileges on *.* to 'root'@'%' identified by '123456'; flush privileges;
注意
- MySQL使用一台服务器安装部署即可。
- MySQL一定要授权远程某一个指定IP规则的服务器能登录到。
- 如果使用阿里云或者物理机服务器,建议把密码等级和权限等级都提升。
2.12 所有节点安装MySQL JDBC驱动依赖包
# 主节点创建/usr/share/java目录,将jdbc的jar包放进去
[root@qianfeng01 home]# mkdir -p /usr/share/java # cdh默认搜索目录
[root@qianfeng01 home]# cp mysql-connector-java-5.1.28-bin.jar /usr/share/java/mysql-connector-java.jar # 去掉版本号
#采用远程分发
[root@qianfeng01 cloudera-scm-server]# scp -r /usr/share/java qianfeng02:/usr/share/
[root@qianfeng01 cloudera-scm-server]# scp -r /usr/share/java qianfeng03:/usr/share/
2.13 创建ClouderaManager用户
每台节点都执行如下操作。
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
三 CM和CDH部署
3.1 上传安装文件
╭liyadong at ~
╰$ scp ~/Desktop/CDH6.3.2.zip qianfeng01:/home
[root@qianfeng01 home]# unzip ./CDH6.3.2.zip
需要安装包的,留言我发你链接即可,留言必发!!!
3.2 创建cloudera-manager目录
#创建目录
[root@qianfeng01 home]# mkdir /opt/cloudera-manager
#解压CDH安装文件
[root@qianfeng01 home]# cd ./CDH6.3.2
[root@qianfeng01 CDH6.3.2]# tar -zxvf cm6.3.1-redhat7.tar.gz
#移动
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
#列出软件
[root@qianfeng01 CDH6.3.2]# ll /opt/cloudera-manager/
总用量 1185872
-rw-r--r--. 1 root root 10483568 3月 25 13:24 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 1203832464 3月 25 13:25 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 11488 3月 25 13:25 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
3.3 分发cloudera-manager到其他节点
[root@qianfeng01 CDH6.3.2]# scp -r /opt/cloudera-manager/ qianfeng02:/opt/
[root@qianfeng01 CDH6.3.2]# scp -r /opt/cloudera-manager/ qianfeng03:/opt/
3.4 每个节点安装daemons、agent
#先安装agent需要的依赖(每台节点都执行)
[root@qianfeng01 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
[root@qianfeng02 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
[root@qianfeng03 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
#agent需要提前安装的依赖(每台节点都执行)
[root@qianfeng01 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb
[root@qianfeng02 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb
[root@qianfeng03 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb
#每台节点安装cloudera-manager-daemons,安装完毕后生成/opt/cloudera目录
[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng02 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng03 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
#每台节点安装
[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng02 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng03 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
3.5 主节点安装server
[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
3.6 Server配置
## 主节点修改server的配置,确定以下项与之前创建库时一致,用户名和密码授权的也要和如下一致
[root@qianfeng01 CDH6.3.2]# vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=qianfeng01
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm123456
com.cloudera.cmf.db.setupType=EXTERNAL
3.7 Agent配置
## 每个从节点修改agent的配置,指向server的节点
[root@qianfeng01 CDH6.3.2]# vi /etc/cloudera-scm-agent/config.ini
server_host=qianfeng01
3.8 初始化Server需要的数据库
# 初始化cm数据库(密码自己设置)
[root@qianfeng01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm123456
# 脚本参数解释
scm_prepare_database.sh 【数据库类型】 【CDH要创建的数据库名称】 【CDH数据库用户名】 【CDH数据库用户密码】
3.9 部署离线parcel源
[root@qianfeng01 CDH6.3.2]# mkdir -p /opt/cloudera/parcel-repo
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/manifest.json /opt/cloudera/parcel-repo
3.10 启动CMS的Server和Agent
## 主节点启动server
[root@qianfeng01 CDH6.3.2]# systemctl start cloudera-scm-server
# 查看日志,出现7180说明启动成功,,有错误解决错误
[root@qianfeng01 CDH6.3.2]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
## 查看端口 7180
[root@qianfeng01 CDH6.3.2]# netstat -nltcp | grep 7180
# qianfeng01:7180可以进入web页面表示成功,接下来启动agent
## 每个从节点启动agent
[root@qianfeng01 CDH6.3.2]# systemctl start cloudera-scm-agent
## 停止
[root@qianfeng01 CDH6.3.2]# systemctl stop cloudera-scm-server
[root@qianfeng01 CDH6.3.2]# systemctl stop cloudera-scm-agent
[root@qianfeng01 CDH6.3.2]# systemctl disable cloudera-scm-server # 关闭开机启动
[root@qianfeng01 CDH6.3.2]# systemctl disable cloudera-scm-agent # 关闭开机启动
3.11 Windows配置映射
#编辑如下的配置文件,mac系统为/etc/hosts文件,追加如下3行映射
C:\Windows\System32\drivers\etc\hosts
192.168.10.101 qianfeng01
192.168.10.102 qianfeng02
192.168.10.101 qianfeng03
3.12 访问Server
http://qianfeng01:7180 ,默认用户名和密码都为admin,自己登录即可。
四 CDH集群安装
4.1 CMS主页面
登录CMS,成功后进入CMS的主页面如下,如下图所示:
4.2 接受许可协议
点击如上图中的右下角的继续接受许可协议,如下图所示:
4.3 版本选择
CMS总共提供三个版本,最左边是免费版、中间是试用期60天版(到期后会通知,不缴费自动转免费版)和最右企业版。我这里选择试用60天,如下图所示:
4.4 CDH集群安装
4.4.1 CDH集群安装主页面
进入群集安装,选择右下角的继续即可:
4.4.2 集群名称
集群名称填写,如下图所示:
4.4.3 指定主机
选择主机,用于安装CDH相关软件包的主机,会自动检测出来,我们只需要勾选即可,如下图所示:
4.4.4 选择pracel
选择CDH的版本,即CDH对应的Parcels(它里面包含一系列的CDH相关服务的软件包),这个地方显示的就是我们之前部署离线parcel源
步骤的结果,然后继续即可:
4.4.5 安装Parcels
开始安装Parcels,将主服务器上的Parcels下载、分配到其它服务器,并进行解压和激活可用操作,所以这一步需要稍微等一会,等待安装成功如下图所示:
4.4.6 检测网络性能和主机
检测服务器之间的网络性能、到达性,该步骤防火墙最好关闭;检查所有主机环境是否符合安装Parcels相关包,比如检测JAVA环境是否一致和最大透明页是否关闭等。检测成功如下图所示:
两个都检测成功如下所示:
4.4.7 选择服务
选择安装那些服务,它提供几类系列搭配和自定义服务,我这里选择大数据开发,如下图所示:
4.4.8 角色分配
就是将选择的服务分配到指定主机上安装,默认就设置了,大家认真检查一下是否是自己所需要的即可,适当调整,也可以进入按主机查看来进行调整也行,具体分配如下图所示:
4.4.9 数据库设置
配置对应服务的元数据库、用户名和密码,使用提前创建的好的数据库,用户名对对应的库一定要有对应的权限,测试全部连接成功后,选择右下角的继续。具体如下图所示:
4.4.10 审核配置更改
可以根据自己需要修改一些服务的相关配置,我这儿全部采用默认,具体如下图所示:
4.4.11 首次运行CDH集群
第一次运行CDH集群的相关命令详细信息,不需要操作,如有报错,查看对应的错误信息,等待完成。然后选择继续即可:
4.4.12 汇总
服务安装和运行的汇总,通常都是完成状态,如下图:
点击完成,到此为止CDH安装结束。
五 CDH 集群操作
5.1 CDH集群主页面
CDH集群主页面面服务及状态查看:
上图中,绿色✅小圆圈代表正常,黄色对勾小圆圈代表异常,红色对勾小圆圈代表错误。黄色小扳手代表配置异常。
CDH主页面的顶部顶部导航概览:
如主机下的角色分配:
5.2 HDFS服务
HDFS的配置如下:
访问HDFS的NameNode服务:
访问如下图:
5.3 YARN服务
YARN服务介绍:
查看ResourceManager的Web UI:
5.4 Hue服务与操作
Hue相关服务:
Hue创建用户:
Hue面板介绍:
Hue执行Hive相关命令:
5.5 用户&角色管理
添加CDH用户:
添加用户:
角色则是,为某个用户分配某个集群什么权限,自行操作即可。
六 CDH集群拓展
6.1 CDH安装后目录介绍
CDH在服务器相关服务的安装目录:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/服务名称
CDH在服务器相关的配置目录:/etc/服务名称 或者 /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/服务名称,建议第一种方式。
CDH在服务器相关服务命令行目录:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/服务命令 或 /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/服务名称/bin/对应服务
6.2 启用HDFS的HA
参考我的文章:https://blog.csdn.net/u010839779/article/details/129162558?spm=1001.2014.3001.5502
6.3 启用YARN的HA
参考我的文章:https://blog.csdn.net/u010839779/article/details/129254636?spm=1001.2014.3001.5502
6.4 其它CDH相关问题(升级Hive版本、安装Apache Spark等)
参考我的CDH分类专栏:https://blog.csdn.net/u010839779/category_12198067.html
参考:
https://blog.csdn.net/suwei825/article/details/120761437