CDH较难理解内容解释

393 阅读7分钟

CDH较难理解内容解释

CDH和Cloudera Manager

CDH(Cloudera's Distribution,including Apache Hadoop),是Hadoop发行版的一种,是一套目前比较完整的、充分测试的Hadoop及其相关项目的发行版。CDH提供了Hadoop的核心元素——可扩展的存储和分布式计算——以及基于Web的用户界面和重要的企业功能。

Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。CM是一种管理CDH集群的端到端的应用。

CDH介绍

CDH特性

  • 灵活性:能够存储各种类型的数据,并使用各种不同的计算框架进行操作,包括批处理、交互式sql、文本搜索、机器学习和统计计算。
  • 集成性:能够快速集成和运行一个完整的Hadoop平台,适用于各种不同的硬件和软件。
  • 安全性:处理和控制敏感数据。
  • 扩展性:能够部署多种应用,并扩展和扩充它们以满足你的需求。
  • 高可用性;可以放心地用于关键的商业任务。
  • 兼容性:可以利用你现有的IT基础设施和资源。

Hadoop生态构成

  • HDFS:分布式文件系统
    • ZKFC:为实现NameNode高可用,在NameNode和Zookeeper之间传递信息,选举主节点工具。
    • NameNode:存储文件元数据
    • DateNode:存储具体数据
    • JournalNode:同步主NameNode节点数据到从节点NameNode
  • MapReduce:开源的分布式批处理计算框架
  • Spark:分布式基于内存的批处理框架
  • Zookeeper:分布式协调管理
  • Yarn:调度资源管理器
  • HBase:基于HDFS的NoSql列式数据库
  • Hive:将SQL转换为MapReduce进行计算
  • Hue:是CDH的一个UI框架
  • Impala:是Cloudra公司开发的一个查询系统,类似于Hive,可以通过SQL执行任务,但是它不基于MapReduce算法,而是直接执行分布式计算,这样就提高了效率。
  • oozie:是一个工作流调度引擎,负责将多个任务组合在一起按序执行。
  • kudu:Apache Kudu是转为hadoop平台开发的列式存储管理器。和impala结合使用,可以进行增删改查。
  • Sqoop:将hadoop和关系型数据库互相转移的工具。
  • Flume:采集日志
  • 还有一些其它的

CM介绍

CM概述

img

CM功能

状态管理

  • CMS维护了集群的各种状态。状态可分为两类:模块和运行时,两者都存储于CMS的数据库中。
  • 模块中包含集群、主机、服务、角色、配置。运行时包含进程、命令。

配置管理

  • CM在多个层面定义了配置,如:
  • 服务层面,可定义整个服务实例层面的配置,如HDFS服务的默认副本因子。
  • 角色组层面,可定义某个角色组的配置,如DataNode的处理线程数量,可根据DataNodes的不同分组进行不同的配置。
  • 角色层面,可覆盖从角色组层面继承的配置。这种配置需要谨慎使用,因为会造成角色组中的配置分歧。如因为排错需求临时启用某个角色实例的DEBUG日志。
  • 主机层面,根据监控、软件管理、资源管理的不同有不同的配置。
  • CM自身也有很多与管理操作相关的配置

进程管理

  • 非CM管理的集群使用脚本进行角色进程的启动,但在CM管理的集群中这类脚本不起作用。
  • CM管理的集群中,只能使用CM进行角色进程的启停。CM使用开源的进程管理工具名为supervisord,其会启动进程、重定向日志、通知进程失 败、为进程设置正确的用户ID等等。CM支持自动重启一个崩溃的进程。 如果一个进程在启动后频繁崩溃,还会被打上非健康标记。
  • 停止CMS和CM代理不会使正在运行的进程被中止。

软件包管理

  • CM支持两种软件分发格式:packages和parcels。
  • package是一种二进制分发格式,包含编译的代码和元数据如包 述、版本、依赖项。包管理系统评估此元数据以允许包搜索、执行升级、确保包的所有依赖关系得到满足。CM使用本地操作系统支持的包管理程序。
  • parcel也是一种二进制分发格式,包含CM需要使用的附加元数据。其与package的区别有:可安装同一个parcel的多个版本,并激活其中一个; parcel可安装到任何路径;通过parcel安装,CM会自动下载并激活和每 个节点操作系统版本匹配的parcel包,解决某些操作系统版本不一致问 题。

主机管理

  • CM 供了多种功能以管理Hadoop集群的主机。第一次运行CM管理员控制台时,可搜索主机并添加到集群,一旦选中了主机就可以为其分配CDH 角色。CM会在主机上自动部署作为集群托管节点的所有软件:JDK,CM 代理,CDH,Impala,Solr等等。
  • 服务部署并运行后,管理员控制台中的“Hosts”区域显示集群中托管 主机的总体状态。 供的信息包括主机上的CDH版本、主机所属的集群、 运行在主机上的角色的数量。Cloudera管理服务中的主机监控角色执行 健康检查并收集主机的统计信息,以允许你监控主机的健康和性能。

资源管理

  • CM允许使用两种资源管理方式:
  • 静态资源池:使用Linux cgroups在多个服务间静态地进行资源隔离,如 HBase、Impala、YARN分别使用一定百分比的资源。静态资源池默认不启 用。
  • 动态资源池:用于某些服务内部的资源管理,如YARN的各种资源调度器; Impala也可对不同池中的查询动态分配资源。

用户管理

  • 访问CM通过用户账户进行控制。用户账户标识如何对用户进行身份验证,并确定授予用户的权限。
  • CM 供了多种用户认证机制。可以配置CM使用CM数据库认证用户,或使用某种外部认证服务。外部认证服务可以是LDAP服务器,或者指定的其 他服务。CM还支持使用安全断言标记语言(SAML)来实现单点登录。

安全管理

  • 认证:认证是指用户或服务证明其有访问某种系统资源的权限。Cloudera集群支持操作系统账号认证、LDAP、Kerberos等认证方式。LDAP和Kerberos并不是互斥的,很多时候可以一起使用。
  • 授权:授权关注谁可以存取或控制指定的资源或服务。CDH目前支持以 下几种权限控制:传统的POSIX形式的目录和文件权限控制;HDFS扩展 的ACL细粒度权限控制;HBase可对用户和组设置各种操作的ACL;使用Apache Sentry进行基于角色的权限控制。
  • 加密:集群不同层面存储和传输的数据支持不同的加密方式。

管理服务

  • Cloudera Management Service实现了多种管理特性,包括活动监控、主机监控、服务监控、事件服务、告警发布、报表管理等

CM Service

Cloudera Management Service 可作为一组角色实施各种管理功能 :
  • **Activity Monitor:**收集有关 MapReduce 服务运行的活动的信息。默认情况下未添加此角色;
  • **Host Monitor:**收集有关主机的运行状况和指标信息;
  • **Service Monitor:**收集有关服务的运行状况和指标信息以及 YARN 和 Impala 服务中的活动信息;
  • **Event Server:**聚合相关 Hadoop 事件并将其用于警报和搜索;
  • **Alert Publisher:**为特定类型的事件生成和提供警报;
  • **Reports Manager:**生成报告,它提供用户、用户组和目录的磁盘使用率的历史视图,用户和 YARN 池的处理活动,以及 HBase 表和命名空间。此角色未在 Cloudera Express 中添加。