- 启动 master 和 worker
- 启动控制台并输入
nc -lk 9999
- Ran Network字数统计示例
./bin/run-example streaming.NetworkWordCount localhost 9999
- 写在
"Hello world Hello"
netcat 控制台。
- 但是我运行程序的控制台没有显示计算数据(可能是数据没有流式传输),当我停止程序时,它计算了
Hello, 2 world,1
最佳答案
我也遇到了同样的问题,上周末为了让这个简单的流媒体示例正常工作。最后我可以成功执行 NetworkWorkCount 程序。我正在使用 Spark 1.5.2。和 Ubuntu_14 系统。
有多种方法可以解决这个问题,您可以使用其中一种:
您需要更新 NetworkWorkCount.scala 的代码(在/examples/src/main/scala/org/apache/spark/examples/streaming/中),添加 setMaster("local[2]") 同时如下创建 SparkConf 变量。
new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
这种方法的问题是,您必须以某种方式编译更新后的代码以使我们的修改生效,这对于刚开始学习 spark 并尝试运行这个简单示例的人来说可能是另一个问题。对于他们来说,最简单的方法是下面的选项。
最简单的解决方案是将 MASTER 变量设置为 local[2],如下所示:
一个。切换到您的 SPARK_HOME 的/conf 目录
使用提供的模板创建 spark-env.sh :
cp spark-env.sh.template spark-env.sh
打开 spark-env.sh 并在其中设置以下配置:
MASTER=local[2]
现在打开第一个终端并启动 netcat 实用程序
nc -lk 9999
打开第二个终端并执行 NetworkWordCount 程序
./bin/run-example streaming.NetworkWordCount localhost 9999
它将开始显示连续流,如下所示:
-------------------------------------------
Time: 1450077999000 ms
-------------------------------------------
(are,12)
(am,6)
(how,6)
(rashmit,6)
(apache,6)
(hello,5)
(spark,5)
(you,12)
(i,6)
(sparkhello,1)
...
-------------------------------------------
Time: 1450078000000 ms
-------------------------------------------
(are,2)
(am,1)
(how,1)
(rashmit,1)
(apache,1)
(hello,1)
关于apache-spark - Spark 流式传输示例对我不起作用 : Network word count (maybe Data not getting streamed),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31579204/