ClouderaManager产品介绍1.介绍ClouderaManager是CDH市场领先的管理平台。作为业界第一的端到端ApacheHadoop的管理应用,ClouderaManager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过ClouderaManger,运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。ClouderaManager设计的目的是为了使得对于企业数据中心的管理变得简单和直观。通过ClouderaManager,可以方便地部署,并且集中式的操作完整的大数据软件栈。该应用软件会自动化安装过程,从而减少了部署集群的时间。通过ClouderaManager可以提供一个集群范围内的节点实时运行状态视图。同时,还提供了一个中央控制台,可以用于配置集群。不仅如此,ClouderaManager通过包含一系列的报道和诊断工具,可以帮助您优化集群性能,并且提高利用率。ClouderaManager能够为您提供以下的功能:自动化Hadoop安装过程,大幅缩短部署时间;提供实时的集群概况,例如节点、服务的运行状况;提供了集中的中央控制台对集群的配置进行更改。包含全面的报告和诊断工具,帮助优化性能和利用率。ClouderaManager的架构如上图所示,主要由如下几部分组成:服务端/Server:ClouderaManager的核心。主要用于管理webserver和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。代理/agent:安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。数据库/Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的Cloudera管理器服务和监视后台程序使用不同的逻辑数据库。ClouderaRepository:用于软件分发由Cloudera软件仓库。客户端/Clients:提供了一个与Server交互的接口:管理平台/AdminConsole:提供一个管理员管理集群和ClouderaManage的基于网页的交互界面。API:为开发者提供了创造自定义ClouderaManager程序的API。2.功能此部分内容在免费版本ClouderaExpress产品以及商业版本中可用。2.1.管理2.1.1.参数配置2.1.1.1.可视化参数配置界面2.1.1.2.过期设置报警配置过期需要重启客户端配置过期2.1.1.3.智能参数验证及优化2.1.2.管理员权限管理对系统管理员、数据库管理员及其他管理员必须授予不同级别的管理权限。2.2.监控ClouderaManager提供了许多监控功能,用于监测群集(主机,服务守护进程)健康、组件性能以及集群中运行的作业的性能和资源需求。具体包括以下监控功能:服务监控查看服务和角色实例级别健康检查的结果,并通过图表显示,有助于诊断问题。如果健康检查发现某个组件的状态需要特别关注甚至已经出现问题,系统会对管理员应该采取的行动提出建议。同时,系统管理员还可以查看上的服务或角色上操作的执行历史,也可以查看配置更改的审计日志。主机监控监控群集内所有主机的有关信息,包括:哪些主机上线或下线,主机上目前消耗的内存,主机上运行的角色实例分配,不同的机架上的主机分配等等。汇总视图中显示了所有主机群集,并且可以进一步查看单个主机丰富的细节,包括显示主机关键指标的直观图表。行为监控ClouderaManager提供了列表以及图表的方式来查看集群上进行的活动,不仅显示当前正在执行的任务行为,还可以通过仪表盘查看历史活动。同时提供了各个作业所使用资源的许多统计,系统管理员可以通过比较相似任务的不同性能数据以及比较查看同一任务中不同执行的性能数据来诊断性能问题或行为问题。事件活动监控界面可以查看事件,并使它们用于报警和搜索,使得系统管理员可以深入了解发生集群范围内所有相关事件的历史记录。系统管理员可以通过时间范围、服务、主机、关键字等字段信息过滤事件。报警通过配置ClouderaManager可以对指定的事件产生警报。系通过管理员可以针对关键事件配置其报警阈值、启用或禁用报警等,并通过电子邮件或者通过SNMP的事件得到制定的警报通知。系统也可以暂时抑制报警事件,此限制可以基于个人角色、服务、主机、甚至整个集群配置,使得进行系统维护/故障排除时不会产生过多的警报流量。审计事件ClouderaManager记录了有关服务、角色和主机的生命周期的事件,如创建角色或服务、修改角色或服务配置、退役主机和运行ClouderaManager管理服务命令等等。系统管理员可以通过管理员终端查看,界面提供了按时间范围、服务、主机、关键字等字段信息来过滤审计事件条目。可视化的时间序列数据图表系统管理员可以通过搜索度量数据,系统将根据指定规则创建数据,组(方面)数据的图表,并把这些图表保存到用户自定义的仪表板。日志介绍如何访问日志中的各种考虑到你正在查看当前上下文的方式。例如,监控服务时,你可以轻松地点击一个链接,查看相关的特定服务的日志条目,通过相同的用户界面。当查看关于用户的活动信息,您可以方便地查看了作业运行时所用的作业的主机上发生的相关日志条目。报告ClouderaManager可以将收集到的历史监控数据统计生成报表,比如按目录查看集群作业活动的用户、按组或作业ID查看有关用户的磁盘利用率,用户组的历史信息等。这些报告可以根据选定的时间段(每小时,每天,每周,等等)汇总数据,并可以导出为XLS或CSV文件。同时系统管理员还可以管理包括搜索和配额等HDFS目录设置。2.3.批量部署Hadoop本身是一个分布式的系统,因此在安装时,需要对每一个节点进行组件的安装,并且由于是开软软件,其安装过程相对比较复杂,Hadoop每个组件都需要做很多的配置工作,如果手动去完成这个工作,工作量将会非常可观。针对这种情况,CDH提供了ClouderaManager来自动化安装部署Hadoop。大大缩短了Hadoop的安装时间,同时也简化了安装Hadoop的过程。CDH的安装针对不同的客户环境,提供了多种不同的安装方式:1.如果用户的集群能够访问到Cloudera的网站,直接可以进行完全自动化的安装。2.如果用户的集群不能够访问公网,则只需要在集群内部建立一个软件仓库,然后再进行自动化的集群部署其中上述提到的自动化安装的过程如下:1.安装环境准备,下载ClouderaManager以及CDH的安装文件,安装JDK,yum等基本软件。2.挑选一台节点,安装ClouderaManager,用户只需要启动安装脚本即可,通常情况下2分钟就能够完成。3.ClouderaManger是一个Web应用,提供了基于浏览器的界面,用户可以通过浏览器可视化的进行CDH的安装部署。4.通过ClouderaManager界面,添加其他需要安装的节点,选择要安装的Hadoop组件,以及每个节点承担的角色,选择安装,ClouderaManager会自动的将需要安装的软件分发到对应的节点,并完成安装。5.同时ClouderaManager会提供一个默认的CDH配置,并且提供了配置的管理界面,供用户在后续进行定制化的配置。6.在安装过程中,如果任意一台机器安装出现问题,ClouderaManager都会进行汇报,并提供日志,供用户分析,解决问题。7.当所有节点的软件都安装完成之后,ClouderaManager会启动所有的服务。从上述的安装过程可以看出,CDH的安装主要体现两个特点,批量化以及自动化。只需要在其中一个节点完成,其他节点都可以进行批量化的自动安装。2.4.集成2.4.1.安全集成通常在一个企业内部,都会对验证系统作集中的部署,例如使用AD,LDAP等验证服务作为集中式的验证服务器,提供对所有业务系统的验证工作。为了方便Hadoop大数据平台与原有验证系统的集成,CM提供了丰富的集成功能,只需要在界面,进行简单的配置,即可完成。2.4.2.ClouderaManagerAPICloudera产品具有开放的特性,这种开放性的其中一个体现就是CM提供了丰富的API,供客户调用,基本上所有在界面上提供的功能,通过API都可以完成同样的工作。ClouderaManagerAPI支持的功能包括配置和服务生命周期管理、服务健康信息和指标,并允许配置ClouderaManager本身。API复用ClouderaManger管理控制台(ClouderaManagerAdminConsole)相同的主机和端口,无需额外的操作流程或参数配置。API支持HTTP基本身份验证(HTTPBasicAuthentication),接受与ClouderaManger管理控制台相同的用户和凭据。并且这些API都是标准的RESTAPI,使用HTTP标准的CRUD所有的请求和响应都可以用JSON(JavaScriptObjectNotation)来表示,基本上所有的业务系统都应该支持,通过这些API,能够方便的将CM,集成到企业原有的集中管理系统。下面是一些可以通过ClouderaManagerAPI做的操作:通过编程部署整个Hadoop集群。ClouderaManger支持HDFS、MapReduce、Yarn、Zookeeper、HBase、Hive、Oozie、Hue、Flume、Impala、Solr、Sqoop、Spark和Accumulo等;配置各种Hadoop服务并验证;开展服务和角色的管理行为,如启动、停止、重新启动、故障转移等,同时提供了更先进的工作流程,如设立高可用性和退役;通过具有智能化服务的健康检查和指标来监控服务和主机;监控用户的工作和其他集群活动;检索基于时间序列的度量数据;搜索Hadoop系统内事件;管理ClouderaManager自身;将Hadoop集群的整个部署描述下载为一个JSON文件;等等此外,基于企业版本产品,,该API还允许一些高级功能:执行滚动重启和滚动升级;审计用户在Hadoop上的活动和访问;为HDFS和Hive执行备份和跨数据中心复制;检索每个用户的HDFS使用情况报告和每个用户的MapReduce的资源使用情况报告。例如,下面的HTTP请求示例可以得到当前所有集群的基本信息:2.4.2.1.ClouderaManager客户端实现用户可以通过Java或Python轻松地构建一个Cloudera的管理客户端应用,或者直接使用HTTP协议发送Rest风格请求。Cloudera在github上开源了ClouderaManger的客户端RestAPI项目,包含所有源代码以及例子,并采用Apache协议授权。这些客户端的代码使用Cloudera的管理器进行各种交互式管理,比如:管理多个集群启动和停止全部或单个服务或角色升级群集上运行的服务查系统中的任何活动资源使用的时间序列数据对读取系统中的所有进程日志以及输出和错误编程配置各个部署的参数收集诊断数据的调试问题,以帮助调试问题运行分布式命令来管理自动故障转移(failover)、主机退役等查看所偶遇发生在系统中的事件和警报从系统中添加和删除用户比如,如下的示例演示了在系统显示终端打印出集群、服务以及角色资源:请参考CM客户端API开源项目(链接,链接)。2.4.3.SNMP集成SNMP是一个标准的消息转发协议。通常在大型的企业级系统中都会进行部署。CM提供了方便的SNMP集成能力,只需要进行简单的部署,就能够将SNMP进行集成,并且将集群中的告警信息进行转发。3.高级功能以下功能只包含在商业版本中,在免费版本中不提供。有关商业版本许可证信息,请参见链接。3.1.软件滚动升级Hadoop是一个正在快速发展的新技术,版本正在迅速的衍进,对于部署了Hadoop的系统,无论出于稳定性还是功能性的原因,版本升级是不可避免的。但是,通常业务系统都是在线的生产系统