CDH6.2无脑搭建配置全过程(小白入门版)

前言:软件下载链接在最下面

致谢:
CSDN大牛: 在IT中穿梭旅行
bilibili大牛: amoscloud2013

1. 前期准备

​ 5台8G的虚拟机分别是cdh1,cdh2,cdh3,cdh4,cdh5,虚拟机都安装下JDK

2. 修改IP和主机名

​ 选择centos7来进行集群部署,克隆三台虚拟机 全部是在root 权限下执行

2.1 修改主机名
# 修改第一台的主机名
[root@localhost ~]# hostnamectl set-hostname cdh1
# 修改第二台的主机名
[root@localhost ~]# hostnamectl set-hostname cdh2
# 修改第三台的主机名
[root@localhost ~]# hostnamectl set-hostname cdh3
# 修改第四台的主机名
[root@localhost ~]# hostnamectl set-hostname cdh4
# 修改第五台的主机名
[root@localhost ~]# hostnamectl set-hostname cdh5
2.2 查看IP地址
# 查看一、二、三、四、五台主机的ip地址并记录下来
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@cdh1 network-scripts]# vi ifcfg-enp0s3
3. 系统环境搭建
3.1 修改Hosts 域名映射
# 使用下面的命令,对所有的主机进行IP映射
[root@cdh1 network-scripts]# vi /etc/hosts
# 插入内容,刚刚记录好的IP和对应的主机名(每一台都插入,2.2步骤)
192.168.2.131   cdh1
192.168.2.132   cdh2
192.168.2.133   cdh3
192.168.2.134   cdh4
192.168.2.135   cdh5	
3.2 免密登录
# 生成密钥
[root@cdh1 ~]# ssh-keygen -t rsa
[root@cdh2 ~]# ssh-keygen -t rsa
[root@cdh3 ~]# ssh-keygen -t rsa
[root@cdh4 ~]# ssh-keygen -t rsa
[root@cdh5 ~]# ssh-keygen -t rsa
三次回车

# 生成的秘钥(公钥和私钥) 
# 同时拷贝到要联通的其他的服务器上包括自己的服务器
[root@cdh1 ~]# ssh-copy-id cdh1
Are you sure you want to continue connecting (yes/no)? yes
root@cdh1's password: *********
[root@cdh2 ~]# ssh-copy-id cdh1
Are you sure you want to continue connecting (yes/no)? yes
root@cdh1's password: *********
[root@cdh3 ~]# ssh-copy-id cdh1
Are you sure you want to continue connecting (yes/no)? yes
root@cdh1's password: *********
[root@cdh4 ~]# ssh-copy-id cdh1
Are you sure you want to continue connecting (yes/no)? yes
root@cdh1's password: *********
[root@cdh5 ~]# ssh-copy-id cdh1
Are you sure you want to continue connecting (yes/no)? yes
root@cdh1's password: *********

[root@cdh1 ~]# ssh-copy-id cdh2
Are you sure you want to continue connecting (yes/no)? yes
root@cdh2's password: *********
[root@cdh2 ~]# ssh-copy-id cdh2
Are you sure you want to continue connecting (yes/no)? yes
root@cdh2's password: *********
[root@cdh3 ~]# ssh-copy-id cdh2
Are you sure you want to continue connecting (yes/no)? yes
root@cdh2's password: *********
[root@cdh4 ~]# ssh-copy-id cdh2
Are you sure you want to continue connecting (yes/no)? yes
root@cdh2's password: *********
[root@cdh5 ~]# ssh-copy-id cdh2
Are you sure you want to continue connecting (yes/no)? yes
root@cdh2's password: *********

[root@cdh1 ~]# ssh-copy-id cdh3
Are you sure you want to continue connecting (yes/no)? yes
root@cdh3's password: *********
[root@cdh2 ~]# ssh-copy-id cdh3
Are you sure you want to continue connecting (yes/no)? yes
root@cdh3's password: *********
[root@cdh3 ~]# ssh-copy-id cdh3
Are you sure you want to continue connecting (yes/no)? yes
root@cdh3's password: *********
[root@cdh4 ~]# ssh-copy-id cdh3
Are you sure you want to continue connecting (yes/no)? yes
root@cdh3's password: *********
[root@cdh5 ~]# ssh-copy-id cdh3
Are you sure you want to continue connecting (yes/no)? yes
root@cdh3's password: *********

[root@cdh1 ~]# ssh-copy-id cdh4
Are you sure you want to continue connecting (yes/no)? yes
root@cdh4's password: *********
[root@cdh2 ~]# ssh-copy-id cdh4
Are you sure you want to continue connecting (yes/no)? yes
root@cdh4's password: *********
[root@cdh3 ~]# ssh-copy-id cdh4
Are you sure you want to continue connecting (yes/no)? yes
root@cdh4's password: *********
[root@cdh4 ~]# ssh-copy-id cdh4
Are you sure you want to continue connecting (yes/no)? yes
root@cdh4's password: *********
[root@cdh5 ~]# ssh-copy-id cdh4
Are you sure you want to continue connecting (yes/no)? yes
root@cdh4's password: *********

