【Centos7安装Cloudera Manager5.12、CDH5.12详细步骤】

安装Cloudera Manager(5.12.1)一定要细心,每一步走错都可能造成最终安装失败。

安装Cloudera Manager(5.12.1)一定要硬件资源充足。

本示例参考了众多网上资料(放在文末),消耗了1000根白发终于肝出了这篇文章。

安装包放在了文末,按需下载。

本次安装共分为四章,可自行查看。
一、安装cloudera manager
二、安装CDH和集群
三、常见的问题
四、卸载重装

步骤分解

开始

共三台服务器,其中119作为server端,119、120、122作为agent端

ip 主机名 系统 安装类型
192.x.x.119 cdh119 centos7.9 server、agent
192.x.x.120 cdh120 centos7.9 agent
192.x.x.122 cdh122 centos7.9 agent

说明:(all)三个节点都要操作,(server)服务端节点操作,(agent)从节点操作

设置固定IP(all)
关闭防火墙(all)
bash 复制代码
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
关闭selinux(all)
bash 复制代码
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled 
重启reboot
查看getenforce
设置主机名(all)
bash 复制代码
不同主机设置不同名,不要闭眼复制
hostnamectl set-hostname cdh119
vim /etc/sysconfig/network 设置HOSTNAME=cdh119
vim /etc/hosts 添加所有节点
192.x.x.119 cdh119
192.x.x.120 cdh120
192.x.x.122 cdh122
免密(all)

生成密钥,分发给其他节点

bash 复制代码
ssh-keygen -t rsa
ssh-copy-id cdh119(此命令第二步输入提示输入yes/no,请输入yes)
ssh-copy-id cdh120
ssh-copy-id cdh122
时间工具ntp(all)
bash 复制代码
cd /etc/yum.repos.d
把现有的repo文件全部放在一个备份的文件夹里,防止一会yum更新有失效的url
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache fast
yum install ntp
ntp同步(server)
bash 复制代码
vim /etc/ntp.conf
注释掉所有的restrict开头的配置
取消下面这一行注释,将ip和掩码改为真实信息:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

找到server 0.centos.pool.ntp.org iburst,并将所有server配置进行注释
添加下面两行内容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动
systemctl restart ntpd
systemctl enable ntpd
查看状态
ntpq -p
ntp同步(agent)

当主节点reach状态到达17后,开始配置从节点

bash 复制代码
vim /etc/ntp.conf
注释所有restrict和server配置

添加server的IP,保存
server 192.x.x.119

执行手动同步
ntpdate 192.x.x.119

启动
systemctl restart ntpd
systemctl enable ntpd(或者 systemctl enable ntpd.service)
安装jdk1.8(all)

选择Linux x64 rpm版本:我这里选择了jdk1.8.0_121

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

bash 复制代码
卸载openjdk
rpm -qa | grep openjdk
rpm -qa | grep openjdk |xargs rpm -e --nodeps
rpm -qa | grep java
rpm -qa | grep java |xargs rpm -e --nodeps

安装oracle jdk
cd /mnt/storage
rpm -ivh jdk-8u121-linux-x64.rpm

添加环境变量 (虽然rpm不需要配环境变量,但保险起见,最好加上)
vim /etc/profile
#java 1.8
export JAVA_HOME=/usr/java/jdk1.8.0_121 
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

保存后重载文件
source /etc/profile

查看
java -version
echo $JAVA_HOME

如果tar版安装(一般装在/usr/local/java),后期安装CDH集群会找不到JDK报错,可设置软连接解决此问题

