【问题标题】:Kafka server is on my local computer and my spark server is on aws, I am getting error "Failed to find data source: kafka."Kafka 服务器在我的本地计算机上,我的 spark 服务器在 aws 上,我收到错误“找不到数据源:kafka”。
【发布时间】:2021-01-12 01:32:30
【问题描述】:

Kafka 服务器在我的本地计算机上,我的 spark 服务器在 aws 上,我正在尝试连接两者。我收到错误“找不到数据源:kafka。”

-aws 上的 Spark 服务器

kafka_df = spark.readStream \
        .format("kafka") \
        .option("kafka.bootstrap.servers", "localhost:9092") \
        .option("subscribe", "invoices") \
        .option("startingOffsets", "earliest") \
        .load() ` 

-本地计算机上的Kafka生产者服务器

kafka-console-producer.sh --broker-list localhost:9092 --topic invoices

【问题讨论】:

    标签: apache-spark apache-kafka spark-structured-streaming


    【解决方案1】:

    您需要将spark-sql-kafka 包添加到您的 Spark 驱动程序。

    对于该错误消息,Spark 或 Kafka 在哪​​里运行并不重要,但是,AWS 上的 localhost 将无法连接到在您自己的机器上运行的 Kafka,您不应该通过打开互联网,如果你要连接两者。

    【讨论】:

    • .config("spark.jars.packages", "org.apache.spark:spark-sql-kafka-0-10_2.12:3.0.0") 我添加到驱动了,还是一样的错误。我还尝试在我的 spark 服务器上将localhost 更改为我的本地计算机 IP 地址,仍然是同样的错误......有什么想法吗?
    • 我迫切需要一个解决方案。
    • 我不确定您使用的是什么版本的 Spark,但请确保您使用的是合适的版本。此外,尝试在 Spark 提交命令中使用 --packages。我在更改会话配置方面从未取得过成功。并且不清楚您所说的“本地计算机 ip”是什么意思,但是如果您的路由器中没有设置端口转发,AWS 就无法进入您的本地(家庭)网络;你最好在 EC2 或 MSK 中运行 Kafka
    • 谢谢,我必须将这个 org.apache.spark spark-sql-kafka-0-10_2.11:2.4.7 添加到 spark 主页中的 spark-defaults.conf 文件中
    • 是的,确实如此。但我必须在 AWS 上安装 kafka。
    猜你喜欢
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2015-12-25
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多