【问题标题】:Apache Zeppelin & Spark Streaming: Twitter Example only works localApache Zeppelin 和 Spark Streaming:Twitter 示例仅适用于本地
【发布时间】:2016-03-21 16:42:47
【问题描述】:

我刚刚从http://zeppelin-project.org/docs/tutorial/tutorial.html 将示例项目添加到我的 Zeppelin Notebook(“流数据教程”部分)。我现在遇到的问题是该应用程序似乎只能在本地工作。如果我将 Spark 解释器设置“master”从“local[*]”更改为“spark://master:7077”,当我执行相同的 SQL 语句时,应用程序将不再带来任何结果。我做错什么了吗?我已经重新启动了 Zeppelin 解释器,还有整个 Zeppelin 守护进程和 Spark 集群,但没有解决问题!有人可以帮忙吗?

我使用如下安装:

  • Spark 1.5.1(为 Hadoop 2.6+ 预构建),Master + 2x Slaves
  • Zeppelin 0.5.5(安装在 Spark 的主节点上)

编辑 以下安装也不适合我:

  • Spark 1.5.0(为 Hadoop 2.6+ 预构建),Master + 2x Slaves
  • Zeppelin 0.5.5(安装在 Spark 的主节点上)

屏幕截图:本地设置(有效!)

屏幕截图:集群设置(不起作用!)

作业似乎在集群模式下正确运行:

【问题讨论】:

  • 这可能是apache-zeppelin 特有的问题。您需要检查是否有相关的 JIRA。请记住,Zeppelin 仍然不成熟,所以不幸的是,应该预料到这些行为/错误。

标签: apache-spark apache-spark-sql spark-streaming apache-zeppelin


【解决方案1】:

试了2天终于搞定了!

本地 Zeppelin Spark 解释器和 Spark Cluster 的区别似乎在于,本地解释器包含了执行 Twitter Streaming 示例所需的 Twitter Utils,而 Spark Cluster 默认没有这个库.

因此,在以 Spark 集群作为 master 启动应用程序之前,您必须在 Zeppelin Notebook 中手动添加依赖项。所以 Notebook 的第一段必须是:

%dep
z.reset
z.load("org.apache.spark:spark-streaming-twitter_2.10:1.5.1")

如果运行此段时出现错误,只需尝试通过 ./bin/zeppelin-daemon.sh stop (& start) 重新启动 Zeppelin 服务器!

【讨论】:

    猜你喜欢
    • 2016-03-21
    • 2016-12-16
    • 2016-03-08
    • 2016-12-16
    • 2020-05-20
    • 2015-10-09
    • 2020-01-30
    • 2017-04-19
    • 2015-12-10
    相关资源
    最近更新 更多