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

Apache Zeppelin & Spark Streaming: Twitter Example only works local

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

我使用以下安装:

编辑 此外,以下安装对我不起作用:

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

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

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

我试了两天就搞定了!

本地 Zeppelin Spark 解释器和 Spark Cluster 之间的区别似乎是,本地包含执行 Twitter Streaming 示例所需的 Twitter Utils,而 Spark Cluster 没有这个库默认情况下。

因此在启动以Spark集群为主的应用程序之前,您必须在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 服务器