Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 增加 - 继续阅读

Table of Contents

Spark 与 Hadoop 集成

这部分介绍了如何从 Spark 中去访问各种各样的 Hadoop 生态系组件。

从 Spark 中访问 HBase

您可以使用 Spark 来处理到 HBase 中的数据。请看 使用 Spark 导入数据到 HBase

您也可以从 Spark 到 HBase 使用 Spark 来结合 Apache Kafka 到 stream 的数据。请看 使用 Spark 和 Kafka 导入数据到 HBase

提交 Spark 应用程序的主机,或者运行 spark-shell 的主机,或者运行 pyspark 的主机必须有一个 HBase gateway 角色 定义在 Cloudera Manager 中并且 客户端配置 被部署了。

Kerberized 环境中的局限性

在 Kerberized 群集中 Spark 应用程序有下列的局限性 : 

  • 应用程序必须每 7 天重启一次(ps : 坑爹呀!←_←)。
  • 如果群集已经启用了 HA,在您的命令行中必须指定 keytab 和 principal 参数(与使用 kinit 相反)。例如 : 

    Code Block
    languagebash
    themeEclipse
    spark-shell --jars MySparkHbaseApp.jar --principal ME@DOMAIN.COM --keytab /path/to/local/keytab ...
    Code Block
    languagebash
    themeEclipse
    spark-submit --class com.example.SparkHbaseApp --principal ME@DOMAIN.COM --keytab /path/to/local/keytab
    SparkHBaseApp.jar [ application parameters....]"

    更多的信息请看 Spark 身份认证

从 Spark 中访问 Hive

提交 Spark 应用程序的主机,或者运行 spark-shell 的主机,或者运行 pyspark 的主机必须有一个 Hive gateway 角色 定义在 Cloudera Manager 中并且 客户端配置 被部署了。

从 Oozie 中运行 Spark Jobs

对于 CDH 5.4 和更高的版本您可以从 Oozie 中使用  Spark action 调用 Spark Job。更多关于 Spark action 的信息请看 Oozie Spark Action 扩展

在 CDH 5.4 中,当运行  action 时去启动 动态分配,在 Oozie workflow 中指定以下配置 : 

Code Block
languagexml
themeEclipse
<spark-opts>--conf spark.dynamicAllocation.enabled=true
--conf spark.shuffle.service.enabled=true
--conf spark.dynamicAllocation.minExecutors=1
</spark-opts>

如果您已经在 Cloudera Manager 中启用了 shuffle 服务,您不需要去指定 spark.shuffle.service.enabled。

 

继续阅读

Children Display
alltrue