【问题标题】:Change host protocol from http to https with kafka使用 kafka 将主机协议从 http 更改为 https
【发布时间】:2021-12-14 03:02:19
【问题描述】:

当我使用 http 协议 kafka 与我一起运行时,我遇到了 kafka 问题

但是在将协议从 http 升级到 https 之后

升级后所有服务都返回相同的错误

2021-10-28 23:16:26.367  WARN 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1] Connection to node 1 (/206.189.178.228:9092) could not be established. Broker may not be available.
2021-10-28 23:18:02.623  WARN 1 --- [ntainer#1-0-C-1] org.apache.kafka.clients.NetworkClient   : [Consumer clientId=consumer-2, groupId=groupId] Connection to node 1 (/206.189.178.228:9092) could not be established. Broker may not be available.

在生产者和消费者中,我不知道会发生什么,也不知道这个错误是否来自 SSL

但我没有更改任何关于 Kafka 的配置

这是我的 kafak.yml 文件

                                                                                   kafka.yml                                                                                               
version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:5.5.0
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    networks:
      - food_default
  kafka:
    image: confluentinc/cp-kafka:5.5.0
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_HOST_NAME: kafka
      LISTENERS: PLAINTEXT://206.189.178.228:9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://206.189.178.228:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    networks:
      - food_default

networks:
  food_default:
    external: true

这是服务配置,此配置存在于其他服务中

    version: '2'
services:
  food-order-service:
    image: altshiftcreative/food-app-order-service:v1.5
    environment:
      # - _JAVA_OPTIONS=-Xmx512m -Xms256m
      - SPRING_PROFILES_ACTIVE=prod,swagger
      - MANAGEMENT_METRICS_EXPORT_PROMETHEUS_ENABLED=false
      - EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
      - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
      - SPRING_DATASOURCE_URL=jdbc:mysql://food-mysql:3306/food_db?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&useLegacyDatetimeCode=false&serverTimezone=UTC&createD>
      - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=https://shopbia.shop/auth/realms/jhipster
      - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_ID=internal
      - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_SECRET=internal
      # - JHIPSTER_SLEEP=30 # gives time for other services to boot before the application
      - KAFKA_BOOTSTRAPSERVERS=kafka:9092
    ports:
      - 8082:8082
    networks:
      - food_default
networks:
  food_default:
    external: true

【问题讨论】:

    标签: spring-boot docker ssl apache-kafka docker-compose


    【解决方案1】:

    Kafka 不是 HTTP 协议,因此您的问题与此无关

    你已经设置了KAFKA_BOOTSTRAPSERVERS=kafka:9092

    我没有更改任何关于 Kafka 的配置

    我想你做到了。该 IP 地址不是任何默认值。要在同一 Docker 网络中恢复到预期行为,您需要设置

    LISTENERS: PLAINTEXT://0.0.0.0:9092
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
    

    不清楚您从哪里获取 IP 地址,但如果您想将 Docker 容器暴露给该子网中的外部网络,那么您将需要其他设置

    【讨论】:

      猜你喜欢
      • 2015-02-14
      • 2013-09-13
      • 2014-10-27
      • 2011-10-01
      • 2014-05-22
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多