【发布时间】:2017-11-23 09:16:17
【问题描述】:
我使用带有 2 个工作人员的独立集群。 使用 spark kafka cassandra hdfs 流
val stream = kafkaUtils.createDirectStream...
stream.map(rec => Row(rec.offset, rev.value)).saveToCassandra(...)
stream.map(_.value).foreachRDD(rdd => {saving to HDFS})
我向 Kafka 发送大约 40000 条消息/秒
首先是 saveToCassandra 工作缓慢,因为如果我评论 stream.saveToCassandra 它工作得非常好而且很快。
在 spark 驱动程序 UI 中,我看到 5MB 的输出大约需要 20 秒。
我尝试调整 spark-cassandra 选项,但也至少需要 14 秒。
第二个是比我提到的,我的一个工人什么都不做,它记录我看到这样的东西:
10:05:33 INFO remove RDD#
等等
但如果我停止另一个工人,它就会开始工作。
我不使用 spark-submit,只是
startSpark extends App {
还有洞的代码,然后以
开头scala -cp "spark libs:kafka:startSpark.jar" startSpark
在对工人的 conf 中我使用ssc.sparkContext.addJars(pathToNeedableJars)
如何提高对 Cassandra 的写作能力以及如何让我的员工一起工作?
【问题讨论】:
-
也通过 spark-shell --master spark://192.168.1.40:7077 和 :paste 模式使用它。结果也和以前一样,一个节点什么都不做
标签: apache-kafka spark-streaming spark-cassandra-connector apache-spark-standalone