cassandra - spark-cassandra-connector 性能 : executors seem to be idle

标签 cassandra apache-spark spark-streaming spark-cassandra-connector

在我们的 40 个节点集群上(33 个 spark 执行器/5 个节点 cassandra), 使用 spark-streaming,我们在 cassandra 表中(使用 .saveToCassandra)每分钟插入大约 20 000 个(除其他外)。 我们得到的结果是:

enter image description here

如果我理解正确,执行器 S3S14S19 有 75% 的时间处于空闲状态,并阻止该阶段完成。 .. 这样的资源浪费!和性能损失。

这是我的 SparkContext 的配置选项:

  .set("spark.cassandra.output.batch.size.rows", "5120")
  .set("spark.cassandra.output.concurrent.writes", "100")
  .set("spark.cassandra.output.batch.size.bytes", "100000")
  .set("spark.cassandra.connection.keep_alive_ms","60000")

这种行为正常吗?如果不是,我应该调整上述设置来避免它吗? 问题是来自 spark-cassandra-connector 写入还是其他原因?

最佳答案

乍一看,我怀疑这是一个 cassandra 连接器问题。我们目前正在使用每分钟 300,000 条记录和更小的集群来执行 .saveToCassandra。

如果 .saveToCassandra 需要很长时间,您会看到很长的任务。您看到的是任务之间无法解释的(?)差距。

需要更多信息才能追踪到这一点。从“作业”选项卡开始——您是否看到任何作业需要很长时间?向下钻,你看到了什么?

关于cassandra - spark-cassandra-connector 性能 : executors seem to be idle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631483/

相关文章:

java - Cassandra Java 连接问题

c# - 可以将 Cassandra 配置为同时使用内部和公共(public) IP 地址吗?

java - web项目中如何使用spark mllib

apache-spark - Spark - 按键对 DStream 进行排序并限制为 5 个值

scala - 计算 Spark(结构化)流应用程序的数据处理速率

php - 为了安全和统计需要记录什么?

Cassandra :找不到命令

hadoop-yarn - Spark 中的 yarn 客户端模式是什么?

mysql - 如何从每 12 小时发生的事件的每个 "group"中提取第一个时间戳

hadoop-yarn - 在 yarn 集群模式下运行时如何使用 REST 调用获取 Spark Streaming 作业统计信息