1、Cloudera Manager使用
Cloudera Manager是CDH市场领先的管理平台。作为业界第一的端到端Apache Hadoop的管理应用,Cloudera Manager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过Cloudera Manger,运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。
Cloudera Manager设计的目的是为了使得对于企业数据中心的管理变得简单和直观。通过 Cloudera Manager,可以方便地部署并且集中式的操作完整的大数据软件栈。该应用软件会自动化安装过程,从而减少了部署集群的时间。通过Cloudera Manager可以提供一个集群范围内的节点实时运行状态视图。同时,还提供了一个中央控制台,可以用于配置集群。不仅如此,Cloudera Manager通过包含一系列的报道和诊断工具,可以帮助优化集群性能,并且提高利用率。Cloudera Manager能够提供以下的功能:
- 自动化Hadoop安装过程,大幅缩短部署时间
- 提供实时的集群概况,例如节点、服务的运行状况
- 提供了集中的中央控制台对集群的配置进行更改
- 包含全面的报告和诊断工具,帮助优化性能和利用率
Cloudera Manager 的架构如图所示,主要由如下几部分组成:
- 服务端/Server:Cloudera Manager的核心。主要用于管理web server和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。
- 代理/agent:安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。
- 数据库/Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的Cloudera管理器服务和监视后台程序使用不同的逻辑数据库。
- Cloudera Repository:用于软件分发由Cloudera软件仓库。
- 客户端/Clients:提供了一个与Server交互的接口:
- 管理平台/Admin Console:提供一个管理员管理集群和Cloudera Manage的基于网页的交互界面。
- API:为开发者提供了创造自定义Cloudera Manager程序的API。
2、配置安装源
配置Linux源
安装前选择一台机器安装配置本地源并安装http服务,如utility01
挂载redhat的安装光盘,/root/rhel-server-x86_64-dvd.is为iso镜像的地址
Cloudera Manager是CDH市场领先的管理平台。作为业界第一的端到端Apache Hadoop的管理应用,Cloudera Manager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过Cloudera Manger,运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。 Cloudera Manager设计的目的是为了使得对于企业数据中心的管理变得简单和直观。通过 Cloudera Manager,可以方便地部署并且集中式的操作完整的大数据软件栈。该应用软件会自动化安装过程,从而减少了部署集群的时间。通过Cloudera Manager可以提供一个集群范围内的节点实时运行状态视图。同时,还提供了一个中央控制台,可以用于配置集群。不仅如此,Cloudera Manager通过包含一系列的报道和诊断工具,可以帮助优化集群性能,并且提高利用率。Cloudera Manager能够提供以下的功能: 自动化Hadoop安装过程,大幅缩短部署时间 提供实时的集群概况,例如节点、服务的运行状况 提供了集中的中央控制台对集群的配置进行更改 包含全面的报告和诊断工具,帮助优化性能和利用率 Cloudera Manager 的架构如图所示,主要由如下几部分组成: 服务端/Server:Cloudera Manager的核心。主要用于管理web server和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。 代理/agent:安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。 数据库/Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的Cloudera管理器服务和监视后台程序使用不同的逻辑数据库。 Cloudera Repository:用于软件分发由Cloudera软件仓库。 客户端/Clients:提供了一个与Server交互的接口: 管理平台/Admin Console:提供一个管理员管理集群和Cloudera Manage的基于网页的交互界面。 API:为开发者提供了创造自定义Cloudera Manager程序的API。 安装前选择一台机器安装配置本地源并安装http服务,如utility01 挂载redhat的安装光盘,/root/rhel-server-x86_64-dvd.is为iso镜像的地址
在/etc/yum.repos.d下添加rhel6.repo文件
安装http服务
设置开机自启动
启动http服务
将光盘内容拷贝到/var/www/html下
确认使用http:// utiliity01.cdhtest.com /redhat可以访问到下载的文件夹。 在其他服务器上配置源,在/etc/yum.repos.d下添加rhel.repo文件
由于本次在内网环境安装,需要在cloudera官网下载cm安装包和cdh parcel包 cm安装包下载地址如下,可按照需要选择自己需要的版本,目前采用的版本为5.11.2
cdh parcel包下载地址如下,请选择和cm配套的版本
下载后将所有安装包传输至内网环境任一机器,解压缩后的目录结构如下(仅为示意): 将所有文件拷贝至/var/www/html/供集群使用,确认使用http:// utiliity01.cdhtest.com/cdh 和http:// utiliity01.cdhtest.com/cm可以访问到安装包 在/etc/yum.repos.d/文件夹下创建repo文件,如cloudera-manager.repo,内容如下。
下面描述的流程适用于由Cloudera Manager管理的集群,对于不是由Cloudera Manager管理的集群升级, 请参考: CDH和Cloudera Manager不用同时升级,但是需要保证Cloudera Manager和CDH版本的兼容。Cloudera Manager可以管理当前或以前的major版本的CDH,或相同minor版本的CDH,或较低minor版本的CDH。比如,Cloudear Manager 5.7.1可以管理CDH5.7.2,CDH5.6.1和CDH4.8.6,但是不能管理CDH5.8.1. Cloudera Manager5.x不能管理CDH3.x。 升级时具体有如下几种选择: 评估升级影响 一般需要规划一个足够长的维护窗口(停机时间)进行升级。根据需要升级的组件,集群的节点数,以及不同的硬件情况,可能需要一整天来进行升级。开始升级之前,需要做好一些前置条件准备以及关键数据备份,这篇文档在讲述升级步骤时也会说明。升级之前,需要查阅Cloudera Manager的 Cloudera Enterprise 5.x Release Notes | 5.x | Cloudera Documentation 了解API更改,不推荐的功能,新的功能以及不兼容的更改。 同时需要检查 CDH 5 and Cloudera Manager 5 Requirements and Supported Versions | 5.x | Cloudera Documentation 来确认支持的操作系统,JDK,数据库和其他组件。 Cloudera Manager升级概述 升级Cloudera Manager包括以下步骤: 1.在CM节点上升级Cloudera Manager Server,使用操作系统的命令,比如Redhat的yum。也可以手动通过tarballs来升级。 2.在所有主机上升级Cloudera Manager agent,Cloudera Manager的升级向导可以帮助你升级agent(JDK升级可选),同时也可以手动的通过tarballs升级JDK和agent。 Cloudera Manager升级,可以参考官网文档: https://www.cloudera.com/documentation/enterprise/latest/topics/cm_upgrade.html#concept_q1q_mbs_wx CDH升级包含Hadoop相关组件的升级,可以使用Cloudera Manager来升级CDH,采用parcel或package的方式都可以。 建议使用parcels来升级CDH,因为Cloudera Manager管理这些parcels自动下载,分发和激活。 在升级Cloudera Manager和CDH之前,请确保集群内的所有主机都是使用受支持的Oracle JDK 参考:CDH 5 and Cloudera Manager 5 Requirements and Supported Versions | 5.x | Cloudera Documentation。 同时,所有主机必须使用相同版本的JDK 配置新的CM和CDH源 修改/etc/yum.repos.d/cloudera-manager.repo指向新的CM源
暂停cms服务 选择集群-Cloudera Management Service,选择停止 备份数据库 在数据库所在服务器上执行如下命令备份原数据库数据
停止CM服务 停止cloudera-scm-server和所有cloudera-scm-agent
在Cloudera Manager上备份以下目录
升级CM
重启Cloudera manager
登入CM执行升级向导 CM会自动启动升级向导 填写CM源 选择安装JDK和JCE 输入SSH登录凭证 等待升级完成 检查主机正确性 升级完成 进入审核更改向导界面 重启Cloudera Management Service 重启完成 CM显示过期配置,重启服务 重启完成 停止集群服务 备份NameNode上的HDFS Metastore,注意,此目录实际地址需要在CM的HDFS配置中查看
在数据库所在服务器上执行如下命令备份原数据库数据
向集群中添加新版的CDH存储库 在主页选择升级集群,进入升级向导 选择升级版本 确认备份 通过检测 等待parcel分发完成 通过主机正确性验证 选择完整集群升级 等待升级完成 升级完成 最终化元数据升级 在最终化元数据之前,进行几天甚至几周的运行观察集群是否正常,在发现所有任务都没有任何异常情况后,再进行最终化元数据操作。一旦进行最终化元数据之后,就不能回滚到老的版本了,除非有数据备份。对NameNode的主备节点都执行最终化元数据升级操作: 功能验证 建议参照集群功能测试确认集群功能。 CDH支持的JDK包括JDK7以及JDK8。Cloudera提供相应JDK包,并可以通过CM自动在集群中部署安装。CDH的版本都能提供对Oracle JDK7的支持,而JDK8的支持则需要CDH5.3之后的版本。目前在CDH发行版中自带的JDK版本为1.7.0_67版本。 参考文档: JDK7版本支持情况:
JDK8版本支持情况:
建议使用Cloudera官网推荐的JDK版本。 在oracle官网下载JDK8 1.8u131的安装包 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html 下载JDK8的无限制权限策略文件JCE,如果集群未启动Kerberos,无需下载,但是建议下载,以免日后出现问题。 http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 解压下载的两个压缩包,将UnlimitedJCEPolicyJDK8目录下所有文件拷贝至./jdk1.8.0_131/jre/lib/security目录下覆盖原有文件
将jdk1.8.0_131目录拷贝至/usr/java目录下
将jdk1.8.0_131-cloudera目录同步至集群所有节点的/usr/java目录下。注意:集群中所有节点jdk1.8.0_131-cloudera的部署目录必须一致。
登录Cloudera Manager的Web管理界面,进入主机列表页面 点击配置进入主机配置页面 选择高级类别,在Java主目录输入jdk8的路径并保存配置 回到CM主页根据页面提示重启相应服务 使用ps -ef命令查看启动的java服务使用的jdk版本 cloudera-scm-server使用的jdk版本仍然为jdk7,如需将其切换为jdk8,可以删除CM节点的/usr/java/jdk1.7.0_67-cloudera文件夹并重启cm server 本文以升级Kafka0.11及Spark2.2为例,这两个版本都需要JDK1.8的支持,因此需要首先按照将CDH集群JAVA升级至JDK8中的步骤升级JDK 根据配置安装源配置新的Kafka和Spark2源 Kafka下载地址 http://archive.cloudera.com/kafka/parcels Spark2下载地址 http://archive.cloudera.com/spark2/parcels 在集群中增加新的parcel库 CSD文件下载地址 http://archive.cloudera.com/spark2/csd/ 将下载的文件放入/opt/cloudera/csd目录
CSD文件存放的地址可以通过CM中的Custom Service Descriptors配置项修改 重启cloudera-scm-server服务
设置parcel 下载、分配Parcel包 激活parcel包时提示重启,选择滚动重启或重启 激活成功 回到CM主页,根据提示重启服务并下发客户端配置 配置Spark2的JAVA环境变量为JDK8 在CM中选择活动的namenode 选择该namenode,进入安全模式 选择保存Namespace,此命令将所有edits修改flush到fsimage 进入活动namenode的服务器,将namenode元数据备份,根据集群namenode目录进行如下操作
在utility01上执行以下命令
以下路径为Cloudera默认安装目录下各组件用户数据,需在安装相关组件的所有服务器上备份数据
可参考以下备份zookeeper数据的方式备份以上所有数据
参考集群数据备份备份数据 在CM界面中停止所有集群服务 先停止集群服务 再停止cms服务 解除并移除Parcels 在CM主页右上角选择parcel图标 停用所有parcel 删除停用后的parcel,此处以KUDU为例,所有parcel都需删除 在CM界面选择集群,删除 停止utility01的cloudera manager
停止所有节点的cloudera manager agent
也可以使用脚本停止cloudera manager agent,此脚本在utility01上执行,并假设utility01已经设置到所有服务器的免密登录,可参考配置操作系统,下同。
在所有集群节点上运行以下命令
杀死 Cloudera Manager和Managed进程 在所有集群节点上运行以下命令,将所有服务器的Cloudera Manager和Managed进程杀死
移除Cloudera Manager数据 在所有集群节点上运行以下命令,删除所有Cloudera Manager数据
移除Cloudera Manager Lock File 在所有集群节点上运行以下命令,删除Cloudera Manager Lock File
在所有集群节点上运行以下命令,删除用户所有数据
|