【发布时间】:2019-01-26 00:29:18
【问题描述】:
我们在使用新的 EMR 设置时遇到了无法解释的行为,其中包括: EMR 5.16(3 个节点 - c4.8xlarge 和 1 个主节点 - c4.8xlarge) 基于ECS的Kafka集群
我们运行简单的流作业,从 Kafka 主题读取,进行一些逻辑并将 writeStream 写回 Kafka 主题(使用 checkpointLocation 作为 HDFS 路径)
“问题”是在 Ganglia 中,我可以看到从驱动程序(在其中一个从属服务器上运行)到主服务器的网络流量不断增加。
我可以从一个简单的 pcap 文件中看到流量属于 50010(Hadoop 数据传输),而我在这里陷入了死胡同。
需要一些帮助,谢谢!
【问题讨论】:
-
如果您从 Kafka 读取数据,然后将数据写回 Kafka,您是否有理由不使用 Kafka Streams API?那么你就不需要 HDFS 检查点了
-
这是我的 writeStream 代码,例如:
tmp = host_NoClass \ .selectExpr("CAST(timestamp AS STRING) AS key", "to_json(struct(*)) AS value") \ .writeStream \ .format("kafka") \ .option("kafka.bootstrap.servers", kafka_ip) \ .option("topic", "dd_no") \ .option("checkpointLocation", chckpt_dd_no) \ .outputMode("append") \ .start()你还有其他的例子吗? -
是的,您使用的是 Spark。 Kafka Streams 是一个不同的 API,不依赖 HDFS 或 Spark kafka.apache.org/11/documentation/streams/developer-guide/…
标签: apache-spark hadoop apache-kafka hdfs amazon-emr