0001 - CM&CDH入门指南

网友投稿 325 2022-11-23

0001 - CM&CDH入门指南

1 - Cloudera Manager 和 CDH 的关系?

Cloudera Manager 是管理 Hadoop 集群的工具,而 CDH 是 Cloudera 公司对 Apache Hadoop 进行二次开发之后的 Hadoop 发行版。

2 - 什么是 CDH?

CDH(全称:Cloudera's Distribution Including Apache Hadoop)是 Cloudera公司发布 Apache Hadoop 发行版的一种,也是一套目前比较完整、经过测试及其打包相关组件的发行版。CDH 提供 Hadoop 的核心元素:可扩展存储和分布式计算,以及基于 Web 的用户界面和重要的企业功能。CDH 是 Apache 许可的开源软件,也是唯一提供统一批处理、交互式 SQL 和交互式搜索以及基于角色的访问控制的 Hadoop 解决方案。

CDH 特性:

灵活性 - 存储任何类型的数据,并使用多种不同的计算框架进行处理,包括批处理、交互式 SQL、自由文本搜索、机器学习和统计计算。 集成 - 在一个完整的 Hadoop 平台(与多种硬件和软件解决方案配合使用)上快速启动并运行。 安全 - 处理和控制敏感数据。 可扩展性 - 支持多种应用程序并扩展以满足您的需求。 高可用性 - 可以充满信心的执行重要的业务任务。 兼容性 - 利用现有的 IT 基础设施和投资。

3 - 什么是 Cloudera Manager?

Cloudera Manager(简称:CM) 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的管理工具。

Cloudera Manager 用于管理 CDH 集群的端到端应用程序。Cloudera Manager 对 CDH 的每个组件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。使运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。

4 - Cloudera Manager 架构设计

Cloudera Manager 的核心是 Cloudera Manager Server。该服务承载了管理员控制台(Admin Console Web Server)和应用程序逻辑、并负责安装软件、配置、启动和停止服务,以及管理在其上的所有服务运行的集群。

Cloudera Manager Server 与以下几个组件配合使用:

Server(服务) - Cloudera Manager 的核心,主要用于管理 Web Server 和应用逻辑。 Agent(代理) - 安装在每台主机上。它负责启动和停止进程、部署配置、触发安装和监控主机。 Management Service(管理服务) - 由一组执行各种监控、警报和报告功能的角色组成的服务。 Database(数据库) - 存储配置和监控信息。 Cloudera Repository(Cloudera 存储库) - 由 Cloudera Manager 分配软件的存储库(repo 库)。 Clients(客户端) - 提供了一个与 Server 交互的接口: Admin Console - 管理员使用该基于 Web 的用户界面以管理集群和 Cloudera Manager。 API - 开发者可使用 API 创建自定义的 Cloudera Manager 应用程序。

5 - Cloudera Manager 心跳

Heartbeating(心跳)是 Cloudera Manager 中的主要通信机制。默认情况下,Agent 每 15 秒发送一次心跳到 Cloudera Manager Server。

通过这个心跳机制,Agent 向 Cloudera Manager Server 汇报自己的活动。反过来,Cloudera Manager Server 会响应 Agent 应执行的操作。Agent 和 Cloudera Manager Server 最终都会进行一些协调。例如,如果我们启动一个服务,Agent 尝试启动相应的进程,如果这个进程启动失败,则 Cloudera Manager Server 会将这个启动命令标记为失败。

6 - Cloudera Manager 功能

1、四大功能

管理 - 自动化 Hadoop 安装,对集群进行统一管理,如:添加、删除节点等操作。 监控 - 提供实时的集群健康状况视图,如:节点、服务的运行状况。 集成 - 提供一个中央控制台对集群的配置进行更改。 诊断 - 包含全方位的报告、诊断工具及建议,以帮助优化性能和利用率。

2、状态管理Cloudera Manager Server 维护了集群的状态。状态可分为两类:model 和 runtime。两者都存储于 Cloudera Manager Server 的数据库中。

model - 包含集群、主机、服务、角色、配置。runtime - 包含进程、命令。

3、配置管理Cloudera Manager 定义了以下几个级别的配置:

服务级别 - 可定义适用于整个服务实例的配置,如:HDFS 服务的默认副本因子(dfs.replication)。 角色组级别 - 可定义适用于角色组的配置,如:DataNode 的处理线程数量(dfs.datanode.handler.count),这可根据 DataNodes 的不同分组进行不同的配置。 角色实例级别 - 可覆盖从角色组级别继承的配置。这种配置需要谨慎使用,因为它很容易导致角色组内的配置分歧。如:因排错而临时启用调试日志记录以解决某个角色实例问题。 主机级别 - 具有与监控、软件管理和资源管理相关的配置。 Cloudera Manager - 具有与其自身管理操作相关的配置。

4、进程管理在非 Cloudera Manager 管理的集群中,使用 init 脚本启动角色实例进程,如 service hadoop-hdfs-datanode start。但在 Cloudera Manager 管理的集群中,使用 init 脚本启动和停止服务将不起作用。

在 Cloudera Manager 管理的集群中,只能使用 Cloudera Manager 启动或停止角色实例进程。Cloudera Manager 使用 supervisord 的开源进程管理工具,其会启动进程、重定向日志文件、通知进程失败、将调用进程设置有效正确的用户 ID 等。 Cloudera Manager 支持自动重启崩溃的进程。如果一个进程在启动后频繁崩溃,它也会用健康状况不佳的标志来标记一个角色实例。

停止 Cloudera Manager Server 和 Cloudera Manager Agents 不会关闭您的服务;任何正在运行的角色实例都会继续运行。

Agent 默认开机自启动,在启动时由 init.d 启动。然后,它会联系 Cloudera Manager Server 并确定应运行哪些进程。Agent 作为 Cloudera Manager 主机监控的一部分进行监控。如果 Agent 停止心跳,则会将主机标记为运行状况不良。

Agent 的主要职责之一是启动和停止进程。当 Agent 从服务端检测心跳检测到新进程时,Agent 会在 /var/run/cloudera-scm-agent 中创建一个目录,并解压缩配置。然后,它与 supervisord 联系开始该过程。

一个 Cloudera Manager 进程永远不会单独运行。换句话说,一个进程不仅仅是执行的命令和参数 exec(),还包括配置文件,需要创建的目录以及其它信息。

5、软件包管理Cloudera Manager 的主要功能是安装和升级 CDH 和管理其它服务。它支持两种软件分发格式:packages 和 parcels。

Package - 二进制分发格式。包含已编译的代码和元数据(如包描述、版本和依赖项等)。Cloudera Manager 为每个受支持的操作系统自带的软件来管理 package。Parcel - 二进制分发格式。包含程序文件,与由 Cloudera Manager 使用附加元数据。

Packages 和 Parcels 的重要区别如下:

使用 Parcels 要求集群由 Cloudera Manager 管理。这包括不属于 CDH 常规部分的任何组件(如:Spark 2)。 同一个 Parcels 可安装多个版本,并激活其中一个。而使用 Packages 只能同时安装一个版本并使用该版本。 Parcels 可安装到任何位置,默认的安装目录是 /opt/cloudera/parcels。而 Packages 只能被安装在 /usr/lib 目录下。 通过 Parcels 安装时,Cloudera Manager 会自动下载、分发并激活和集群中所有主机操作系统版本一致的 Parcel 包,解决某些操作系统版本不一致问题。

6、主机管理Cloudera Manager 提供了多种功能来管理 Hadoop 集群中的主机。首次运行 Cloudera Manager 管理控制台时,可搜索主机并添加到集群,一旦选择了主机,就可以将 CDH 角色的分配到该主机。Cloudera Manager 会自动的部署所有需要的软件:JDK、Cloudera Manager Agent、CDH、Impala、Solr 等。

8、用户管理通过用户帐号可以控制访问 Cloudera Manager 的组件。Cloudera Manager 提供了多种用户身份认证机制。

9、安全管理

认证 - Cloudera Manager 集群支持 LDAP 和 Kerberos 两种认证方式。LDAP 和 Kerberos 并不是互斥的。 授权 - CDH 目前提供以下几种权限控制: 文件和目录使用传统的 POSIX-style 权限控制, 每一个目录和文件都分配有一个唯一的所有者和组。每一个类型都有一组可用的基本权限; 只需读、写和执行文件权限,目录有一个额外的访问子目录的权限。 HDFS 的扩展访问控制列表(ACLs)为 HDFS 文件的权限提供细粒度的控制,将文件基于用户或它所在的组来赋权限。 Apache HBase 使用 ACLs 来对列、列簇、列族限定符授权各种操作(READ, WRITE, CREATE, ADMIN)。HBase ACLs 可以向用户和组进行赋权或者回收权限。 Apache Sentry 基于角色的权限控制。 加密 - 在集群不同技术层级静态数据和传输数据支持不同的加密方式。 OS Filesystem-level(操作系统文件系统级) - Cloudera Navigator Encrypt,用于获得 Cloudera Navigator 许可证的 Cloudera 客户。 Network-level(网络级) - 远程过程调用(RPC)。此保护使用行业标准协议(TLS/SSL)。 HDFS-level(HDFS 级) - HDFS 透明加密。

与操作系统文件系统级和网络级加密不同,HDFS 透明加密是端到端的。也就是说,它可以对静态数据加密和传输中的数据加密,这比实现操作系统文件系统级和网络级加密的组合效率更高。

10、管理服务Cloudera Management Service 将各种管理功能实现为一组角色。

活动监控(Activity Monitor) 主机监控(Host Monitor) 服务监控(Service Monitor) 事件服务(Event Server) 告警发布(Alert Publisher) 报表管理(Reports Manager,默认未添加)

::: hljs-center

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中@ConfigurationProperties 配置绑定
下一篇:CentOS 7 部署Hadoop-2.7.2
相关文章

 发表评论

暂时没有评论,来抢沙发吧~