一、环境准备
各版本: CentOS 7.9 * 64;CM 6.3.1;CDH 6.3.2
1.配置主机网络(所有服务器均设置)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改部分
BOOTPROTO=static
NAME=dx07 ##名字自己设置
ONBOOT=yes
新增部分
IP根据自己网络设置:
本地-控制面板\网络和 Internet\网络连接-VMnet8-属性-IPV4-属性-查看IP和子网掩码;
VMware-编辑-虚拟网络编辑器-VMnet8-子网地址;
这两个地址要保证在同一个网段,如果不在,可以修改虚拟网络编辑器(点击更改设置)
IPADDR=192.168.1.107
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS2=8.8.8.8
2.修改主机名和/etc/hosts文件(所有服务器均设置)
(1)配置主机名:
临时修改:
hostnamectl set-hostname "主机名"
永久修改: vi /etc/sysconfig/network 添加
NETWORKING=yes
HOSTNAME=dx07.server.com ##这个是主机名,要求是FQDN格式,自己配置即可
(2)配置/etc/hosts文件,建立IP和主机名的映射,集群中其他节点信息也需要配置进来,主机名要求是FQDN格式,添加以下信息(注意:文件中原有信息不要改动,不要删除!):
192.168.1.107 dx07.server.com dx07
192.168.1.108 dx08.server.com dx08
192.168.1.109 dx09.server.com dx09
(3)重启 reboot
(4)
hostname -f #检查主机名
hostname -i #检查IP
ping www.baidu.com
ping dx07
ping dx08
ping dx09
#本地 win+r cmd
ping 192.168.1.107
ping 192.168.1.108
ping 192.168.1.109
3.设置防火墙(所有服务器均设置;Ambari设置及部署期间,与管理的主机进行通信,某些端口必须开放且可用) CentOS7 默认使用firewalld防火墙,如果想换回iptables防火墙,可关闭firewalld并安装iptables
查看防火墙状态 firewall-cmd --state
关闭防火墙开机自启动: systemctl disable firewalld
关闭当前运行防火墙: service firewalld stop
4.安装JDK并配置JAVA_HOME(所有节点)
上传安装包
解压JDK tar -zxvf xx.tar.gz
cd /usr/local 将解压后的JDK安装包发送到其他机器(所有机器都要安装配置)
scp -r ./jdk1.8.0_291 root@dx08:相同目录下
scp -r ./jdk1.8.0_291 root@dx09:相同目录下
配置JAVA_HOME
cd jdk安装包 pwd
vi /etc/profile
export JAVA_HOME=pwd
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
javac -version
5.安装MySQL
(1)首先清楚centos7中默认的数据库mariadb
卸载mariadb:
rpm -qa |grep mariadb |xargs yum remove -y
(2)安装MySQL
①上传MySQL安装包(工具、rz) (安装rz\sz yum -y install lrzsz)到指定目录
②解压到指定目录 tar -xvf xx.tar -C 指定路径
③安装 按照依赖关系依次安装 rpm 包
需要先安装:
yum install net-tools
输入 y
否则会报错:net-tools 被 mysql-community-server-5.7.27-1.el7.x86_64
依赖关系依次为 common→libs→client→server
分步执行
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
rpm -ivh xx.rpm xx.rpm ...
一步执行
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm mysql-community-libs-5.7.27-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-5.7.27-1.el7.x86_64.rpm mysql-community-devel-5.7.27-1.el7.x86_64.rpm mysql-community-client-5.7.27-1.el7.x86_64.rpm mysql-community-server-5.7.27-1.el7.x86_64.rpm
安装完成之后再次执行相关命令
如果显示已安装 先查看已安装的mysql
命令:rpm -qa | grep -i mysql
再删除已安装MySQL,再重新执行相关命令
yum remove mysql-community-server-5.6.36-2.el7.x86_64
装好再查看已安装MySQL 共9个(与上边安装的.rpm数量一致)
④修改配置
vi /etc/my.cnf
datadir数据存放目录,可以修改
添加 #默认使用UTF8编码
character_set_server=utf8
init_connect='SET NAMES utf8'
⑤初始化MySQL
mysqld --initialize
如果报错,到MySQL目录下,修改目录所有者 一般是在 /var/lib/mysql ;不是则可以 find / -name ibdata1 找到对应目录
chown -R mysql:mysql *
#修改权限
chmod -R 777 ./*
#开机自启
systemctl enable mysqld
#启动MySQL服务
systemctl start mysqld
#查看MySQL状态
service mysqld status
查看MySQL初始化密码 cat /var/log/mysqld.log |grep password
进入MySQL数据库 mysql -uroot -p 输入密码
修改MySQL数据库密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; #将root用户密码修改为root,exit退出,使用新密码重登
报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:密码太简单,不符合密码策略
解决:
set global validate_password_policy=LOW;
set global validate_password_length=4;
MySQL远程访问授权配置
grant all privileges on *.* to root@"%" identified by '密码' with grant option;
flush privileges; #刷新权限 *.*表示所有库的所有表
⑥确认是否有mysql的jar包(在主节点上)
ls /usr/share/java/mysql-connector-java.jar
没有则安装
yum install mysql-connector-java* 输入 y
6.关闭SELINUX
(1)临时时禁用:setenforce 0
(2)永久禁用(重启生效):vi /etc/sysconfig/selinux
SELINUX=disabled
7.ssh免密登录(只需配置主节点到其他节点的免密登录即可,主节点自己也要配置与自身的免密登录)
(1)生成公钥和私钥 ssh-keygen -t rsa 回车-回车-回车
(2)将本机公钥发送给其他机器 ssh-copy-id -i ~/.ssh/id_rsa.pub IP 在主节点执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.107 yes root密码
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.108 yes root密码
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.109 yes root密码
(3)主节点ssh登录验证 ssh dx07 ssh dx08 ssh dx09
8.下载第三方依赖(所有agent节点)
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
9.创建CM用的数据库
创建各组件需要的数据库
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
10.部署本地yum源(主节点)
执行命令 yum install -y httpd
启动httpd 执行命令 service httpd start
在浏览器输入主节点网址: 192.168.1.107 回车,看是否启动成功!
11.以rpm方式安装CDH
master端需要的安装包
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
mysql-connector-java-8.0.15-1.el7.noarch.rpm
slave端需要的安装包
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
master:
yum -y install psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap rpcbind fuse-libs redhat-lsb net-tools postgresql-server
yum -y install mod_ssl openssl-devel python-psycopg2 MySQL-python
#安装cm-server,cm-agent
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
安装包自带脚本,配置数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root root
修改CM配置文件(所有节点)
vim /etc/cloudera-scm-agent/config.ini
server_host=localhost ---> server_host=ph07
安装oracle-j2sdk 所有节点执行
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
12.CM创建parcel本地库(所有节点)
(1)Server节点创建目录 /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
(2)将cdh文件上传到该目录
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
manifest.json
重命名
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
二、启动CM服务
1.启动服务节点: dx07
[root@dx07 ~]# systemctl start cloudera-scm-server
2.启动工作节点: dx07 、 dx08 、 dx09
[root@dx07 ~]# systemctl start cloudera-scm-agent
[root@dx08 ~]# systemctl start cloudera-scm-agent
[root@dx09 ~]# systemctl start cloudera-scm-agent
3.查看Server启动日志
[root@dx07 cm]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
出现Started Jetty server.表示成功 浏览器访问 192.168.1.107:7180 用户名密码默认 admin/admin
4.关闭CM服务
1.关闭工作节点: dx07 、 dx08 、 dx09
[root@dx07 ~]# systemctl stop cloudera-scm-agent
[root@dx08 ~]# systemctl stop cloudera-scm-agent
[root@dx09 ~]# systemctl stop cloudera-scm-agent
2.关闭服务节点: dx07
[root@dx07 ~]# systemctl stop cloudera-scm-server
三、页面配置
继续-同意许可-继续-选择免费版本-继续-继续
集群名称: DX_CDH_01
Specify Hosts: 当前管理的主机,全部勾选-继续
选择方法: 使用parcel
选择存储库: 选择CDH版本,一定要选择我们本地下载好的版本;选择其他版本会从网上下载
其他Parcel: 有本地库可以选择,没有则选择无
点击继续 1.如果已下载不是100%,说明上一步的版本选择有误 2.如果一直卡在分配,看日志 tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
检查集群: 分别点击 检查网络 和 检查主机 这里可以查看问题和警告
Select Services: 选择要安装的服务
自定义角色分配: 按照集群情况分配节点
审核更改: 可以对集群配置进行更改
命令详细信息: 配置启动完成 点击继续
点击完成
四、添加服务
点击主机名右边的下三角---添加服务;具体过程同上边第三步