为什么会出现CDH?
1:Apache Hadoop 版本管理换乱
2:部署过程繁琐,升级过程复杂
3:兼容性查 安全性低
Hadoop发行版:
Apache Hadoop
Cloudera’s Distribution Including Apache Hadoop(CDH)
Hortonworks Data Platform (HDP)
MapR
EMR
什么是CDH?
Cloudera’s Distribution Including Apache Hadoop(CDH)
是Hadoop众多分支的一种,由Cloudera维护,是基于稳定的Apache Hadoop去构建的
CDH提供了Hadoop的核心能力 分布式计算与可扩展存储以及基于Web的用户界面
CDH的优点:
1: 版本划分清晰
2:版本更新速度快
3:支持Kerberos安全认证
4:文档清晰
5;支持多种安装方式(Clouder Manager , Yum , Rmp ,Tarball)
本次介绍安装CDH的方式为Clouder Manager方式
ClouderaManager
Clouder Manager 是一个管理CDH端到端的应用:
简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
主要功能 管理 监控 诊断 集成 :
• 管理:对集群进行管理,如添加、删除节点等操作。
• 监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
• 诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
• 集成:多组件进行整合。
1: 集群管理
- 添加 删除集群
- 启动 停止 重启集群
- 重命名集群
- 全体集权配置
- 移动主机
2: 主机管理 - 查看主机详细
- 主机检查
- 集权添加主机
- 分配机架
- 主机模板
- 维护模式
- 删除主机
3: 维护管理: - 添加服务
- 对比不同集群上的额服务配置
- 启动 停止 重启服务
- 滚动重启
- 终止客户端正在执行的命令
- 删除服务
- 重命名服务
- 配置最大进程数
4: 角色管理: - 角色实例
添加角色实例
启动 停止 重启角色实例
解除 重新授权
删除角色实例 - 角色组
创建角色组
管理角色组
5: 资源管理:
动态资源池
静态服务池
6: 用户管理 安全管理
Clouder Manager架构:
Cloudera Manager Server由以下几个部分组成:
- Agent: 安装在每台主机上, 负责启动和停止进程,执行各种监视,报警和报告功能
- Server:
- 管理控制台服务器和应用程序逻辑
- 负责软件的安装 配置
- 启动和停止服务
- 管理服务运行的集群
- Mangement Service:
- 由一组角色组成的服务,执行各种监视,报警呵呵报告功能
- Database: 存储和监视信息,通常情况下,多个逻辑数据库在一个或者多个数据库服务器上运行,例如Clouder的管理和监控角色使用不同的逻辑数据库
- Cloudera Repository:软件由Cloudera 管理分布存储库。
- Clients:是用于与服务器进行交互的接口:
- Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理。
- API :与开发人员创建自定义的Cloudera Manager应用程序的API。
ClouderaManager 部署:
- 1: 系统环境准备
- 2: ClouderaManager 安装
1:准备三台虚拟机分贝是 cdh1 cdh2 cdh3 内存分贝为 10G 2G 2G(一共16G)
2: 网络配置(三台机器都要修改):
vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/hosts(三台机器都要修改)
3: SSH免密登录(三台机器都要修改):
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
ssh-copy-id 节点名称
4:防火墙关闭(三台机器都要修改):
service iptables stop
chkconfig iptables off
5: vim /etc/selinux/config (SELINUX=disabled)
6: 安装JDK环境变量(三台机器都要安装),修改/etc/profile 文件
这里需要强调一下CDH5默认识别的jdk路径为:/usr/java/default 如果安装JDK的路径不是这个的话 会出现报错:显示拒绝连接 也就是部署客户端配置失败
解决办法:
可以将将jdk的路径使用软连接的方式将jdk映射到default中,软连接建立命令:
(如果usr中么有java或者default 需要自己建立 否则还会报错)
格式: ln -s sourcedir sinkdir
#例如:
ln -s /opt/java/jdk/* /usr/java/default/
7:配置NTP时间同步( 每台节点):
yun install ntp
chkconfig ntp on
ntpdate cn.ntp.org.cn(设置时间同步)
8: 安装Mysql(主节点):
yum install mysql-server
service mysqld start
chkconfig mysqld on
mysql 进入mysql库将user表里面的数据删除掉(实际上就是删除用户)
然后重新新建用户(让root用户有远程登录的权限):
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;
刷新一下: flush privileges
9: 下载第三方依赖包(每台节点):
yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
ClouderaManager离线安装
1:安装Cloudera Manager Server、Agent
创建目录(每台节点):
mkdir /opt/clouder-manager
准备好 本地压缩包(主节点)
tar xf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2: 配置CM Agent(Server、Agent):
修改主节点名称
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
3: 创建用户cloudera-scm(每台节点)
useradd --system --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
4: 创建Parcel目录
Server节点(主节点):
mkdir -p /opt/cloudera/parcel-repo(中央库)
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点(每个节点)
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
5: 配置CM Server数据库
拷贝mysql jar文件到目录 /usr/share/java/(如果java目录不存在直接新建就好了)
注意jar包名称要修改为mysql-connector-java.jar
grant all on . to ‘temp’@’%’ identified by ‘temp’ with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h cdh1 -utemp -ptemp --scm-host cdh1 scm scm scm(主节点)
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
6: 制作本地源:
(下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下)
因为采取的是分发机制 所以启动之前先将主节点的东西发给另外两个节点:
7: 启动CM Server、Agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start(主节点)
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
./cloudera-scm-agent start(每台节点)
在server启动的过程中 我们可以去监控server的日志文件
用户名和密码都是admin
选择免费版
选择CDH版本