【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 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交4 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
还是大剑师兰特10 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
1892280486113 小时前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存
武子康14 小时前
大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践
大数据·后端·kafka
CCF_NOI.15 小时前
解锁聚变密码:从微观世界到能源新未来
大数据·人工智能·计算机·聚变
杨荧15 小时前
基于Python的电影评论数据分析系统 Python+Django+Vue.js
大数据·前端·vue.js·python
数据智研16 小时前
【数据分享】上市公司创新韧性数据(2007-2023)
大数据·人工智能
辞--忧1 天前
双十一美妆数据分析:洞察消费趋势与行业秘密
大数据
时序数据说1 天前
国内时序数据库概览
大数据·数据库·物联网·时序数据库·iotdb