【问题标题】:Spark streaming kafka integration issue in google cloud platform谷歌云平台中的 Spark 流式 kafka 集成问题
【发布时间】:2016-01-21 10:59:26
【问题描述】:

我们在谷歌云平台上使用 Bitnami Kafka 0.8.2 + spark 1.5.2。我们的火花流作业(消费者)没有收到发送到特定主题的所有消息。它接收约 50 条消息中的 1 条(在作业流中添加日志并识别)。我们在 kafka 日志中没有看到任何错误。无法从 kafka 层进一步调试。控制台使用者显示在控制台中接收到 INPUT 主题。它没有达到 spark-kafka 集成流。任何想法如何调试此问题。另一个主题在相同的设置中运行良好。 再次尝试使用 spark 1.3.0、kafka 0.8.1.1 也有同样的问题。所有这些工作都在我们的本地实验室服务器上运行良好

【问题讨论】:

  • 您是否使用 KafkaUtils.createDirectStream() 从 Kafka 读取消息?在您向 Kafka 发布任何消息之前,火花流作业是否开始工作?
  • 是的,我们已经发现了问题。它与google cpu中的线程行为差异有关。我们在使用 groupByKey([numTasks]) 的作业中有一个转换映射/缩减行。 NumTasks 定义为 10 - 在本地服务器上运行良好。删除了 Numtasks 以使用默认值,并在谷歌平台上开始工作。但是我们仍然有一些性能问题。计划将 groupbykey 更改为 reducebykey。

标签: apache-spark apache-kafka google-cloud-platform spark-streaming


【解决方案1】:

真正的根本原因是 - apache cassandra 与 spark-cassandra-connector 不兼容。尽管我们使用了对齐的连接器和 apache cassandra 版本,但一些 cassandra 通信却卡住了。大多数时候,cassandra 节点的 cpu 使用率都在 98% 以上。将 cassandra 更改为 Datastax cassandra 版本 - 并且....它工作得很好!!!无需更改代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-06
    • 2018-05-31
    • 1970-01-01
    • 2019-03-17
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    相关资源
    最近更新 更多