分享

关于sparkstreaming的监听问题。

lixiaoliang7 发表于 2014-12-21 10:35:27 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 15810
我的sparkstreaming是运行在spark on yarn上边。
flum-ng向spark streaming发送数据。
当将spark streaming程序提交给集群后,spark streaming是监听一台节点的端口,还是监听所有节点的端口?   
当该当前节点的监听被触发后,那么数据是使用整个集群中所有资源处理,还是就是当前节点来处理?

已有(3)人评论

跳转到指定楼层
desehawk 发表于 2014-12-21 12:16:44
所谓集群及利用其所用资源,如果只是只是利用了一台或则几台,说明配置有些问题,需要自己优化。
回复

使用道具 举报

lixiaoliang7 发表于 2014-12-22 04:30:35
desehawk 发表于 2014-12-21 12:16
所谓集群及利用其所用资源,如果只是只是利用了一台或则几台,说明配置有些问题,需要自己优化。

您好:这块我理解的确实是有问题,或者说是我表达的不太清楚
我是拿flume ng和spark streaming做的集成。 flume汇总的数据要往spark streaming去sink,这样肯定只会指定一个IP来进行SINK,所以我的问题在于,spark streaming我去做监听时,肯定只会指定某个端口去监听,如下代码:

  1. val sparkConf = new SparkConf().setAppName("SensorRealTime")
  2.     val ssc = new StreamingContext(sparkConf, Seconds(20))
  3.     // val hostname = "localhost"
  4.     val hostname = "121.41.xx.xx"
  5.     val port = 2345
  6.     val storageLevel = StorageLevel.MEMORY_ONLY
  7.     val flumeStream = FlumeUtils.createStream(ssc, hostname, port, storageLevel)
复制代码

我的问题就随之而来了。 我在代码中监听的是某一IP,那么spark streaming集群也只是会监听一台机子?
像您所说,我这样只是用集群中的一台机器来做监听是不对的? 那么我这样的需求时应该如何去做?
如果我这样的需求是对的,那么如果只监听一台机器,那么该机器的监听触发后,任务执行是否还使用的是整个集群的资源?

多谢您的解答。
回复

使用道具 举报

bioger_hit 发表于 2014-12-22 11:44:25
lixiaoliang7 发表于 2014-12-22 04:30
您好:这块我理解的确实是有问题,或者说是我表达的不太清楚
我是拿flume ng和spark streaming做的集成 ...
比如我们hadoop集群,如果我们想访问上面的数据,可以通过
  1. hdfs://master:8020:/
复制代码
命令访问,master是什么?是一台机器,但是同时我们访问的却是整个集群的数据。


同理,楼主也是,虽然你监听的是一台机器,但是你要通过一台监听整个集群。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条