第1章 Cloudera Manager
1.1 cloudera manager的概念
简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
1.2 cloudera manager的功能
1) 管理:对集群进行管理,如添加、删除节点等操作。
2) 监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
3) 诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
4) 集成:多组件进行整合。
1.3 cloudera manager的架构
1) Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
2) Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
3) Management Service:由一组执行各种监控,警报和报告功能角色的服务。
4) Database:存储配置和监视信息。
5) Cloudera Repository:软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库)
6) Clients:是用于与服务器进行交互的接口(API和Admin Console)
第2章 环境要求
1.1 内存分配(略)
1.2 本次安装需要的文件
#注意:必须是Oracle JDK、不要使用OpenJDK l jdk-8u144-linux-x64.tar.gz l CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel l CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha l cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz l manifest.json l mysql5.7 |
---|
1.3 更改Yum源
在三台节点(所有agent的节点)上执行下载第三方依赖
更改为阿里yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache |
---|
1.4 安装JDK
#建议放在在这个目录下 tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/ #有时候会有权限问题的坑 chown -R root:root /usr/java/ |
---|
1.5 关闭SELINUX和防火墙
1) 临时关闭:
setenforce 0 |
---|
2) 修改配置文件/etc/selinux/config(重启生效)
#将SELINUX=enforcing 改为 SELINUX=disabled #关闭防火墙 systemctl stop firewalld #禁用防火墙 systemctl disable firewalld #查看防火墙是否关闭 systemctl status firewalld |
---|
1.6 hosts映射(略)
vi /etc/hosts 192.168.1.111 bigdata111 192.168.1.112 bigdata112 192.168.1.113 bigdata113 |
---|
1.7 下载第三方依赖
在三台节点(所有agent的节点)上执行下载第三方依赖
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb net-tools |
---|
1.8 ssh免密登录(略)
1.9 NTP时间和时钟同步服务(可省略)
#查看时间帮助 timedatectl —help #设置为上海的时区 timedatectl set-timezone Asia/Shanghai #生产环境中一般会手动安装NTP服务(自己练习一下步骤可以省略) yum -y install ntp vi /etc/ntp.conf 添加如下 #time 前四行是使用网络时间 server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org #生产中不能使用联网的话, 使用本地时间 server 192.168.1.0 iburst local clock #可以让192.168.1网段下所有IP都可以同步 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap #启动ntpd (仅在主节点) systemctl start ntpd #查看ntpd的状态 systemctl status ntpd #关闭从节点时间同步 systemctl stop ntpd systemctl disable ntpd #查询ntpdate which ntpdate #让所有从节点与主节点同步 \ 注:集群中会每几个小时同步一次,保证时间一致 /usr/sbin/ntpdate bigdata111 #列出所有的时区 timedatectl list-timezones |
---|
1.10 安装配置mysql
此处略,看之前的文档及视频
注意点:此处用的是5.7的版本,远程使用时,记得更改给root改为”%”权限
(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 hue. TO ‘hue’@’%’ IDENTIFIED BY ‘hue’; |
---|
第3章 CM安装部署
CM下载地址:http://archive.cloudera.com/cm5/cm/5/
离线库下载地址:http://archive.cloudera.com/cdh5/parcels
注:以下所有操作均使用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@bigdata111 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=bigdata111 |
---|
2.4 配置CM的数据库
- 拷贝mysql jar文件到目录 /usr/share/java/
[root@bigdata111 share]# mkdir /usr/share/java/
[root@bigdata111 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@bigdata111 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
2. 在mysql中创建cm库
[root@bigdata111 cm-5.12.1]# /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hitstar111 -uroot -p000000 —scm-host itstar111 scm scm scm
-h:Database host
-u:Database username
-p:Database Password
—scm-host:SCM server’s hostname
2.5 分发cloudera-manager
[root@bigdata111 module]# scp -r /opt/ bigdata112:/opt/module/
[root@bigdata111 module]# scp -r /opt/ bigdata113:/opt/module/
2.6 创建Parcel-repo 目录
1. Servre 节点创建目录/opt/cloudera/parcel-repo
[root@bigdata111 module]# mkdir -p /opt/cloudera/parcel-repo
[root@bigdata111 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 节点(bigdata111,bigdata112,bigdata113)创建目录/opt/cloudera/parcels
[root@bigdata111 module]# mkdir -p /opt/cloudera/parcels
[root@bigdata111 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
2.7分发Parcel-repo
[root@bigdata111 opt]# scp -r /opt/cloudera/ bigdata112:/opt/
[root@bigdata111 opt]# scp -r /opt/cloudera/ bigdata113:/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 服务
服务节点:bigdata111
[root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [确定]
工作节点:bigdata111\bigdata112\bigdata113
[root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
[root@bigdata112 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
[root@bigdata113 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
正在启动 cloudera-scm-agent: [确定]
注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。
[root@bigdata111 init.d]# netstat -anp | grep 7180
tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 5498/java
查看被占用则表示安装成功了!!!
访问http://bigdata111:7180,(用户名、密码:admin)
关闭:
服务节点:bigdata111
[root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server stop
停止 cloudera-scm-server: [确定]
工作节点:bigdata111\bigdata112\bigdata113
[root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent: [确定]