一、概述(不同的系统对应不同的CDH和CM版本)
- 系统:centos6
- CDH(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel):是Hadoop众多分支中的一种,包括Hive、Hbase、Flume、Kafka、Spark等等。http://archive.cloudera.com/cdh5/parcels/5.4.0/
- CM(cloudera-manager-el6-cm5.4.3_x86_64.tar):是一个管理CDH的端到端的应用:管理、监控、诊断、集成。http://archive.cloudera.com/cm5/cm/5/
- MySql版本:本案5.5.62
- JDK版本:jdk-7u67-linux-x64
二、架构
- Server:管理控制台服务器和应用程序逻辑,负责软件安装、配置,启动和停止服务,管理服务运行的集群。
- Agent:安装在每台主机上,负责启动和停止进程、配置、监控主机
- Management Service:由一组角色组成的服务,执行各种件事、报警和报告功能
- Database:数据源保存的地方
- Cloudera Repository:软件由Cloudera 管理分布存储库
- Clients:是用于与服务器进行交互的接口
- Admin Console:基于Web的用户界面与管理员管理集群和Cloudera管理
- Api:与开发人员创建自定义的Cloudera Manager应用程序的API
三、前期准备(node1、node2都需要)
- 配置hosts
- 网络配置:修改hostname。然后通过 service network restart 重启网络服务生效
vi /etc/sysconfig/network
- SSH免密码登录
# node1
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
# node2
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
- 关闭防火墙(用于测试,正式环境打开相应端口
- 关闭SELINUX(重启后生效):修改配置文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
- 查看SELINUX状态:/usr/sbin/sestatus –v
四、安装基础软件
- 设置node1、node2时间同步(node1、node2)
# 安装
yum install ntp
# 设置同步
ntpdate -u ntp.sjtu.edu.cn
# 开机启动
chkconfig ntpd on
- 安装jdk-7u67-linux-x64(node1、node2)
- 安装mysql5.5(node1)
- 安装依赖包(node1、node2)
yum install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
五、Cloudera Manager Server&Agent安装
1、安装Cloudera Manager Server&Agent(node1、node2)
- 拷贝cloudera-manager-el6-cm5.4.3_x86_64.tar.gz到所有Server(node1)、Agent(node2)节点
- 创建cm目录: /opt/cloudera-manager,并解压到当前目录
2、创建用户cloudera-scm,所有节点(node1、node2)
useradd --system --home=/opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 注意:用户名必须是:cloudera-scm
3、 配置CM Agent(node1、node2)
vi /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
# Hostname of the CM server.
server_host=node1
4、配置CM Server的数据库(node1)
- 将mysql-connector-java-5.1.26-bin.jar拷贝到 /usr/share/java/ 下 并修改名称为mysql-connector-java.jar。必须叫:mysql-connector-java.jar
- 创建一个cdh的用户(可选)
GRANT ALL PRIVILEGES ON *.* to 'cdh'@'%' identified by '123456' with grant option;
flush privileges;
- 初始化元数据:
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema
./scm_prepare_database.sh mysql -h node1 -ucdh -p123456 --scm-host node1 scm scm 123456
- 数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
5、在Server创建parcel-repo目录(node1)
# 创建目录:必须是这个目录
mkdir -p /opt/cloudera/parcel-repo
# 授权到之前创建的用户:cloudera-scm
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
- 将下载好的文件(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha、manifest.json)拷贝到该目录下。
6、在所有Agent节点创建parcels目录(node1、node2)
# 创建目录:必须是这个目录
mkdir -p /opt/cloudera/parcels
# 授权到之前创建的用户:cloudera-scm
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
7、启动CM Server服务(node1)
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d
./cloudera-scm-server start
8、启动CM Agents服务(node1、node2)
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d
./cloudera-scm-agent start
9、访问:node1:7180,用户名密码:admin、admin