apache-spark - 每当我在 dockercontainer 中获得 spark 工作时,都会断开 Bootstrap 代理 localhost:9092 (id: -1 rack: null)
问题描述
我得到的错误是: -
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
推荐阅读
- r - 如何检查向量或数据框是否具有特定值的特定顺序?
- xml - 纳斯达克上的 Googlesheets xpath/xquery
- tsql - 39位数字的T-SQL数据类型?
- bash - 重击。在每个函数中调用一个函数
- python - 我如何使 xticks 等距,尽管它们很有价值?
- cordova - 如何在不破坏一切的情况下放置一个cordova插件?
- css - 如何仅在登录页面上有正文背景图片
- c - 计算两个日期之间的天数,但结果错误
- javascript - 在 typescript 中创建类似 lodash get 的最佳方法?
- java - 如何从具有多行的 JTable 中的列中读取 JComboBox 值