我正在尝试从Scala中的Spark结构化流代码将数据写入HDFS。 但是由于无法理解的错误,我无法这样做
在我的用例中,我正在从Kafka主题中读取数据,该主题想以镶木地板格式写在HDFS上。到目前为止,我脚本中的所有内容都运行良好,没有错误。 为此,我使用了具有1个namenode和3个datanode的development hadoop集群。
无论我尝试过哪种hadoop配置,我都遇到相同的错误(2个数据节点,一个单节点设置等)
这是错误:
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /test/metadata could only be replicated to 0 nodes instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are excluded in this operation.
这是我用来写数据的代码:
val query = lbcAutomationCastDf
.writeStream
.outputMode("append")
.format("parquet")
.queryName("lbcautomation")
.partitionBy("date_year", "date_month", "date_day")
.option("checkpointLocation", "hdfs://NAMENODE_IP:8020/test/")
.option("path", "hdfs://NAMENODE_I:8020/test/")
.start()
.awaitTermination()
Spark Scala代码可以正常工作,因为我可以将数据写入服务器本地磁盘而没有任何错误。 我已经尝试格式化hadoop集群,它不会改变任何内容
您曾经处理过此案吗?
更新: