安装分布式,标准:各机器能ping通各机器,且都能ssh对方,见hadoop分布式
小坑:快照还原不统一导致证书无法识别也无法覆盖,使用-f命令即可:
ssh-copy-id -f bigdata166
安装mysql:见之前博文
开始搞CDH:
创建数据库:
(1)集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
(2)hive数据库 create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
(3)oozie数据库 create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
(4)hue数据库 create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on oozie.* TO 'hue'@'%' IDENTIFIED BY 'hue'; |
CM下载地址:http://archive.cloudera.com/cm5/cm/5/
离线库下载地址:http://archive.cloudera.com/cdh5/parcels
首先恢复到干净的机器,ssh,jdk,防火墙(hadoop分布式前奏)
主节点8G最低6G,其它各4G
注:以下所有操作均使用root用户
2.1 解压cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz
tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /opt |
2.2 创建用户cloudera-scm(所有节点)
[root@bigdata166 cloudera-scm-server]# useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm |
--system 创建一个系统账户
--home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
--no-create-home 不要创建用户的主目录
--shell 用户的登录 shell 名
--comment 用户的描述信息
注意:
Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。
2.3 配置CM Agent
vi /opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini
#修改CM所在地址(所有节点) server_host=bigdata166(所有的填写主节点) |
2.4 配置CM的数据库
- 拷贝mysql jar文件到目录 /usr/share/java/
[root@bigdata166 share]# mkdir /usr/share/java/
[root@bigdata166 cm-5.12.1]# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/
[root@bigdata166 share]# mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar
- 注意jar包名称要修改为mysql-connector-java.jar(只认这个名字)
- 在mysql中创建cm库(需要创建,节点执行)
[root@bigdata166 cm-5.12.1]# /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hbigdata166 -uroot -p000000 --scm-host bigdata166 scm scm scm
-h:Database host
-u:Database username
-p:Database Password
--scm-host:SCM server's hostname
遇到个坑:java.sql.SQLException: Your password does not satisfy the current policy requirements
解决方案:
# cp /etc/my.cnf /etc/my.cnf.default
# vim /etc/my.cnf
-------------------------------- 这段加进去
[mysqld]
# Disable password validaion plugin
validate-password=off
--------------------------------
# systemctl restart mysqld
All done, your SCM database is configured correctly!
2.5 分发cloudera-manager(建议三台一起配置,跳过)
[root@bigdata166 module]# scp -r /opt/ bigdata167:/opt/module/
[root@bigdata166 module]# scp -r /opt/ bigdata168:/opt/module/
2.6 创建Parcel-repo 目录
- Servre 节点创建目录/opt/cloudera/parcel-repo
[root@bigdata166 module]# mkdir -p /opt/cloudera/parcel-repo
[root@bigdata166 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
2.拷贝下载文件到/opt/cloudera/parcel-repo(三台机,后面会分发)
(1)CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel
(2)CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1:需改名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
(3)manifest.json
3.在Agent 节点(bigdata166,bigdata167,bigdata168)创建目录/opt/cloudera/parcels
[root@bigdata166 module]# mkdir -p /opt/cloudera/parcels
[root@bigdata166 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
2.7分发Parcel-repo
[root@bigdata166 opt]# scp -r /opt/cloudera/ bigdata167:/opt/
[root@bigdata166 opt]# scp -r /opt/cloudera/ bigdata168:/opt/
2.8 关闭交换空间 & 大页面空间
#Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增,所以还是关闭的为好(三台机一起)
echo "vm.swappiness = 0" >> /etc/sysctl.conf
#
echo "10" > /proc/sys/vm/swappiness
#关闭大页面压缩
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
2.9 启动和关闭CM Server&Agent 服务
服务节点:bigdata166
[root@bigdata166 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [确定]
工作节点:bigdata166\bigdata167\bigdata168
[root@bigdata166 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
[root@bigdata167 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
[root@bigdata168 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间 。
[root@bigdata166 init.d]# netstat -anp | grep 7180
tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 5498/java
查看被占用则表示安装成功了!!!
访问http://bigdata166:7180,(用户名、密码:admin)
关闭:
服务节点:bigdata166
[root@bigdata166 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server stop
停止 cloudera-scm-server: [确定]
工作节点:bigdata166\bigdata167\bigdata168
[root@bigdata166 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent: [确定]