Apache Zeppelin& Spark Streaming:Twitter示例仅适用于本地

时间:2015-12-15 18:36:13

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

我刚从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的主节点上)

屏幕截图:本地设置(有效!) enter image description here

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

作业似乎在群集模式下正常运行: enter image description here

1 个答案:

答案 0 :(得分:3)

我在试了两天后得到了它!

本地Zeppelin Spark解释器和Spark Cluster之间的差异似乎是,本地的解释器包含了执行Twitter Streaming示例所需的Twitter Utils,而Spark Cluster默认没有此库

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

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

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