您好:这块我理解的确实是有问题,或者说是我表达的不太清楚
我是拿flume ng和spark streaming做的集成。 flume汇总的数据要往spark streaming去sink,这样肯定只会指定一个IP来进行SINK,所以我的问题在于,spark streaming我去做监听时,肯定只会指定某个端口去监听,如下代码:
- val sparkConf = new SparkConf().setAppName("SensorRealTime")
-
- val ssc = new StreamingContext(sparkConf, Seconds(20))
-
- // val hostname = "localhost"
- val hostname = "121.41.xx.xx"
- val port = 2345
- val storageLevel = StorageLevel.MEMORY_ONLY
- val flumeStream = FlumeUtils.createStream(ssc, hostname, port, storageLevel)
复制代码
我的问题就随之而来了。 我在代码中监听的是某一IP,那么spark streaming集群也只是会监听一台机子?
像您所说,我这样只是用集群中的一台机器来做监听是不对的? 那么我这样的需求时应该如何去做?
如果我这样的需求是对的,那么如果只监听一台机器,那么该机器的监听触发后,任务执行是否还使用的是整个集群的资源?
多谢您的解答。
|