ClouderaManager的背景和介绍
ClouderaManager的产生背景和应用场景
Apache版本的大数据组件
优点
完全开源,更新速度很快
大数据组件在部署过程中可以深刻了解其底层原理
可以了解各个组件的依赖关系
缺点
部署过程极其复杂,超过20个节点的时候,手动部署已经超级累
各个组件部署完成后,各个为政,没有统一化管理界面
组件和组件之间的依赖关系很复杂,一环扣一环,部署过程心累
各个组件之间没有统一的metric可视化界面,比如说hdfs总共占用的磁盘空间、IO、运行状况等
优化等需要用户自己根据业务场景进行调整(需要手工的对每个节点添加更改配置,效率极低,我们希望的是一个配置能够自动的分发到所有的节点上)
ClouderaManager管理的CDH版本大数据组件
Cloudera Manager是用于管理CDH群集的端到端应用程序。
缺点
server和agent需要占用额外的内存和cpu(server占用内存为2G,agent占用内存1G,总共cpu为0.5核)
对linux常用命令需要了解颇深
对hadoop的apache版本有一定的安装经验和调优经验
优点
统一化的可视化界面
自动部署和配置,大数据各类组件(hadoop、hive、hue、kudu、impala、zookeeper等)安装、调优极其便捷
零停机维护(免费版本不具有弹性升级)
多用户管理(权限控制,支持ldap)
稳定性极好(部分优化措施都已经调整好)
应用场景
1. 适用于节点在5个以上、各类大数据服务超过5个的集群,因为有些小公司紧紧就用了hdfs、yarn、hive、spark几个服务,为了节省服务器等资源,不需要部署cm
2. 适用于所有的大数据公司
3. 适用于对于大数据组件版本不需要经常变动的公司,例如:有些公司就是喜欢钻研新技术,然后喜欢新版本,但是由于cm的免费版本不支持弹性升级,所以不建议喜欢新技术的公司用
4. 适用于运维人员,因为该平台安装好以后,维护工作相对来将就轻松许多,例如:使用apache版本的运维人员,对某一个组件进行调优,需要消耗半天的时间进行调整,效率极低;再比如安装1000个节点,需要手动部署,工作量可想而知
补充:
cm在国内用户量很大,戴尔、一号店等知名公司都在使用
cm和ambari在主流的大数据平台框架中,用户量比例很高
ClouderaManager介绍
CDH介绍
CDH是Apache Hadoop和相关项目中最完整、最稳定的、经过测试和最流行的发行版。
CDH提供了Hadoop的核心元素,可扩展存储和分布式计算 ,以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开源软件,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。
CDH特点
灵活性 - 存储任何类型的数据并使用各种不同的计算框架对其进行操作,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。
集成 - 在完整的Hadoop平台上快速启动并运行,该平台可与各种硬件和软件解决方案配合使用。
安全 - 处理和控制敏感数据。
可扩展性 - 支持广泛的应用程序。
高可用性 – 可以执行关键型业务任务。
兼容性 - 利用现有的IT基础架构。
ClouderaManager介绍
Cloudera Manager是用于管理CDH群集的端到端应用程序。Cloudera Manager通过对CDH集群的每个部分提供细粒度的可视性和控制来设置企业部署的标准,使运营商能够提高性能,提高服务质量,提高合规性并降低管理成本。
使用Cloudera Manager,可以轻松部署和集中操作完整的CDH堆栈和其他托管服务(Hadoop、Spark、Kudu、Impala)。其特点:应用程序的安装过程自动化,将部署时间从几周缩短到几分钟; 并提供运行主机和服务的集群范围的实时监控视图; 提供单个中央控制台,以在整个群集中实施配置更改; 并集成了全套的报告和诊断工具,可帮助您优化性能和利用率。
ClouderaManager架构
Cloudera Manager的核心是Cloudera Manager Server。提供了统一的UI和API方便用户和集群上的CDH以及其它服务进行交互,并实施监控和诊断等。
CM Server还负责安装配置CDH和其相关的服务软件,启动停止服务,维护集群中各个节点服务器以及上面运行的进程。
Agent:安装在每台主机上。它负责启动和停止进程,解压缩配置,触发安装和监控主机
Management Service:执行各种监控、报警和报告功能的一组角色的服务。
Database:存储配置和监控信息
Cloudera Repository:可供Cloudera Manager分配的软件的存储库
Client:用于与服务器进行交互的接口
Admin Console:管理员控制台
API:开发人员使用 API可以创建自定义的Cloudera Manager应用程序
ClouderaManager功能
信号检测
默认情况下,Agent 每隔 15 秒向 Cloudera Manager Server 发送一次检测信号。但是,为了减少用户延迟,在状态变化时会提高频率。
状态管理
模型状态捕获什么进程应在何处运行以及具有什么配置 。
运行时状态是哪些进程正在何处运行以及正在执行哪些命令(例如:重新平衡 HDFS 或执行备份/灾难恢复计划或集群升级、停止) 。
当您更新配置(例如Hue Server Web 端口)时,您即更新了模型状态。但是,如果 Hue 在更新时正在运行,则它仍将使用旧端口。当出现这种不匹配情况时,角色会标记为具有“过时的配置”。要重新同步,您需重启角色(这会触发重新生成配置和重启进程)。
特殊情况如果要加入一些cloudera manager控制台没有的属性时候,都在高级配置选项里面嵌入。
服务器和客户端配置
例如使用HDFS,/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop目录下仅包含与 HDFS 客户端相关的配置。
而 HDFS 角色实例(例如:NameNode 和 DataNode)会从 /var/run/cloudera-scm-agent/process/812-hdfs-NAMENODE、820-hdfs-DATANODE 下的每个进程专用目录获取它们的配置,真正产生作用的是这个。
主机管理
Cloudera Manager 作为群集中的托管主机身份:JDK、Cloudera Manager Agent、CDH、Impala、Solr 等参与所需的所有软件部署到主机 。
Cloudera Manager 提供用于管理参与主机生命周期的操作以及添加和删除主机的操作。
Cloudera Management Service Host Monitor 角色执行运行状况检查并收集主机度量,以使您可以监控主机的运行状况和性能。
进程管理
在 Cloudera Manager 管理的群集中,只能通过 Cloudera Manager 启动或停止服务。Cloudera Manager 使用一种名为 supervisord 的开源进程管理工具,它会重定向日志文件,通知进程失败,为合适用户设置调用进程的有效用户 ID 等等。Cloudera Manager 支持自动重启崩溃进程。如果一个角色实例在启动后反复失败,Cloudera Manager 还会用不良状态标记该实例。
特别需要注意的是,停止 Cloudera Manager 和 Cloudera Manager Agent 不会停止群集;所有正在运行的实例都将保持运行。
Agent 的一项主要职责是启动和停止进程。当 Agent 从检测信号检测到新进程时,Agent 会在 /var/run/cloudera-scm-agent 中为它创建一个目录,并解压缩配置 。
Agent 受到监控,属于 Cloudera Manager 的主机监控的一部分:如果 Agent 停止检测信号,主机将被标记为运行状况不良。
安全
身份验证
Hadoop中身份验证的目的仅仅是证明用户或服务确实是他或她所声称的用户或服务 。
通常,企业中的身份验证通过单个分布式系统(例如:轻型目录访问协议 (LDAP) 目录)进行管理,LDAP 身份验证包含由各种存储系统提供支持的简单用户名/密码服务,ranger+ldap+freeipa。
Hadoop 生态系统的许多组件会汇总到一起来使用 Kerberos 身份验证并提供用于在 LDAP 或 AD 中管理和存储凭据的选项。
授权
CDH 当前提供以下形式的访问控制:
适用于目录和文件的传统 POSIX 样式的权限 。
适用于 HDFS 的扩展的访问控制列表 (ACL) 。
Apache HBase使用ACL来按列、列族和列族限定符授权各种操作 (READ, WRITE, CREATE, ADMIN)。
使用 Apache Sentry 基于角色进行访问控制。
Cloudera Management Service
功能:可作为一组角色实施各种管理功能
Activity Monitor:收集关于MapReduce服务运行的活动的信息。默认情况下不添加此角色。
Host Monitor:收集有关主机的运行状况和指标信息。
Service Monitor:从YARN和Impala服务中收集关于服务和活动信息的健康和度量信息。
Event Server:聚合组件的事件并将其用于警报和搜索。
Alert Publisher :为特定类型的事件生成和提供警报。
Reports Manager:生成图表报告,按用户,用户组和目录提供磁盘利用率的历史视图,按用户和YARN池处理活动,以及HBase表和命名空间。Cloudera Express中未添加此角色。