【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

相关推荐
Edingbrugh.南空2 小时前
Flink自定义函数
大数据·flink
gaosushexiangji3 小时前
利用sCMOS科学相机测量激光散射强度
大数据·人工智能·数码相机·计算机视觉
无级程序员5 小时前
大数据平台之ranger与ldap集成,同步用户和组
大数据·hadoop
lifallen6 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)7 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
张先shen7 小时前
Elasticsearch RESTful API入门:全文搜索实战(Java版)
java·大数据·elasticsearch·搜索引擎·全文检索·restful
Elastic 中国社区官方博客7 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
张先shen8 小时前
Elasticsearch RESTful API入门:全文搜索实战
java·大数据·elasticsearch·搜索引擎·全文检索·restful
天翼云开发者社区8 小时前
Doris-HDFS LOAD常见问题汇总(二)
大数据·doris
简婷187019987759 小时前
源网荷储 + 零碳园区:一场关于能源与未来的双向奔赴
大数据·人工智能·能源