您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
基于 CDH3 的 BigInsights 集群的搭建与应用
 
作者:杨巍威,王小静 来源:IBM 发布于 2015-11-5
  2727  次浏览      15
 

Cloudera 是 Hadoop 的重要服务提供商,目前可以提供集 Hadoop 安装、配置、管理于一体的工具包。如何在用户现有的 CDH 平台之上集成 IBM 特有的数据分析模块,既是客户实际应用中的迫切需求,也是 IBM Big Data 的重要发展策略。本文首先简要介绍 BigInsights 与 Cloudera 集成的相关背景,在此基础上介绍基于 cloudera 的 BigInsights 集群的系统架构,之后详细介绍在 Cloudera 之上的两种集成方式,最后介绍如何管理和应用集成系统。

Cloudera 和 IBM 都是业界领先的大数据平台软件与服务提供商,2012 年 4 月,两家公司宣布在该领域建立合作关系,强强联手。Cloudera 提供了完整的 hadoop 系统,并在此基础上增强了可扩展性、稳定性和平台性能。InfoSphere BigInsights 则基于 hadoop 系统,建立了丰富的大数据分析解决方案、工具以及软件。通过将 BigInsights 部署到 CDH 的集群上,能够充分的发挥两者的优势,为用户实现最大的价值。

基于 CDH3 的 BigInsights 介绍

需求背景

Cloudera 是一家提供 Hadoop 软件以及服务的公司,Cloudera 发布的 CDH 软件包包括 Hadoop 以及与其相关的开源软件,Cloudera 完善了 Hadoop 的核心功能 —— 分布式计算和高扩展性存储,并加入了诸如安全性、高可用性在内的其他企业级特性。Cloudera 还发布了一款名为 Cloudera Manager 的软件,该软件用于自动安装部署 Hadoop 集群,以及对集群服务和配置的管理。

InfoSphere BigInsights 是 IBM 的大数据管理与分析平台,底层基于 Hadoop 系统。BigInsights 维护了 IBM 的 Hadoop 版本,并在此基础上对作业调度,mapreduce 运算框架以及分布式文件系统等进行了改进。与此同时,BigInsights 还提供了包括可视化数据查询、文本分析、集群控制在内的众多软件与技术。BigInsights 与 CDH3 类似,但也有许多不同之处。Cloudera 仅提供 Apache Hadoop 系统和集群管理软件,而与之相比,BigInsights 提供了大量业界领先的大数据分析工具,是对已有开源技术的延伸,更加适用于企业级应用。具体的对比如以下表格所示。

表 1. CDH3 与 BigInsights 功能对比

在一些客户环境中,他们已经部署了 Cloudera 的 Hadoop 系统,将数据存放到了 HDFS 中,也部署了一些应用及上层软件。在不影响这些系统使用的情况下,将 BigInsights 部署到安装有 CDH 的集群上,使得 BigInsights 能够运行在 CDH 集群,能够充分发挥 BigInsights 数据分析的优势,达到 1+1>2 的效果。BigInsights 从 1.4 企业版开始支持 CDH3u3,而随后发布的 BigInsights 2.0 版本宣布了对 CDH3u4 和 CDH3u5 的支持。目前,Cloudera 已经发布了 CDH4,但是因为该版本还处于 beta 阶段,其稳定性和可靠性并未达到企业级应用的要求,因此 BigInsights 还未增加对它的支持。

系统架构

InfoSphere BigInsights 和 Cloudera CDH3 都包含了大量的软件和工具,包括核心系统 Hadoop 以及基于 Hadoop 的数据管理和分析的软件。下表列举了 BigInsights 和 CDH3 发行版所包含的组件。

表 2. BigInsights 和 CDH3 的组件列表

从上表中可以看出,有很多软件在两个产品中都存在,在集成时,CDH3 中的 Hadoop,hbase,zookeeper 和 flume 将会替代 BigInsights 中的相应组件;对于其他开源组件,诸如 hive,oozie,pig 等,BigInsights 仍然会安装 IBM 的版本,当然这些组件会运行在 CDH3 的 Hadoop 上,因为它们并不会导致任何冲突;而对 IBM 特有的组件,也将被安装并运行在 CDH3 的 Hadoop 集群上,比如 WebConsole,EclipseTooling,SystemT 等。BigInsights 保证了良好的平台兼容性,与 CDH3 彼此协作,使得用户能够在避免数据 / 服务迁移的基础上,享受 BigInsights 的特性和功能。

BigInsights 与 CDH3 集成的遵循了以下原则:

1. BigInsights 与 CDH3 的部署相对独立,不影响原先任何 CDH3 的软件和服务的使用

