第一部分 基础环境准备
1.1 基础环境及镜像包准备
1.1.1 基础环境要求
名称 | 地址 | 操作系统 | root密码 |
cdh-0001 | 10.1.0.30 | Centos 7.7 | ***** |
cdh-0001 | 10.1.0.105 | Centos 7.7 | |
cdh-0001 | 10.1.0.127 | Centos 7.7 | |
系统要求 | Centos 7.3以上 64bit 最小化安装 | ||
浏览器 | Google Chrome |
1.1.2 镜像包准备
文件介绍:
1)所有rpm文件为CM二进制安装包,后续需要放到本地yum路径下面,供安装使用
2)CDH开头的两文件一个为基础组件安装包,sha文件为类似MD5值娇艳的文件,需要放到/opt/cloudera/parcel-repo/,进行组件安装
3)allkeys.asc 为密文检验,跟yum源放一起
1.2 SSH免密登录,主节点
1)如果需要修改主机名:
hostnamectl set-hostname cdh-0001
2)ssh免密访问
ssh-keygen
cat .ssh/*.pub > .ssh/authorized_keys
scp -r .ssh root@10.1.0.30:/root/
scp -r .ssh root@10.1.0.105:/root/
1.3 数据盘磁盘挂载,所有节点
mkdir /opt
echo '/dev/vdb /opt xfs defaults,noatime 0 0' >> /etc/fstab
mkfs.xfs -f /dev/vdb
mount /dev/vdb /opt
1.4 主机名IP映射配置,所有节点
在在master 机器上执行如下命令
vi /etc/hosts
192.168.217.130 hdp-0001
192.168.217.131 hdp-0002
192.168.217.132 hdp-0003
scp /etc/hosts root@hdp-0002:/etc/hosts
scp /etc/hosts root@hdp-0003:/etc/hosts
1.5 关闭及禁止防火墙,所有节点
systemctl stop firewalld
systemctl disable firewalld
iptables -F
1.6 关闭SELinux,所有节点
vi /etc/sysconfig/selinux
#修改以下内容
SELINUX=disabled
1.7 开启时钟同步
yum install -y ntp
systemctl enable ntpd
systemctl start ntpd
1.8 Hpptd服务安装配置,主节点
yum install -y yum-utils createrepo
yum install -y httpd
systemctl enable httpd
systemctl start httpd
1.9 源数据库安装Mysql,主节点
tar xzvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local
mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql
1.9.1剩余详细安装过程参考链接:Linux 离线安装MySQL5.7_xuye0606的博客-CSDN博客
1.9.2 创建CDH源数据库、用户
1)创建scm用户
CREATE USER 'scm'@'%' IDENTIFIED BY 'mysql@Edmp.com';
grant all privileges on *.* to root@'%'identified by 'mysql@Edmp.com';
grant all privileges on *.* to 'scm'@'%' with grant option;
flush privileges;
2)创建数据库
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
grant all privileges on *.* to 'root'@'%' identified by 'mysql@Edmp.com' with grant option;
grant all privileges on *.* to 'scm'@'%' identified by 'mysql@Edmp.com' with grant option;
flush privileges;
1.9.3 部署JDBC,主节点
mkdir /usr/share/java
cd /usr/share/java
cp /opt/CDH/mysql-connector-java-5.1.47.jar ./
mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
1.9.4 mysql驱动分发各个节点
scp mysql-connector-java.jar root@cdh-0002:/usr/share/java
1.10 JDK基础环境安装,所有节点都安装
1.10.1 安装jdk:rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
1.10.2 配置环境变量:vim /etc/profile
echo 'export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo 'PATH=$PATH:$HOME/bin:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
java -version
1.10.3 环境变量生效:source /etc/profile
1.10.4 查验安装是否成功
java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
1.10.5 其余各个节点安装
第二部分 CDH部署:
2.1 httpd安装, 部署离线parcel源
2.1.1 安装包迁移
mkdir -p /var/www/html/cdh6_parcel/
cp manifest.json /var/www/html/cdh6_parcel/
cp allkeys.asc /var/www/html/cdh6_parcel/
cp *.rpm /var/www/html/cdh6_parcel/
cp CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel* /var/www/html/cdh6_parcel/
systemctl restart httpd
2.1.2 编写/etc/yum.repos.d/cloduera-manger.repo
[cloduera-manger]
name=Cloduera Manger 6.3.1
baseurl=http://cdh-0001/cdh6_parcel/
enable=1
gpgcheck=0
autorefresh=0
type=rpm-md
2.1.3 该文件分发的其他节点
scp /etc/yum.repos.d/cloduera-manger.repo root@cdh-0002:/etc/yum.repos.d/
2.1.4 创建repodata,本地yum源
cd /var/www/html/cdh6_parcel/ #本地yum配置路径
createrepo .
2.1.5 yum生效
systemctl restart httpd
yum clean all
yum makecache
2.1.6 前端页面查看,内容如下:
2.2 离线部署Cloudera-Manager
1)安装cloudera-manager-server,只在server节点,根据已经配置好的本地yum,拉取安装包
yum install -y cloudera-manager-daemons cloudera-manager-server cloudera-manager-agent
2) 安装cloudera-manager-agent端,所有节点都需要
#所有机器上进行安装
yum install -y cloudera-manager-agent
3)安装包移动parcel,为基础服务安装做准备
cd /opt/cloudera/parcel-repo
cp /opt/CDH/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* .
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
4) 注入CM-server库 与 CM-agent端的server
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root mysql@Edmp.com
systemctl enable cloudera-scm-server
systemctl start cloudera-scm-server
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
5)server节点查看配置完成的数据库链接配置,由4)自动生成
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=123456
6)查看agent节点配置server IP,如果不对,则需要修改成server所在IP
vim /etc/cloudera-scm-agent/config.ini
2.2 CDH服务组件部署,基于CM web端
2.2.1账号密码
http://*******:7180
账号密码:admin:admin
点击下一步安装即可
2.2.2 继续安装,点击下一步即可“:
vim /etc/cloudera-scm-agent/config.ini
use_tls=1
systemctl status cloudera-scm-agent
问题现象:
安装失败。 无法接收 Agent 发出的检测信号。
- 请确保主机的名称已正确配置。
- 请确保端口 7182 可在 Cloudera Manager Server 上访问(检查防火墙规则)。
- 请确保正在添加的主机上的端口 9000 和 9001 空闲。
- 检查正在添加的主机上 /var/log/cloudera-scm-agent/ 中的代理日志(某些日志可在安装详细信息中找到)。
- 如果在 Cloudera Manager 中启用为代理使用 TLS 加密(管理 -> 设置 -> 安全),请确保
/etc/cloudera-scm-agent/config.ini
在正在添加的主机上有use_tls=1
。重启相应的代理,并单击此处的重试链接。
java.io.FileNotFoundException: /opt/cloudera/parcel-repo/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha (Permission denied)
chmod -R 777 /opt/cloudera/
2021-09-25 20:17:24,169 WARN scm-web-151:com.cloudera.parcel.ClusterParcelStatus: Parcel not distributed but have active state ACTIVATING
curl -u admin:admin -X POST http://cdh-prd01:7180/api/v19/clusters/EDMP_PRD/parcels/products/CDH/versions/6.3.1-1.cdh6.3.1.p0.1470567/commands/deactivate
已启用透明大页面压缩,可能会导致重大性能问题,进行如下操作
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
2.2.3 安装完成后,如果生产环境,需要开启HA,主要有以下3个,在CK端点击即可
HDFS YARN-resource manager Zookeeper