1. 集群规划 1.1 机器准备:
hostname 内网IP 功能 内存 核数 磁盘
cm.cdh.com 192.168.32.180 CM和CDH安装 16G 4 200G
master.cdh.com 192.168.32.181 Master节点 16G 4 1T
slave1.cdh.com 192.168.32.182 Slave节点 16G 4 1T
slave2.cdh.com 192.168.32.183 Slave节点 16G 4 1T
1.2 软件版本:
组件 描述
linux Centos7.5
CM 5.16.1
CDH 5.16.1
MySQL 5.6
JDK 1.8.0_181
2. 环境配置 2.1 基本配置(本配置在CM机器上操作,其他机器秩序操作 前三步) (1) 修改network (修改计算机标示名)
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cm.cdh.com
(2) 修改Hosts (修改dns)
vim /etc/hosts
192.168.32.180 cm.cdh.com
192.168.32.181 master.cdh.com
192.168.32.182 slave1.cdh.com
192.168.32.183 slave2.cdh.com
(3) 修改Hostname (修改主机名)
vim /etc/hostname
cm.cdh.com
#以下操作只针对CM机器 (4) 检查关闭防火墙,注意:需要重启
systemctl status firewalld.service
systemctl disable firewalld.service
(5) 安装OpenSSL
yum install openssl
(6) 检查安装NTP时间服务
rpm -qa | grep ntp
yum install ntp ntpdate -y
(7) 关闭selinux
vim /etc/selinux/config
SELINUX=disabled
(8) 安装httpd服务
yum install httpd -y #安装
systemctl start httpd.service #开启
systemctl enable httpd.service #开机启动
把临时数据放入到/var/www/html,在浏览器输入ip地址,查看能否看到临时文件 2.2 SSH免密登录(所有)
ssh-keygen -t rsa #生成公钥私钥
ssh-copy-id cm.cdh.com #拷贝公钥到其他机器
ssh-copy-id master.cdh.com
ssh-copy-id slave1.cdh.com
ssh-copy-id slave2.cdh.com
同理:在其他机器上面执行上面语句 2.3 安装JDK(所有) 创建java目录
mkdir -p /usr/local/software/java/
解压mysql到 java目录
tar -zvxf jdk-8u181-linux-x64.tar.gz -C /usr/local/software/java/
配置jdk
vim /etc/profile
export JAVA_HOME=/usr/local/software/java/jdk1.8.0_181
export PATH=\${JAVA_HOME}/bin:\$PATH
配置重新导入
source /etc/profile
验证java
java -version
如果java验证成功,拷贝/usr/local/software/java/ 和 /etc/profile 到其他机器,并且使配置生效 2.4 安装MySql(CM) 可以直接安装,也可以通过Docker安装Mysql,此处选择直接安装 1. 上传mysql的服务端和客户端rpm文件
MySQL-server-5.6.24-1.el6.x86_64.rpm
MySQL-client-5.6.24-1.el6.x86_64.rpm
2. 安装服务端
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm #执行安装
service mysql start #启动服务
service mysql status #查看状态
3. 安装客户端
(1) rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm #执行安装
(2) cat /root/.mysql_secret #查看密码,最后的就是密码
(3) 登陆mysql
mysql -uroot -p随机密码
(4) 修改密码
set password=password('gey2018');
重新登陆验证是否正确 3. CM+CDH安装 3.1 CDH下载,以CentOS7.5和CDH5.16.1举例 (1) cm的tar包下载 http://archive.cloudera.com/cm5/repo-as-tarball/5.16.1/ (2) parcels包下载 http://archive.cloudera.com/cdh5/parcels/5.16.1/ 请选择对应的版本,el7,并将后缀.sha1更改为.sha。 并且下载mainfest.json 文件 (3) 创建本地源 在/var/www/html下创建一个cdh_repo文件夹,并将上述下载的4个文件上传到该目录下 http://cm.cdh.com/cdh_repo/ (4) 修改repo文件
vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://cm.cdh.com/cdh_repo/cm/5.16.1/
gpgcheck = 0
同时同步到其他机上,不然cdh会出错
scp cloudera-manager.repo root@master.cdh.com:/etc/yum.repos.d/
scp cloudera-manager.repo root@slave1.cdh.com:/etc/yum.repos.d/
scp cloudera-manager.repo root@slave2.cdh.com:/etc/yum.repos.d/
3.2 CM安装 (1) 安装服务 进入上述创建的CM的文件目录下 /var/www/html/cdh_repo/cm/5.16.1/RPMS/x86_64 安装cloudera-manager-daemons-5.16.1-1.cm5161.p0.1.el7.x86_64.rpm
yum install cloudera-manager-daemons-5.16.1-1.cm5161.p0.1.el7.x86_64.rpm
安装cloudera-manager-server-5.16.1-1.cm5161.p0.1.el7.x86_64.rpm,请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,生产环境中是使用MySQL数据库的
(2) 在MySQL中创建元数据库并上传jar包 A. 在MySQL中创建元数据库[mysql数据我这里统一安装在master.cdh.com机器上]
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
create database hive DEFAULT CHARACTER SET utf8;
create database oozie DEFAULT CHARACTER SET utf8;
create database hue DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
flush privileges;
B. 将mysql-connector-java-5.1.27.jar上传到/usr/share/java目录 再改名字或者软连接为mysql-connector-java.jar
ln -s mysql-connector-java-5.1.27.jar mysql-connector-java.jar
(3) 修改CDH关于数据库的配置文件
vim /etc/cloudera-scm-server/db.properties
db.type = mysql
db.host = 192.168.32.181:3306
db.name = cmf #此处为上面配置的cmf库,用户名,密码
db.user = cmf
db.passwd = 123456
db.setuptype = EXTERNAL
(4) 启动cloudera-scm-server服务并查看日志
systemctl start cloudera-scm-server.service #启动命令
systemctl status cloudera-scm-server.service #查看状态
如果报JAVA_HOME错,在CDH的cloudera-scm-server启动脚本中添加JAVA_HOME环境变量
vim /etc/rc.d/init.d/cloudera-scm-server
export JAVA_HOME=/usr/local/software/java/jdk1.8.0_181
如果报java.jdbc.driver 将mysql-connector-java-5.1.27.jar放到路径/usr/share/cmf/lib目录下 3.3 安装cdh (1) 登录管理页面,登录CM的web界面,账号和密码均为admin http://cm.cdh.com:7180/cmf/login 点击继续 (2) 选择版本,选择免费,点击继续 (3) 指定主机 输入上述所有主机名,点击搜索, 搜索出来后点击继续 (4) 选择CDH版本 选择方法:更多选项, 设置Parcel:Parcel路径选择:http://cm.cdh.com/cdh_repo/ 自定义存储库:http://cm.cdh.com/cdh_repo/cm/5/ 选择正确的cdh版本 (5) 安装jdk,默认不勾选,此处不勾选安装,直接继续 (6) 单用户模式,可自由选择 (7) 提供 SSH 登录凭据 提供 SSH 登录凭据,可以自由选择,这里直接使用root用户,点击继续 (8) 安装agent,等待安装完毕,点击继续 (9) 安装parcel,此处不会进行官网下载,如果前面没有配置,则会去官网下载,对网络要求比较高,等待安装完毕 以上为安装基础服务完毕,现在开始安装集群服务 (12) 添加服务 http://cm.cdh.com:7180/cmf/hardware/hosts (13) 安装组件服务,可以选择所有或自行选择 (14) 自定义角色分配 包括hbase,hdfs,cloudrea management server,ooize,solr,spark,zookeeper等 此处根据自己环境进行配置 安装完毕,其实所有的服务都在以下目录中:/opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3/lib/ 到此为止,cm+cdh hadoop集群安装完毕