2. BigInsights 不修改任何 CDH3 已有的配置

3. 所有 BigInsights 的作业将被提交到 CDH3 的 Hadoop 系统中执行

4. 除了少部分管理功能被禁用,其他功能都能够正常使用

5. 支持由 CDH3 包手动配置以及由 Cloudera Manager 安装的 CDH3 集成

6. 保证对 Oracle Java 的兼容

当把 BigInsights 部署到一个已有的 CDH3 的集群上时,软件层次的结构如下图所示:

图 1. BigInsights 和 CDH3 的组件列表

由上图可以看出,BigInsights 整合了已有的 CDH3 的组件,如 Hdfs, mapreduce, zookeeper 等,将它们很好的融入 BigInsights 软件体系,使得它们与其他 BigInsights 的组件一起合同工作在同一个平台上。

系统主要功能特色

不管是部署在 BigInsights 本身的集群还是 CDH3 的集群,BigInsights 最大限度的提供了相同的用户界面以及管理功能,这样,用户不用关心底层的 Hadoop 系统到底是哪家厂商的,上层应用的使用方式没有任何差异。这样的设计保证了 BigInsights 在 CDH3 集群上的高可用性。与此同时,BigInsights 只是使用了 CDH3 的组件,并不会加以修改,所以原先的 CDH3 集群并不会遭到任何的破坏,用户也不用担心任何数据和配置的丢失。

当把 BigInsights 部署到一个 CDH3 的集群之后,该系统具有以下特点:

1. 可以通过 BigInsights 的管理终端实现对 Hadoop 文件系统的管理,实现对作业执行的监控;

2. 可以通过 BigInsights 的管理终端提交和运行内建的应用程序;

3. 可以使用 eclipse 插件进行 MapReduce,jaql,pig 等程序开发;

4. 可以使用 BigSheets 进行可视化数据查询,adhoc 查询以及宏运算;

5. 可以使用 text-anaytics 进行文本分析;

6. 可以使用内建的网络爬虫,数据导入 / 导出等功能;

7. 可以使用 LDAP/PAM/FlatFile 等方式提高集群的安全性;

8. 更好的与 DB2,Streams 以及其他 IBM 产品的集成;

与此同时,BigInsights 有一部分功能在该集成平台上被禁用,其中包括:

1. IBM 对 Hadoop 系统的改进。主要包括对作业调度的改进,对 MapReduce 计算框架的改进以及改进的压缩算法。BigInsights 并没有将这些功能硬性实施到 CDH3 的 Hadoop 上,以避免可能存在的不稳定性。

2. GPFS 文件系统。GPFS 可以替代 HDFS 做为 Hadoop 的分布式文件系统,它高效的备份了元数据,有效解决了 namenode 单点故障的问题,并全面支持 POSIX 接口。但由于用户往往已经将数据存放在 HDFS,为了避免从 HDFS 到 GPFS 的数据迁移,目前暂不支持 GPFS 文件系统。

3. 部分管理功能。当用户使用 Cloudera Manager 安装并部署了 CDH3 集群,为了保持对集群管理的一致性,BigInsights 禁用了对 CDH3 组件的管理功能,这样用户将不能从 BigInsights 的管理终端打开和关闭某项 CDH3 组件的服务。

在 Cloudera 集群之上安装 BigInsights

BigInsights 目前支持在两种 Cloudera 集群之上的安装:基于 Cloudera Manager 的安装和基于 CDH3 发行包的安装。除了配置方面的差异之外,BigInsights 在两种版本之上提供的支持基本一致。

基于 Cloudera manager 的集群安装

基于 Cloudera manager 的 BigInsights 平台安装主要包括以下几个步骤(关于 Cloudera CDH3 的安装请参考 Cloudera 官方网站提供的指南,这里不再赘述)。

表 3 提供了基于 CDH3 的 InfoSphere BigInsights 组件信息。

表 3. 基于 CDH3 的 InfoSphere BigInsights 组件信息

步骤 1. 安装前的准备工作

安装的前提条件是用户使用 Cloudera manager 安装了某个版本的 CDH3 软件包,并且在 CDH3 集群中进行 BigInsights 安装之前,必须保证以下几点:

1. CDH3 Hadoop name node 没有进入安全模式(safe mode)

2. CDH3 Hadoop 服务正常启动并运行

3. CDH3 HBase masters 和 region servers 服务正常启动并运行

4. CDH3 $HBASE_CONF_DIR/regionservers 文件包含 CDH3 tarball 部署集群的所有 HBase region servers 信息 . 这个文件是 UNIX 格式的文本,每行只有一个 hostname,

