首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Spark 和 IBM Cloud Object Storage 更快地分析数据(1)

使用 Spark 和 IBM Cloud Object Storage 更快地分析数据(1)

各行各业都在以惊人的速度生成数据,包括测序系统生成的基因组数据、具有超高清格式的媒体和娱乐数据,以及众多传感器生成的物联网 (IoT) 数据。IBM                Cloud Object Storage(IBM COS,以前称为                Cleversafe)技术为这些应用提供了高容量、经济有效的存储。但仅存储数据还不够;还需要从数据中获取价值;可以使用领先的数据分析处理引擎                Apache Spark 来实现此目的。Spark 的运行速度是 Hadoop MapReduce 的 100 倍,而且它还结合了                SQL、流处理和复杂情况分析。
本文将介绍如何让 Spark 能对 IBM COS 中存储的数据进行分析。我们将介绍如何使用 Stocator 和 OpenStack                Keystone,前者是一个用作驱动程序的开源软件,后者提供了身份验证功能。Stocator 利用了对象存储语义,而且与以前专为处理文件系统而设计的                Spark 存储连接器相比,Stocator 显著提高了性能。Stocator 采用 JOSS(一个开源 Java 客户端)生成 HTTP REST                命令,这些命令通过 OpenStack Swift 接口访问 IBM COS。
下图演示了 IBM COS、Stocator 与 OpenStack Keystone 之间的三角关系。
1

安装和配置 Spark

下载 。 网站提供了构建、安装和配置 Spark                的操作说明。依据您的设置,可以将 Spark 配置为一台独立机器,或者在集群上使用 YARN、Mesos 或 Spark                的独立集群管理器。在我们的示例中,我们结合使用了 IBM COS 和 Spark 2.0.1。
2

安装和配置 IBM COS

安装 Cloud Object Storage (COS)。在我们的示例中,我们为 IBM COS 设置了 Keystone 身份验证。
3

安装和配置 Stocator

为了从 Spark 访问 IBM COS,我们使用了开源驱动程序软件 Stocator。Stocator 是 Spark                的高性能的对象存储连接器,它利用了对象存储语义。它提供了 OpenStack Swift API                的完整驱动程序,可轻松地扩展它来支持其他对象存储接口。我们利用了 Stocator 通过其 Swift API 将 Spark 与 IBM COS                相连的能力。
要使用 Stocator,请完成以下步骤。
  • 从  下载源代码,使用 git                    复制或克隆它。
  • 从 Stocator 的目录输入 mvn clean package –Pall-in-one 来构建                    Stocator。
要将 Spark 配置为利用 Stocator 访问 IBM COS,需要定义 Stocator 及其设置。有两种配置 Stocator                的方法
向配置文件添加参数要创建 core-site.xml 配置文件,可执行以下操作之一:
使用 Stocator/conf 目录中的                core-site.xml.template 文件在 Configuration Files 部分,通过输入以下命令,访问用于配置基于 Keystone 的身份验证的 core-site.xml                示例:
清单 1. 访问 core-site.xml.template                文件
1
2
ofer@beginnings:~$ cd ~/stocator/conf
ofer@beginnings:~/stocator/conf$ cp core-site.xml.template ~/spark-2.0.1/conf/core-site.xml




使用                Keystone Version 2 配置文件对于 Keystone Version 2,可以使用这个 core-site.xml 并按清单下方的说明进行替换。
清单 2. Keystone Version 2                配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<configuration>
<property>
    <name>fs.swift2d.impl</name>
    <value>com.ibm.stocator.fs.ObjectStoreFileSystem</value>
</property>

<!-- Keystone based authentication -->
<property>
    <name>fs.swift2d.service.spark.auth.url</name>
    <value>http://your.keystone.server.com:5000/v2.0/tokens&lt;/value>
</property>
<property>
    <name>fs.swift2d.service.spark.public</name>
    <value>true</value>
</property>
<property>
    <name>fs.swift2d.service.spark.tenant</name>
    <value>service</value>
</property>
<property>
    <name>fs.swift2d.service.spark.password</name>
    <value>passw0rd</value>
</property>
<property>
    <name>fs.swift2d.service.spark.username</name>
    <value>swift</value>
</property>
<property>
    <name>fs.swift2d.service.spark.auth.method</name>
    <value>keystone</value>
</property>
<property>
    <name>fs.swift2d.service.spark.region</name>
    <value>IBMCOS</value>
</property>

</configuration>




  • your.keystone.server.com 替换为 Keystone 服务器的真实地址。
  • 将所有身份验证凭证(tenantusername 和                    password)替换为您的对象存储的有效凭证。
  • 使用全球 Keystone 时,需要根据为 IBM COS 访问定义的 Keystone 地区来定义 region 属性。
返回列表