【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

相关推荐
邮科摄像头定制3 小时前
邮科摄像头定制化视觉方案在安全生产中的深度应用
大数据·人工智能
Edingbrugh.南空3 小时前
Flink on YARN 部署
大数据·flink
sunxunyong4 小时前
cloudera manager 页面启动nodemanager失败,后端没有启动 8040
大数据·cloudera
安达发5 小时前
安达发|旅游经济“爆发“!APS软件调整旅行箱生产线收割旅游市场!
大数据·人工智能·物联网·aps排产软件·智能优化排产软件·aps智能优化排程软件
Flink_China5 小时前
官宣 | Fluss 0.7 发布公告:稳定性与架构升级
大数据·flink
wenzhangli77 小时前
筑牢安全防线:电子文件元数据驱动的 AI 知识库可控管理方案
大数据·人工智能
Mikhail_G7 小时前
Python初学者入门指南
大数据·运维·开发语言·python·数据分析
isNotNullX9 小时前
kettle好用吗?相较于国产ETL工具有哪些优劣之处?
大数据·数据库·数据仓库·信息可视化·etl
说私域9 小时前
开源AI大模型AI智能名片S2B2C商城小程序源码赋能下的“信息找人”:人工智能时代的精准零售场景
大数据·人工智能·小程序·开源·零售