问题描述
我得到的错误是:-
20/11/02 13:34:51 WARN NetworkClient: [Consumer clientId=consumer-spark-kafka-source-366ac503-c5a4-4338-869c-84786983aab3--188679505-driver-0-1,groupId=spark-kafka-source-366ac503-c5a4-4338-869c-84786983aab3--188679505-driver-0] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
我的docker-compose.yml文件
version: "3"
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- 2181:2181
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- 9092:9092
environment:
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_broKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "kafkatutorial:1:1"
ALLOW_PLAINTEXT_LISTENER: "yes"
SSL: localhost:9092
expose:
- 9092
spark:
build:
dockerfile: DockerFileSpark
context: .
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
ports:
- '8080:8080'
links:
- kafka
depends_on:
- zookeeper
- kafka
解决方法
-
SSL: localhost:9092
对于kafka容器不是有效的环境变量;您需要在两个侦听器变量中设置SSL,并向图像添加ssl证书 -
不清楚您的Spark代码在哪里运行,但是在容器中,
localhost
永远无法连接到外部服务。删除您Yaml中的links
,然后使用代码连接到kafka:9092