例如:

hostname1

hostname2

hostname3

5. Java 安装在所有 CDH3 节点上的相同目录下

步骤 2. 设置配置文件

登录到 Cloudera Manager 的管理页面 ( 如 http://hostname:7180),点击”Client Configuration URLs”,下载 HDFS、MapReduce 和 Hbase 的配置文件包,假设 3 个文件包的名字保存为 hdfs1-clientconfig.zip,mapred1-clientconfig.zip 以及 hbase1-clientconfig.zip。

图 2. Cloudera Manager 管理页

1. Hadoop 配置文件设置:登录到集群中的 namenode 节点,创建保存配置文件的目录,例如 /opt/ibm/hadoop-client-conf/,解压 hdfs1-clientconfig.zip 并将解压后所有文件拷贝到该目录;解压 mapred1-clientconfig.zip 并拷贝 mapred-site.xml 到该目录;

2. Hbase 配置文件设置:登录到集群中 Hbase 的 master 节点,创建保存配置文件的目录,例如 /opt/ibm/hbase-client-conf/,解压 hbase1-clientconfig.zip 并将解压后所有文件拷贝到该目录;

3. Zookeeper 配置文件设置:登录到任意一个 Zookeeper 节点,创建保存配置文件的目录,例如 /opt/ibm/zookeeper-client-conf/,拷贝 /var/run/cloudera-scm-agent/process/x-zookeeper-server/ 下的所有配置文件到该目录 (x 代表一个数字,代表 zookeeper 的某个节点 );

4. Oozie 配置文件设置:登录到 Oozie 节点,创建保存配置文件的目录,例如 /opt/ibm/oozie-client-conf/,拷贝 /var/run/cloudera-scm-agent/process/x-oozie-OOZIE_SERVER/ 下的所有配置文件到该目录 (x 代表一个数字,代表 Oozie 的某个节点 )。

步骤 3. 启动安装脚本

将 BigInsights 的安装包解压到某个目录,在 Cloudera 的管理节点上以 root( 或其他用户 ) 运行:

./start.sh overlay1

将会生成一个 URL:

http://hostnameOrIp:8300/Install

用浏览器打开该 URL,将会打开一个用户安装界面,用户只需要输入相关的配置参数即可启动安装。由于安装步骤并不复杂,本文将重点介绍其中的几个步骤。

步骤 4. 安装界面:用户信息设置

设置 SSH 配置需要的必要信息,包括 root 用户密码,BigInsights 的管理员账户及密码和 Hadoop 管理员所在组:

图 3. 用户信息设置

步骤 5. 安装界面:设置 Overlay 模块 (Hadoop, Oozie, Hbase, Zookeeper) 信息

输入 Overlay 模块的信息,包括 Java 目录、Hadoop namenode、Hadoop jobtracker、HDFS 用户名、MapReduce 用户名、Hadoop 安装目录、Hadoop 配置文件目录;Oozie/Zookeeper/Hbase 节点、Oozie/Zookeeper/Hbase 用户名、Oozie/Zookeeper/Hbase 安装目录、Oozie/Zookeeper/Hbase 配置文件目录等。其中,Hadoop 和 Oozie 为必选项,Hbase 和 Zookeeper 为可选项。BigInsights 支持可选的 Zookeeper, Flume, Pig, Hive, HBase, JaqlServer 组件的安装, 如果安装,则需要指定安装的节点,组件用户名,组件根目录和配置文件路径。

图 4. Overlay 模块设置

步骤 6. 安装界面:设置安全策略

基于 Cloudera 的 BigInsights 集群同样支持无用户验证、文件验证、LDAP 验证以及 PAM 验证三种方式。有关这几种安全验证的信息可以参考 IBM BigInsights Info Center 以及 DeveloperWorks 文章《实战 IBM BigInsights,轻松实现 Hadoop 的部署与管理》,此处不再赘述。

图 5. 设置安全策略

最后,产品安装后,会返回安装结果,同时在日志文件里记录了详细信息以便分析。当安装完成以后,点击“Finish”来停止 WebSphere Application Server Community Edition (WAS CE),或者在通过安装向导完成安装以后通过运行“start.sh shutdown”来停止 WAS CE。此时,您可以安全地删除解压后的安装文件了。

步骤 7. 配置 Proxy User

BigInsights 允许继续使用 Cloudera 提供任务管理服务,因此,需要在 Cloudera Manager 上对 HDFS 和 MapReduce 进行配置以便 BigInsights 管理员用户有权限向 Cloudera Hadoop 提交作业以及进行 HDFS 文件的读写操作。编辑 HDFS 服务安全性设置的方法为,登录 Cloudera Manager 管理页面,单击 HDFS Service-> Configuration -> Service Side -> Advanced,找到参数 HDFS Service Configuration Safety Value,将其值更改为:

<property>
<name>hadoop.proxyuser.biadmin.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.biadmin.hosts</name>
<value>*</value>
</property>

图 6. 配置 Proxy User

类似的,在 MapReduce 服务中,编辑 MapReduce 服务安全性配置,将值更改为上述所示。

基于 CDH3 包部署的集群的安装

CDH3 的另一种部署方式是通过 CDH3 发行包进行手动安装,假设用户通过这种方式安装了某个版本的 CDH3 集群,用户依然可以通过 BigInsights 安装程序进而将 BigInsights 部署在该集群上。其过程和步骤与用 Cloudera manager 安装的大致一样,需要特别注意的地方时当填写 overlay 组件的信息时,必须填写正确的组件包位置以及配置文件位置。

基于 CDH3 的 BigInsights 集群的使用

基于 CDH3 的 BigInsights 平台可以提供对 Hadoop 及其它组件的统一管理,除了后台使用命令管理外,还提供了 Web 图形界面,更为方便地管理 Hadoop 组件、HDFS 文件系统、应用程序等。此外,用户也能够在 CDH3 的集群上使用 IBM 特有的软件及工具,比如文本分析工具 text-analytics,图形化表格式数据分析工具 BigSheets 等。以下的内容将会简要地介绍该系统的管理功能,发布和运行应用程序以及使用 BigSheets 进行数据分析等功能。

利用 BigInsights 管理 CDH3 集群

通过 http://< 主节点主机名或 IP>:8080/data/html/index.html 进入 BigInsights Web 管理控制台。

图 7. BigInsights Web 界面

其中在“Cluster Status”页面,可以实现对 Hadoop 以及其他模块状态的监控、启停:

图 8. 服务状态监控及启停

与 BigInsights 完全安装版相比(使用 BigInsights 安装所有模块包括 Hadoop、Hbase、Zookeeper、Oozie、Flume 等),目前基于 CDH3 的 BigInsights 平台尚不支持增删节点的功能,随着以后新版本的发布,该功能将会被支持。此外,BigInsights 提供了统一的命令行接口对集群的组件进行管理,包括 BigInsights 本身的组件,也包括 CDH3 中的组件。用户可以方便的使用命令行来启动、停止某个服务,或者查询服务的状态。比如,开启、关闭和查询 Hadoo 服务的状态可以使用以下命令行:

$BIGINSIGHTS_HOME/bin/start.sh hadoop
$BIGINSIGHTS_HOME/bin/stop.sh hadoop
$BIGINSIGHTS_HOME/bin/status.sh hadoop

需要注意的是,目前对于用 Cloudera manager 安装的集群,BigInsights 暂时不支持开启或关闭某个 CDH3 的组件,用户只能通过 Cloudera manager 的管理终端完成这些操作。

发布和运行应用程序

BigInsights 内建了许多应用程序,这些应用程序是针对不同的应用场景设计的,可以方便的部署与运行在 CDH3 的集群上。这些集群包括数据导入 / 导出、与数据库的连接、网络爬虫、Adhoc 查询等等。

图 9. 管理应用程序

根据不同的需要,用户可以选择其中的应用程序发布和运行,图 9 描述了一个简单的网络爬虫的应用的发布与运行:

图 10. 运行网络爬虫程序

输入必要的参数后,点击运行按钮,作业将被提交到 CDH3 的集群上运行,作业运行的详细情况可以通过 Application status 页面监视

图 11. 查看程序运行状态

从该页面可以查看作业名称,配置文件,作业开始的运行时间以及结束的时间,并且能够方便的查看作业执行的状态。

利用 BigSheets 可视化数据

BigSheets 是 BigInsights 提供的数据可视化工具,可以对 Hadoop 系统中的数据(应用程序的输出)进行分析。例如,在运行上述网络爬虫应用之后,利用 BigSheets 提供的分析函数和图表功能,能够简便地将网络非结构化数据转化为结构化数据。

图 12. 利用 BigSheets 可视化非结构数据

   
2727 次浏览       15
 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   
相关培训课程

云计算原理与应用
Windows Azure 云计算应用

摩托罗拉 云平台的构建与应用
通用公司GE Docker原理与实践
某研发中心 Openstack实践
知名电子公司 云平台架构与应用
某电力行业 基于云平台构建云服务
云计算与Windows Azure培训
北京 云计算原理与应用