我有一个spark程序,可以将消息写入另一个kafka主题,并在本地将检查点写入HDFS系统
val query = kafkaDf.writeStream.format("kafka").option("kafka.bootstrap.servers",conf.getString("bootstrap.servers")).option("topic","RTA-ALERT").option("checkpointLocation","hdfs://localhost:9000/user/checkpoint8").option("failOnDataLoss", "false").start()
这些是core-site.xml的内容
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
这在我的IDE上工作正常。但是,当我将其打包为jar时,可以在EMR群集上运行它。我收到以下错误。
Call From ip-xxx-xx-xx-86/xxx.xx.xx.86 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused
这些是我的EMR群集的主节点上core-site.xml的内容
<property>
<!-- URI of NN. Fully qualified. No IP.-->
<name>fs.defaultFS</name>
<value>hdfs://ip-xxx-xx-xx-86.ec2.internal:8020</value>
</property>