[root@cdh1 ~]# ssh-copy-id cdh5
Are you sure you want to continue connecting (yes/no)? yes
root@cdh5's password: *********
[root@cdh2 ~]# ssh-copy-id cdh5
Are you sure you want to continue connecting (yes/no)? yes
root@cdh5's password: *********
[root@cdh3 ~]# ssh-copy-id cdh5
Are you sure you want to continue connecting (yes/no)? yes
root@cdh5's password: *********
[root@cdh4 ~]# ssh-copy-id cdh5
Are you sure you want to continue connecting (yes/no)? yes
root@cdh5's password: *********
[root@cdh5 ~]# ssh-copy-id cdh5
Are you sure you want to continue connecting (yes/no)? yes
root@cdh5's password: *********

# 上面搞定以后,进行一下测试
[root@cdh1 ~]# ssh cdh2
Last login: Tue Jul 27 19:50:00 2021 from 192.168.2.67
[root@cdh2 ~]# exit
登出
Connection to cdh2 closed.
3.3 防火墙关闭
# 关闭防火墙
[root@cdh1 ~]# systemctl stop firewalld
# 永久关闭防火墙
[root@cdh1 ~]# systemctl disable firewalld
[root@cdh2 ~]# systemctl stop firewalld
[root@cdh2 ~]# systemctl disable firewalld
[root@cdh3 ~]# systemctl stop firewalld
[root@cdh3 ~]# systemctl disable firewalld
[root@cdh4 ~]# systemctl stop firewalld
[root@cdh4 ~]# systemctl disable firewalld
3.4 SELINUX 关闭
# 查看SELINUX状态
[root@cdh1 ~]# getenforce

