我正在使用hdp 沙盒2.6.4 ,并且在本地计算机(主机)上配置了spark。
我已经使用shell登录到docker映像,并开始了一个简单的控制台使用者。我正在尝试在我的本地计算机(不是docker容器)上使用Spark来使用它。它没有给出任何错误。但是,它也不提供任何输出。
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder.appName("demo")
.master("local[*]")
.getOrCreate()
spark.sparkContext.setLogLevel("WARN")
import spark.implicits._
val df = spark.readStream.
format("kafka").
option("kafka.bootstrap.servers", "localhost:6667").
option("subscribe", "test").
load()
val query = df.writeStream
.outputMode("append")
.format("console")
.start()
query.awaitTermination()
}
如果我登录到docker image并启动另一个控制台生产者,则可以使用所有消息。我已经检查了端口,并且从docker到主机都是打开的。
答案 0 :(得分:0)
我怀疑VM的Docker容器中的kafka代理的advertised.listeners没有针对外部连接进行配置