bash 复制代码
mkdir -p /usr/java/default(CDH寻找JDK的路径)
ln -s /usr/local/java/jdk1.8.0_231/* /usr/java/default/
安装mysql5.6(server)

最好是5.6和Cloudera Manager5.12比较匹配,我第一次装5.7,最后无论怎么配置Cloudera都连不上

这里我修改了mysql数据路径,你也可以不改

bash 复制代码
卸载mysql和mariadb 
rpm -qa|grep -i mysql |xargs rpm -e --nodeps
rpm -qa | grep -i mariadb |xargs rpm -e --nodeps
find / -name mysql
find / -name mariadb
找出来之后 rm -rf 删除

安装mysql5.6
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server

修改配置
vim /etc/my.cnf

注释掉 symbolic-links=0

#修改数据路径
datadir=/mnt/storage/mysql/data
#socket=/mnt/storage/mysql/mysql.sock(这个不要修改了,不然下面初始化找不到)
log-error=/mnt/storage/mysql/log/mysqld.log
pid-file=/mnt/storage/mysql/pid/mysqld.pid
#修改字符集
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

保存并授权
cd /mnt/storage/mysql
mkdir data log pid
sudo chown -R mysql:mysql /mnt/storage/mysql
sudo chmod -R 750 /mnt/storage/mysql

启动
systemctl status mysqld
systemctl start mysqld
systemctl enable mysqld

执行初始引导,我这里设置了密码123456,远程连接,删除测试库(不会使用自行查阅)
mysql_secure_installation

设置完后root依然不能远程,手动登录设置(你也可以不设置)
mysql -uroot -p
>mysql:GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
>mysql:FLUSH PRIVILEGES;

此时查看root已经可以远程连接
use mysql;
SELECT User, Host FROM user;
创建scm用户可库(server)
bash 复制代码
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'scm'@'%' IDENTIFIED BY 'scm';
GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'%';
FLUSH PRIVILEGES;
安装java-mysql驱动(all)

下载地址:https://downloads.mysql.com/archives/c-j/

拷贝到/usr/share/java/下并重命名
有的说是拷贝到clouder安装路径/cm-5.12.1/share/cmf/lib下,我先不用这个路径

bash 复制代码
cp mysql-connector-java-5.1.38.jar /usr/share/java/mysql-connector-java.jar
开始安装cloudera-manager及CDH@@@@@@@@@@@@@@@@@@@@@@@@@@
解压cloudera-manager(all)
bash 复制代码
cd /mnt/storage
mkdir cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /mnt/storage/cloudera-manager
创建系统用户cloudera-scm(all)
bash 复制代码
useradd --system --home=/mnt/storage/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
创建模板目录,把parcel、sha、json放在此目录(server)
bash 复制代码
mkdir -p /mnt/storage/cloudera/parcel-repo
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera/parcel-repo
创建安装目录(all)
bash 复制代码
mkdir -p /mnt/storage/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera-manager
创建软连接(all)

也可以安装好后在界面修改,我这里没有执行这一步

bash 复制代码
mkdir -p /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
rm -rf /opt/cloudera/parcel-repo
ln -s /mnt/storage/cloudera/parcel-repo /opt/cloudera/parcel-repo
rm -rf /opt/cloudera/parcels
ln -s /mnt/storage/cloudera/parcels /opt/cloudera/parcels
配置agent的server指向(all)
bash 复制代码
vim /mnt/storage/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini
将server_host修改为server的主机名(cdh119)
使用CM脚本创建数据库。如果前面sql初始化了scm就不用这一步(server)
bash 复制代码
cd /mnt/storage/cloudera-manager/cm-5.12.1/share/cmf/schema
./scm_prepare_database.sh mysql cm1 -hcdh119 -uroot -p123456 --scm-host cdh119 scm scm scm
修改db配置为scm(server)
bash 复制代码
cd /mnt/storage/cloudera-manager/cm-5.12.1/etc/cloudera-scm-server
vim db.properties 

com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=cdh119
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=scm
启动(很慢)
bash 复制代码
/mnt/storage/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start(server)
/mnt/storage/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start(agent)
访问
bash 复制代码
http://192.x.x.119:7180/	
admin
admin
查看启动日志
bash 复制代码
tail -f /mnt/storage/cloudera-manager/cm-5.12.1/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /mnt/storage/cloudera-manager/cm-5.12.1/log/cloudera-scm-agent/cloudera-scm-agent.log

到这里Cloudera Manager算是安装完毕
下一篇文章介绍CDH安装以及常见问题

参考文章
https://zhuanlan.zhihu.com/p/137631403
https://segmentfault.com/a/1190000045320282
https://zhuanlan.zhihu.com/p/658822854
https://blog.csdn.net/lukabruce/article/details/80805929
https://cloud.tencent.com/developer/article/2047067
https://developer.aliyun.com/article/879178
https://blog.csdn.net/weixin_40040107/article/details/91454921

安装包 :
https://pan.baidu.com/s/1ljiVVf7DNziL_ImevWcDbA 提取码: qnat

相关推荐
言之。4 小时前
大模型嵌入 vs ES:语义搜索与关键字搜索
大数据·elasticsearch·搜索引擎
SirLancelot15 小时前
StarRocks-基本介绍(一)基本概念、特点、适用场景
大数据·数据库·数据仓库·sql·数据分析·database·数据库架构
阑梦清川5 小时前
es的docker部署和docker相关的可可视化面板工具介绍
大数据·elasticsearch·docker
Mr_LiYYD6 小时前
elasticsearch数据迁移
大数据·elasticsearch·搜索引擎
dalianwawatou7 小时前
GitLab 代码基础操作清单
大数据·elasticsearch·gitlab
Costrict7 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio
阿里云大数据AI技术8 小时前
云栖实录|阿里云 Milvus:AI 时代的专业级向量数据库
大数据·人工智能·搜索引擎
vivo互联网技术8 小时前
vivo HDFS EC 大规模落地实践
大数据·hdfs
QYResearch9 小时前
2025-2031年我国葡萄糖年产量和市场规模
大数据
QYResearch9 小时前
2025-2031年全球磷矿石市场规模和增长趋势
大数据