# 把/etc/selinux/config文件里面的SELINUX=enforcing改成SELINUX=disabled
[root@cdh1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 临时把SELINUX关闭掉,避免重启服务器
[root@cdh1 ~]# setenforce 0

[root@cdh2 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@cdh3 ~]# setenforce 0

[root@cdh3 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@cdh3 ~]# setenforce 0

[root@cdh4 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@cdh4 ~]# setenforce 0

[root@cdh5 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@cdh5 ~]# setenforce 0

3.5 禁用透明大页
# 查看透明大页的设置和启动状态
[root@cdh1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag	(可不执行)
[root@cdh1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled	(可不执行)

# 临时关闭
[root@cdh1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@cdh1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 永久关闭
[root@cdh1 ~]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'  >> /etc/rc.local
[root@cdh1 ~]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'  >> /etc/rc.local
[root@cdh1 ~]# chmod +x /etc/rc.local

# 每台服务器都关闭
3.6 修改Linux swappiness参数(所有节点)
# 为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappines修改为0(cloudera建议10以下)
# 查看参数
[root@cdh1 ~]# cd /usr/lib/tuned
[root@cdh1 tuned]# grep "vm.swappiness" * -R

# 修改参数
[root@cdh1 tuned]# sed -i s/"vm.swappiness = 30"/"vm.swappiness = 10"/g /usr/lib/tuned/virtual-guest/tuned.conf

# 验证是否修改成功
[root@cdh1 tuned]# grep "vm.swappiness" * -R

# 每台服务器都修改
3.7 JDK安装
3.7.1 创建文件夹
[root@cdh1 ~]# mkdir /usr/java
3.7.2 上传jdk文件
把jdk‐8u202‐linux‐x64.tar.gz拖到java文件夹下
3.7.3 在java目录下解压压缩包
[root@cdh1 ~]# cd /usr/java
[root@cdh1 java]# tar -zxvf jdk‐8u202‐linux‐x64.tar.gz
3.7.4 修改配置
[root@cdh1 java]# vi /etc/profile

# 加入以下两句 添加如下配置
export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin

# 刷新配置
[root@cdh1 java]# source /etc/profile

# 查看是否成功
[root@cdh1 java]# javac -version 
3.7.5 给其他服务器安装
# 重复3.5.1到3.5.4步骤,在其他4台上安装JDK
3.8 上传JDBC依赖包(所有节点)

3.8.1 创建目录

[root@cdh1 java]# mkdir -p /usr/share/java
[root@cdh1 java]# cd /usr/share/java
3.8.2 上传jar包

把mysql-connector-java.jar文件拉入/usr/share/java 文件夹下

3.8.3 把每台机器都安装3.8.1和3.8.2方法上传

3.9 MySQL 安装
3.9.1 安装mysql
# 把mysql6个文件上传到第五台机器/root文件夹下
[root@cdh5 ~]# cd ~
# 首先查看自己的集群中是否安装mysql数据库
[root@cdh5 ~]# rpm -qa | grep mysql
# 要是安装了通过  yum -y remove  mysql 进行卸载

# 依次安装6个rpm包
[root@cdh5 ~]# rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm --nodeps --force
[root@cdh5 ~]# rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm --nodeps --force
[root@cdh5 ~]# rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm --nodeps --force
[root@cdh5 ~]# rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm --nodeps --force
[root@cdh5 ~]# rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm --nodeps --force
[root@cdh5 ~]# rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm --nodeps --force
3.9.2 启动mysql
[root@cdh5 ~]# systemctl start mysqld
3.9.3 设置开机自启动mysql
[root@cdh5 ~]# systemctl enable mysqld
3.9.4 将数据库设置成无密码状态
# 修改配置 
[root@cdh5 ~]# vi /etc/my.cnf
# 在第25行加入 skip-grant-tables
3.9.5 重启mysql服务器
[root@cdh5 ~]# systemctl restart mysqld
3.9.6 进入数据库
[root@cdh5 ~]# mysql -u root -p
# 无密码直接回车进入
3.9.7 选择数据库
mysql> use mysql;
3.9.8 修改mysql登录密码
# 修改密码为123456
mysql> update user set authentication_string=password("123456") where user='root';
3.9.9 刷新,退出
mysql> flush privileges;
mysql> quit;
3.9.10 再次登录数据库
[root@cdh5 ~]# mysql -u root -p
# 密码:123456
3.9.11 选择数据库
mysql> use mysql;
# 此处会报错
# 按下面执行
mysql> set password = PASSWORD('123456');
# 此处如果成功,继续,不成功跳过下三步看下面

mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql> flush privileges;
mysql> quit;

报错的话看这里

上面若设置密码不成功,报错如下:
mysql> set password = PASSWORD('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

执行下面这几步:

这个其实与validate_password_policy的值有关。

执行下面命令 修改 即可

mysql> set global validate_password_policy =0;
Query OK, 0 rows affected (0.04 sec)

mysql> set global validate_password_length = 6;
Query OK, 0 rows affected (0.00 sec)

然后重新 执行命令
mysql>SET PASSWORD = PASSWORD('your new password');

Query OK, 0 rows affected (0.00 sec)

2.ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER
3.flush privileges;
4.quit
3.9.12 再次登录数据库
[root@cdh5 ~]# mysql -u root -p
# 密码:123456
3.9.13 再次选择数据库
mysql> use mysql;
3.9.14 创建5个数据库
mysql> create database cmf default character set = 'utf8';
mysql> create database amon default character set = 'utf8';
mysql> create database hue default character set = 'utf8';
mysql> create database oozie default character set = 'utf8';
mysql> create database lyz default character set = 'utf8';
3.9.15 对mysql 数据库赋权

​ 任何服务器都可以连接它,执行下面几步操作:

mysql> select host from user where user = 'root';
mysql> update user set host='%' where user = 'root'; 
mysql> flush privileges; 
mysql> quit;
3.9.16 设置允许外网访问当前的mysql

​ 参考:centOS7 设置mysql数据库外网可以访问

1.查看目前防火墙是否对外开发了3306端口,最上面之前关闭了防火墙,需要先打开防火墙

[root@cdh5 ~]# systemctl start firewalld
[root@cdh5 ~]# systemctl status firewalld
[root@cdh5 ~]# firewall-cmd --list-all

2.查看3306端口是否开放

[root@cdh5 ~]# firewall-cmd --query-port=3306/tcp
# no 表示没有开放

3.开放3306端口

[root@cdh5 ~]# firewall-cmd --permanent --add-port=3306/tcp

4.重启防火墙

[root@cdh5 ~]# service firewalld restart

5再次.查看3306端口是否开放

[root@cdh5 ~]# firewall-cmd --query-port=3306/tcp

6.查看目前防火墙

[root@cdh5 ~]# firewall-cmd --list-all
3.9 安装NTP *
[root@cdh1 ~]# yum install -y ntp
[root@cdh1 ~]# vi /etc/ntp.conf
# 先注释 四个server  然后添加server主机ip 
# 配置/etc/sysconfig/ntpd
[root@cdh1 ~]# vi /etc/sysconfig/ntpd
# 追加下面这一行
SYNC_CLOCK=yes
# 启动NTP服务
[root@cdh1 ~]# systemctl start ntpd.service
# 设置为开机自启
[root@cdh1 ~]# systemctl enable ntpd.service
# 查看NTP状态
[root@cdh1 ~]# service ntpd status
3.11 安装httpd
[root@cdh1 ~]# yum -y install httpd
[root@cdh1 ~]# service httpd start
[root@cdh1 ~]# systemctl enable httpd
3.12 下载第三方依赖包
[root@cdh1 ~]# yum -y install chkconfig
yum -y install bind-utils
yum -y install chkconfig
yum -y install cyrus-sasl-gssapi
yum -y install cyrus-sasl-plain
yum -y install fuse
yum -y install fuse-libs
yum -y install gcc
yum -y install libxslt
yum -y install mod_ssl
yum -y install MySQL-python
yum -y install openssl
yum -y install openssl-devel
yum -y install perl
yum -y install portmap
yum -y install postgresql-server
yum -y install psmisc
yum -y install python-devel
yum -y install python-psycopg2
yum -y install python-setuptools
yum -y install sed
yum -y install sqlite
yum -y install swig
yum -y install zlib
3.15 CM组件和节点安装
3.15.1 上传CM组件
# 把CM组件包上传cdh1三个包全部上传
# cdh2 cdh3 cdh4 cdh5集群只上传 agent 和 daemons 包   
3.15.2 全部节点安装daemons和agent
[root@cdh1 ~]# yum localinstall -y cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm 
[root@cdh1 ~]# yum localinstall -y cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
3.15.3 cdh1 节点 安装server
[root@cdh1 ~]# yum localinstall -y cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
3.16 下载 安装CDH6.2.0
3.16.1 上传CDH组件
# 在CDH1节点全部上传
3.16.2 将不同的资源移动到对应的目录下
[root@cdh1 ~]# mv CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel* /opt/cloudera/parcel-repo/
[root@cdh1 ~]# mv PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel* /opt/cloudera/parcel-repo/
[root@cdh1 ~]# mv manifest.json /opt/cloudera/parcel-repo/
[root@cdh1 ~]# mv PHOENIX-1.0.jar /opt/cloudera/csd/

# 进入到parcel-repo目录下 效验 黄色框的字符码是否相等,来判断文件上传时是否正确
[root@cdh1 ~]# cd /opt/cloudera/parcel-repo/
[root@cdh1 parcel-repo]# sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
e9c8328d8c370517c958111a3db1a085ebace237  CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
[root@cdh1 parcel-repo]# cat CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
e9c8328d8c370517c958111a3db1a085ebace237

[root@cdh1 parcel-repo]# sha1sum PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel
d3564f5271969a72cb000caaad336f52efc6ea4a  PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel
[root@cdh1 parcel-repo]# cat PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha
d3564f5271969a72cb000caaad336f52efc6ea4a
3.16.3 修改server配置文件
[root@cdh1 parcel-repo]# vi /etc/cloudera-scm-server/db.properties
    1 # 12行去掉注释把localhost改成cdh5
    2 # 15行去掉注释
    3 # 18行去掉注释,把cmf改成root
    4 # 21行去掉注释,密码那里填写123456
    5 # 28行  setupType = EXTERNAL
3.16.4 修改全部节点的agent配置文件
[root@cdh1 parcel-repo]# vi /etc/cloudera-scm-agent/config.ini
[root@cdh2 ~]# vi /etc/cloudera-scm-agent/config.ini
......
15行把localhost修改为cdh1
3.17 启动CM,开始安装CDH集群
3.17.1 所有节点再次关闭防火墙
[root@cdh1 parcel-repo]# systemctl stop firewalld
[root@cdh1 parcel-repo]# systemctl disable firewalld
......
3.17.2 在cdh1 上启动server,和agent
[root@cdh1 parcel-repo]# systemctl start cloudera-scm-server
[root@cdh1 parcel-repo]# systemctl start cloudera-scm-agent
3.17.3 在其他节点上启动 agent
[root@cdh2 ~]# systemctl start cloudera-scm-agent
[root@cdh3 ~]# systemctl start cloudera-scm-agent
[root@cdh4 ~]# systemctl start cloudera-scm-agent
[root@cdh5 ~]# systemctl start cloudera-scm-agent
3.17.4 查看相关日志

另开一个窗口,查看相关日志。有异常就解决异常

[root@cdh1 ~]# tail -200f /var/log/cloudera-scm-server/cloudera-scm-server.log
3.17.5 查看7180端口是否生效

若生效,证明配置成功,可以登录web页面,若无任何信息显示,证明没生效,查看上面日志,看是否报错

[root@cdh1 parcel-repo]# netstat ‐tunlp | grep 7180
3.18 操作WEB 界面
3.18.1 浏览器登陆
打开网页输入地址:192.168.2.131:7180
登录名:admin
密码:admin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文档中用到的所有软件均已存放在百度网盘 提取码: in73

有疑问的,可以给我发私信留言,欢迎互相交流学习!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值