火花工人之一不工作

one of spark worker is not working

我使用独立集群和 2 个 worker。 使用 spark kafka cassandra hdfs stream

val stream = kafkaUtils.createDirectStream...
stream.map(rec => Row(rec.offset, rev.value)).saveToCassandra(...)
stream.map(_.value).foreachRDD(rdd => {saving to HDFS})

我发送给 Kafka 大约 40000 msg/sec 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

和我使用 ssc.sparkContext.addJars(pathToNeedableJars)

的工人

我如何提高对 Cassandra 的写入以及如何让我的员工一起工作?

我真的很糟糕阅读官方 spark kafka 集成指南,问题,我用于我的主题 1 分区

1:1 correspondence between Kafka partitions and Spark partitions