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

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

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

使用                Keystone Version 3 配置文件对于 Keystone Version 3,可以使用这个 core-site.xml 并按清单下方的说明进行替换。请记住,对于 Keystone                Version 3,使用 userIDtenantID 代替 username 和                    tenant 值。
清单 3. Keystone Version 3                配置文件
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/v3/auth/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>1c5c9e97c8db488baeca8d667497aef7</value>
</property>
<property>
    <name>fs.swift2d.service.spark.password</name>
    <value>passw0rd</value>
</property>
<property>
    <name>fs.swift2d.service.spark.username</name>
    <value>d2a2adb8bd924c2da1545e2e9ee7c4fe</value>
</property>
<property>
    <name>fs.swift2d.service.spark.auth.method</name>
    <value>keystoneV3</value>
</property>
<property>
    <name>fs.swift2d.service.spark.region</name>
    <value>IBMCOS</value>
</property>

</configuration>




  • your.keystone.server.com 替换为 Keystone 服务器的真实地址。
  • 将所有身份验证凭证(tenantusername 和                    password)替换为您的对象存储的有效凭证。请记住,对于 Keystone Version 3,使用                        userIDtenantID 代替 username 和                        tenant 值。
  • 使用全球 Keystone 时,需要根据为 IBM COS 访问定义的 Keystone 地区来定义 region 属性。
在代码中以编程方式指定参数如果喜欢在代码中指定参数,可以使用下面的代码示例,其中的 SERVICE_NAME 为                spark
清单 4. 向代码添加配置参数
1
2
3
4
5
6
7
8
9
hconf = sc._jsc.hadoopConfiguration()
hconf.set("fs.swift2d.impl", "com.ibm.stocator.fs.ObjectStoreFileSystem")
hconf.set("fs.swift2d.service.spark.auth.url", "http://your.authentication.server.com/v2.0/tokens")
hconf.set("fs.swift2d.service.spark.public", "true")
hconf.set("fs.swift2d.service.spark.tenant", "service")
hconf.set("fs.swift2d.service.spark.username", "swift")
hconf.set("fs.swift2d.service.spark.auth.method", "keystone")
hconf.set("fs.swift2d.service.spark.password", "passw0rd")
hconf.set("fs.swift2d.service.spark.region", "IBMCOS")




表 1 对每个参数进行了说明。
表 1. 配置参数键说明 fs.swift2d.service.SERVICE_NAME.impl  jar 内的驱动程序类的路径                         fs.swift2d.service.SERVICE_NAME.auth.url  Keystone                            服务的 URL  fs.swift2d.service.SERVICE_NAME.public  定义将通过公有                            (true) 或私有 (false) 网络进行访问。默认设置为 false。  fs.swift2d.service.SERVICE_NAME.tenant  对象存储租户名称                         fs.swift2d.service.SERVICE_NAME.password  对象存储用户密码                         fs.swift2d.service.SERVICE_NAME.username  对象存储用户名                         fs.swift2d.service.SERVICE_NAME.block.size  读/写数据块大小                            (MB)。默认设置为 128MB。 fs.swift2d.service.SERVICE_NAME.region  Keystone                            地区(针对全球 Keystone 用例)  fs.swift2d.service.SERVICE_NAME.auth.method                             身份验证方法。对于 Keystone Version 2,将其设置为                            keystone;对于 Keystone Version 3,将其设置为                                keystoneV3。SERVICE_NAME 应替换为您的服务名称,比如 spark
4

启动启用了 Stocator 的 Spark

在利用 Stocator 从 Spark 访问 IBM COS 对象之前,需要静态地将 Spark 和 Stocator 重新编译到一起,或者动态地将                Stocator 的库传递给 Spark。
要利用源代码重新编译 Spark 来包含 Stocator 驱动程序,请参阅  中的说明。
要通过 Stocator 的独立 jar 库使用 Spark,而不重新编译它,可以使用 –jars 选项运行                Spark。在我们的环境中,我们使用了 1.0.8 版的 Stocator,所以独立 jar 库的名称为                    stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar。在我们的示例环境中,传递给                Spark                的选项包括:–jars stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar。
清单 5. Jars                选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ofer@beginnings:~$ ~/spark-2.0.1/bin/spark-shell \
                   --jars stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.0.1
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.7.0_111)
Type in expressions to have them evaluated.
Type :help for more information.

scala>

返回列表