一、机器配置
相关命令参考:https://blog.csdn.net/weixin_38642130/article/details/86291781
系统:Centos 7.6 X 5台
内核:4C
内存:8G
存储:300G
磁盘挂载(机器申请下发后并未进行磁盘挂载)
参考:
https://jingyan.baidu.com/album/aa6a2c14bd8cc70d4c19c4c8.html?picindex=1
http://caibaojian.com/liunx-mount-new-harddisk.html
二、相关文件下载
(由于文件较大,建议本地下载后直接上传至服务器 与基础环境准备同时做,过程注意中文字符:)
在线下载:(仅限cloudera 6.2.0 rpm)
wget --recursive --no-parent --no-host-directories
https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos
wget https://archive.cloudera.com/cm6/6.2.0/allkeys.asc -P /var/www/html/cloudera-repos/cm6/6.2.0/
离线下载:
Python 2.7
https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
JDK 8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
cloudera 6.2.0 rpm
https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/
cloudera 6.2.0 parcels
https://archive.cloudera.com/cdh6/6.2.0/parcels/
Mysql 5.7
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
Mysql JDBC
http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar
ISO镜像
CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G(跟随系统版本)
链接:http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
Linux版本查看:https://blog.csdn.net/weixin_42336774/article/details/86268018
ISO版本选择:https://www.cnblogs.com/caidingyu/p/10679422.html
三、基础环境准备
参考:(安装前建议通读以下内容及链接)
https://blog.csdn.net/qq_45092794/article/details/90574714https://www.jianshu.com/p/610cce9f9026
1. 用户权限(机器-all 所有机器)
root
2. 修改主机名 hostname(机器-all)
vi /etc/hostname
bigdata-131
hostnamectl set-hostname bigdata-131
echo "bigdata-131" >> /etc/sysconfig/network
3. 修改主机映射(机器-all)
vi /etc/hosts
192.168.20.131 bigdata-131
4. 关闭防火墙 SELinux(机器-all)
// 禁止防火墙自启
systemctl disable firewalld
// 关闭防火墙
systemctl stop firewalld
// 检查
cat /etc/sysconfig/selinux
reboot 重启服务器
5. 同步主机时间 ntp (机器-all)
yum install ntp -y
// 立即同步时间
ntpdate ntp1.aliyun.com
// 设置同步时间池
sed -i 's/server 0.centos.pool.ntp.org iburst/server ntp1.aliyun.com/g' /etc/ntp.conf
sed -i 's/server 1.centos.pool.ntp.org iburst/server ntp2.aliyun.com/g' /etc/ntp.conf
sed -i 's/server 2.centos.pool.ntp.org iburst/server ntp3.aliyun.com/g' /etc/ntp.conf
sed -i 's/server 3.centos.pool.ntp.org iburst/server ntp4.aliyun.com/g' /etc/ntp.conf
// 开机自启
systemctl enable ntpd
// 启动ntp服务
systemctl start ntpd
6. 主机免密 ssh(机器-all)
参考:https://www.cnblogs.com/xiaoaofengyue/p/8080639.html
// 生成秘钥
ssh-keygen -t rsa
// 拷贝至其它节点
scp -p ~/.ssh/id_rsa.pub root@机器ip:/root/.ssh/authorized_keys
( .ssh目录的权限必须是700 .ssh/authorized_keys文件权限必须是600)
7. 修改虚拟内存交换页大小(机器-all)
// 临时修改
sysctl -w vm.swappiness=0
// 永久修改
echo "vm.swappiness=0" > /etc/sysctl.conf
8. 禁用透明页(kernel优化)(机器-all)
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
// 添加开机自启
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
// 赋予权限
chmod u+x /etc/rc.local
9. 安装JDK(机器-all)
// 解压文件
// 添加环境变量
10. 安装Python(机器-all)
// 确认Python环境
pyhton -v
// Centos7.6 自带 python2.7
11. 拷贝JDBC驱动至所有节点(机器-all)
// 下载文件并修改名称
mv mysql-connector-java-8.0.16.jar mysql-connector-java.jar
// 拷贝至各节点路径 /usr/share/java
12. 安装MySQL(机器-master)
// 检查和卸载自带mysql、mariadb
rpm -qa | grep mysql
rpm -e --nodeps mysql...
rpm -qa | grep mariadb
rpm -e --nodeps mariadb...
// 解压文件
tar -xvf mysql-5.7.26-1.el7.x86_64.tar
// 安装MySQL
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-devel-5.7.2ommunity-devel-5.7.26-1.el7.x86_64.rpm mysql-community-libs-*.rpm mysql-community-embedded-*.rpm
// 启动mysql
systemcel start mysqld
systemcel enable mysqld
// 获取mysql root初始临时密码, /var/log/mysqld.log
grep 'temporary password' /var/log/mysqld.log
// 更改root用户初始密码
// 创建数据库
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE rmon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
// 创建集群统一登录用户权限
四、cloudare Manager
参考:
https://www.jianshu.com/p/610cce9f9026
1. 制作YUM本地源
删除其它文件(机器-all)
(安装ClouderaManager需要同时制作本地系统ISO源以及CM安装文件源)
# rm -rf /etc/yum.repos.d/*.repo
2. 制作本地系统ISO源(机器-master)
a) 上传ISO文件并挂载系统iso包成虚拟设备
# mkdir /iso
# mount -o loop ./CentOS-7-x86_64-DVD-1810.iso /iso
b) 启动HTTP服务(机器-master)
# cd /iso
#python -m SimpleHTTPServer 7900
注意:该命令会一直卡住,后面的操作需另开SHELL窗口
c) 每台服务器上增加以下内容(黄行不是)到文件: /etc/yum.repos.d/centos.repo (机器-all)
[root@master01 ~]# cat /etc/yum.repos.d/centos.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl= http://192.168.20.131:7900
gpgcheck=1
enabled=1
gpgkey= http://192.168.20.131:7900/RPM-GPG-KEY-CentOS-7
注意地址是否正确,可以手动在浏览器中打开地址测试
3. 制作CM YUM源
a) 准备文件(机器-master)
若离线已下载文件,直接上传
# https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/(下载链接下所有文件并上传至目录)
# mkdir -p /var/www/html/cloudera-repos/cm6/6.2.0/redhat7/yum
# https://archive.cloudera.com/cm6/6.2.0/allkeys.asc
/var/www/html/cloudera-repos/cm6/6.2.0/(路径下创建对应文件并写入链接内容)
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6
如果Linux能联网也可使用以下命令直接在线下载文件:
# wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos
# wget https://archive.cloudera.com/cm6/6.2.0/allkeys.asc -P /var/www/html/cloudera-repos/cm6/6.2.0/
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6
b) 启动HTTP服务(机器-master)
# cd /var/www/html
# python -m SimpleHTTPServer 8900
c) 每台服务器上增加以下内容到文件: /etc/yum.repos.d/cloudera-repo.repo (机器-all)
[root@master01 ~]# cat /etc/yum.repos.d/cloudera-repo.repo
[cloudera-repo]
name=cloudera-repo
baseurl=http://192.168.20.131:8900/cloudera-repos/cm6/6.2.0/redhat7/yum
enabled=1
gpgcheck=0
4. 安装Cloudera Manager
4.1 安装Cloudera Manager Server
在master01主机上执行以下命令, 同时安装CM Server和CM Agent(机器-master)
# yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
安装需要一会时间,会安装依赖包:
注:若安装失败,安装命令可分开执行 yum install cloudera-manager-daemons
报错大致如下:(此次卡在 yum install cloudera-manager-agent)
尝试解决,命令如下:
思路1: 由于包冲突导致问题发生,将重复包删除
参考:https://my.oschina.net/u/1261643/blog/1840518
// 列出重复的包
package-cleanup --dupes
// 删除重复的包
package-cleanup --cleandupes --removenewestdupes
结果:将已重复的包将至40余个,问题仍未解决
思路2: ISO镜像版本与系统不匹配
参考:https://blog.csdn.net/weixin_42506599/article/details/92632842
安装需要ISO镜像,检查后确实与系统版本不匹配 遂下载正确版本
镜像地址:https://www.cnblogs.com/caidingyu/p/10679422.html
镜像变更后,仅剩一个包冲突
尝试yum卸载包,出现类似错误
命令:yum remove openssl-libs-1.0.2k-16.el7_6.1.x86_64 --nodeps
尝试rpm卸载包,卸载成功 但yum install将不可用,重新安装后问题解决
参考:https://www.cnblogs.com/sky-cheng/p/10956307.html
openssl链接:http://rpmfind.net/linux/centos/7.6.1810/updates/x86_64/Packages
// 卸载命令
rpm -e openssl-libs-1.0.2k-16.el7_6.1.x86_64 --nodeps
// 安装命令 (本地下载包后上传服务器)
rpm -ivh openssl-libs-1.0.2k-16.el7_6.1.x86_64.rpm
rpm -ivh openssl-devel-1.0.2k-16.el7_6.1.x86_64.rpm
4.2 安装Cloudera Manager Agent
在每台服务器执行以下命令安装Agent(机器-all 除了master)
# yum install -y cloudera-manager-agent cloudera-manager-daemons
配置Agent文件: /etc/cloudera-scm-agent/config.ini (机器-all)
将 server_host=localhost
更改为: server_host=bigdata-131
5. 初始化CM配置数据库(机器-master)执行脚本 scm_prepare_database.sh 进行初始化,命令格式:
# cd /opt/cloudera/cm/schema/
# ./scm_prepare_database.sh -h bigdata-131 -P 3306 mysql scm cdh 123456
参数说明: -h MysqlHost -P MysqlPort dbType dbName dbUser dbPasswd
6. parcel文件
移动3个parcel文件到parcel-repo中:
# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel /opt/cloudera/parcel-repo/
# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
注意:最后一个文件将.sha1名字改成了 .sha
链接:https://archive.cloudera.com/cdh6/6.2.0/parcels/(若文件无法下载,则创建相应文件)
7. 启动CM Server/Agent
在Master01上启动CM Server
# systemctl start cloudera-scm-server
# systemctl enable cloudera-scm-server
在所有主机上启动CM Agent
# systemctl start cloudera-scm-agent
# systemctl enable cloudera-scm-agent
# enable命令是启用开始起动
检查启动日志
路径:tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
8. CM 管理端集群安装
登录CM管理界面,最好使用Chrome浏览器
地址: http://192.168.1.205:7180 admin/admin
管理端安装
具体参考:https://www.jianshu.com/p/610cce9f9026
注:(安装组件时建议通读以下内容及相关链接)
a. 集群部分组件高可用配置,需在创建时添加 如HBase
参考:https://blog.csdn.net/silentwolfyh/article/details/86658133
b. 集群部分组件高可用配置,启用与禁用
启用:https://blog.csdn.net/czz1141979570/article/details/86805598
禁用:https://blog.csdn.net/czz1141979570/article/details/86809307
c. 根据实际情况可自定义安装组件,建议安装前创建目录并赋予权限 777
d. 安装组件时,文件路径建议统一规划 如:/opt/appdata/cluster (具体根据磁盘划分)
e. 集群各组件具体配置如下:例 HDFS
f. 集群组件版本查看 主机>所有主机>选定一台>组件