CDH环境搭建
1 集群准备
1 首先准备三台虚拟机,虚拟机ip地址可以ping通。
ip 名称
192.168.63.131 cdh1 (13.13.12.XX)
192.168.63.132 cdh2 (13.13.12.XX)
192.168.63.133 cdh3 (13.13.12.XX)
2 修改IP和主机名
选择centos7来进行集群部署,克隆三台虚拟机 全部是在root 权限下执行
1 修改主机名
hostnamectl set-hostname cdh1
2 修改IP地址
3 reboot 重启虚拟机
4 重新登录root 用户
查看IP地址和主机名是否更改成功
5 ping www.baidu.com 能否ping成功
6 其他两台主机重复上面操作。
3 系统环境搭建
三台虚拟机上 进行网络配置, 免密登录、防火墙关闭、selinux关闭
1 修改Hosts 域名映射
vi /etc/hosts
2 免密登录
查看我之前弄得免密登录链接
https://blog.csdn.net/weixin_38201936/article/details/85123014
直接这样也可以
3 防火墙关闭
(1)yum install -y lrzsz
(2)yum install -y iptables-services
systemctl stop firewalld
systemctl disable firewalld
4 SELINUX 关闭
5 JDK安装
链接:https://pan.baidu.com/s/1CiRVvNesYluA-V1DfzHlBA
提取码:d21d
(1)mkdir /usr/java
(2) 将下载的JDK压缩包放入该目录下
(3)在java目录下解压压缩包
tar -zxvf jdk‐8u202‐linux‐x64.tar.gz
(4) vi /etc/profile 添加如下配置
export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
(5)刷新 source /etc/profile
(6)查看是否成功 javac -version
6 安装NTP(此步骤有问题,需要参照老沙方法)
yum install -y ntp
(1)修改ntp.conf 配置文件 vi /etc/ntp.conf
(2)先注释 四个server 然后添加server主机ip
(3)vi /etc/sysconfig/ntpd
(4) 启动ntp 服务
systemctl start ntpd.service
systemctl enable ntpd.service
service ntpd status
7 修改系统参数
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf
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
8 安装httpd
yum -y install httpd
service httpd start
service httpd status
直接用ip地址登录,验证一下
9 下载第三方依赖包
在root 权限下,选择三个窗口同时安装一下依赖包
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
9 Mysql 安装
数据库只在cdh3 上面进行安装,将下面6个rpm包上传到集群中 rpm包自己百度云提取
链接:https://pan.baidu.com/s/1oO_38Wj5Ut1xcy9_EW7dOA
提取码:2bnw
上传集群截图如下:
(1) 首先查看自己的集群中是否安装mysql数据库
rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
(2)要是安装了 通过 yum -y remove mysql 进行卸载
(3)依次安装6个rpm包 安装命令如下:
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm --nodeps --force
(4)启动mysql
systemctl start mysqld
(5) 设置开机自启动mysql
systemctl enable mysqld
(6) 安装成功后 首先将数据库设置成无密码状态,需要修改配置
vi /etc/my.cnf
添加 skip-grant-tables 可保证为无密码状态(题外话 如果想要左边有行号 输入 :set nu 就可以显示 )
(7) 重启mysql服务器,保证生效 systemctl restart mysqld
(8)进入数据库 mysql -u root -p 按enter 键进入
(9) 选择数据库 use mysql;
(10) 修改密码为123456 修改命令
update user set authentication_string=password(“123456”) where user=‘root’;
(11、12) 刷新:flush privileges; 退出 quit;
(13) 在此进入数据库 ,并建几个数据库
mysql -u root -p 密码123456
use mysql; 会报错, 说让你重新设置密码
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
重新登录 mysql -u root -p 123456
use mysql;
create database cmf default character set = ‘utf8’;
create database amon default character set = ‘utf8’;
create database hue default character set = ‘utf8’;
create database oozie default character set = ‘utf8’;
create database lyz default character set = ‘utf8’;
(14) 设置允许外网访问当前的mysql
https://www.cnblogs.com/wangjinyu/p/11679696.html
1.查看目前防火墙是否对外开发了3306端口
firewall-cmd --list-all
2.查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
no 表示没有开放
3.开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
4.重启防火墙
service firewalld restart
5再次.查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
6.查看目前防火墙
firewall-cmd --list-all
10 mysql-connector-java-5.1.39 上传整理
在三个对话框中都执行
(1) mkdir /usr/share/java
(2) 将 mysql-connector-java-5.1.39.jar 上传到 /usr/share/java 目录下
jar包自取
链接:https://pan.baidu.com/s/1kbZ04-Ts6npSpCLCwiqrFA
提取码:c4hk
(3) mv mysql-connector-java-5.1.39.jar mysql-connector-java.jar
11 CM组件和节点安装
(1) 组件自提
链接:https://pan.baidu.com/s/1YYtvenDbZKsX1pm8xM0gvw
提取码:qx7l
(2) cdh2 cdh3 集群只上传 agent 和 daemons rpm包 cdh1 三个包全部上传
(3) 全部节点都安装daemons和agent
yum localinstall -y cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
yum localinstall -y cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
(4) cdh1 节点 安装server
yum localinstall -y cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
12 下载 安装CDH6.2.0
(1)安装包自提
链接:https://pan.baidu.com/s/1qxYYzCTmRCEziK_T6JC9Bg
提取码:34b6
(2)下载之后 在CDH1节点上传
全部上传之后,将不同的资源移动到对应的目录下
(3)mv CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel* /opt/cloudera/parcel-repo/
(4)mv PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel* /opt/cloudera/parcel-repo/
(5)mv manifest.json /opt/cloudera/parcel-repo/
(6)mv PHOENIX-1.0.jar /opt/cloudera/csd/
(7)进入到parcel-repo目录下 效验 黄色框的字符码是否相等,来判断文件上传时是否正确
(8)修改server配置文件
# cdh3上修改server (ps..直接查看13.13.12.96 /etc/cloudera‐scm‐server/db.properties)
vi /etc/cloudera‐scm‐server/db.properties
# 12行去掉注释把localhost改成cdh3
# 15行去掉注释
# 18行去掉注释,把cmf改成root
# 21行去掉注释,密码那里填写123456
# 28行 setupType = EXTERNAL
(9)修改agent配置文件
# **三台机器**全部节点修改agent
vi /etc/cloudera-scm-agent/config.ini
# 把localhost修改为cdh1
(10)修改数据库远程访问权限
在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
执行use mysql;
select host,user,password from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
执行:update user set host=’%’ where user =‘root’;
执行刷新权限:flush privileges;
(10)数据库配置文件修改在cdh1的 /opt/cloudera/cm/schema目录下
./scm_prepare_database.sh -h cdh3 -P3306 mysql cmf root 123456
13、启动CM,开始安装CDH集群
# 在cdh1 上启动server
systemctl start cloudera-scm-server
#另开一个窗口,查看相关日志。有异常就解决异常
tail -200f /var/log/cloudera-scm-server/cloudera-scm-server.log
# 在全部节点上启动agent
systemctl start cloudera-scm-agent
# 当在 cdh1上 netstat ‐tunlp | grep 7180 有内容时,说明我们可以访问web页面了
WEB操作界面请参照:https://blog.csdn.net/weixin_38201936/article/details/106140498
其中要注意:
CDH 默认的会把所有中间件装在一台服务器上,选择的时候注意分散开来。