控制器1与代理的连接未成功融合到docker

时间:2019-05-18 11:43:04

标签: apache-kafka docker-compose confluent

我正在按照以下docker-compose.xml文件设置由Confluent团队在本地计算机中配置的Kafka群集,Zookeeper,控制中心docker映像的设置:

redis:
  image: redis
  container_name: redis
  ports:
    - 6379:6379
mysql:
  image: mysql:5.6
  container_name: mysql
  command: --default-authentication-plugin=mysql_native_password
  restart: always
  environment:
    MYSQL_ROOT_PASSWORD: rootpass
    MYSQL_DATABASE:
    MYSQL_USER:
    MYSQL_PASSWORD:
  ports:
    - 3306:3306
ksql-server:
  image: confluentinc/cp-ksql-server:5.2.1
  hostname: ksql-server
  container_name: ksql-server
  links:
    - kafka
  ports:
    - "8088:8088"
  environment:
    KSQL_CONFIG_DIR: "/etc/ksql"
    KSQL_LOG4J_OPTS: "-Dlog4j.configuration=file:/etc/ksql/log4j-rolling.properties"
    KSQL_BOOTSTRAP_SERVERS: "kafka:29092"
    KSQL_HOST_NAME: ksql-server
    KSQL_APPLICATION_ID: "cp-all-in-one"
    KSQL_LISTENERS: "http://0.0.0.0:8088"
    KSQL_CACHE_MAX_BYTES_BUFFERING: 0
    # KSQL_KSQL_SCHEMA_REGISTRY_URL: "http://schema-registry:8081"
    KSQL_PRODUCER_INTERCEPTOR_CLASSES: "io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor"
    KSQL_CONSUMER_INTERCEPTOR_CLASSES: "io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor"
zookeeper:
  image: confluentinc/cp-zookeeper:latest
  container_name: zookeeper
  environment:
    ZOOKEEPER_CLIENT_PORT: 2181
    ZOOKEEPER_TICK_TIME: 2000
kafka:
  image: confluentinc/cp-kafka:latest
  container_name: kafka
  links:
    - zookeeper
  ports:
    - 9092:9092
    - 29092:29092
  environment:
    KAFKA_BROKER_ID: 1
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
    KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
control-center:
  image: confluentinc/cp-enterprise-control-center:5.2.1
  hostname: control-center
  container_name: control-center
  links:
    - zookeeper
    - kafka
    - ksql-server
  ports:
    - 9021:9021
  environment:
    CONTROL_CENTER_BOOTSTRAP_SERVERS: kafka:29092
    CONTROL_CENTER_ZOOKEEPER_CONNECT: zookeeper:2181
    CONTROL_CENTER_KSQL_URL: http://ksql-server:8088
    CONTROL_CENTER_KSQL_ADVERTISED_URL: http://localhost:8088
    CONTROL_CENTER_REPLICATION_FACTOR: 1
    CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS: 1
    CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS: 1
    CONFLUENT_METRICS_TOPIC_REPLICATION: 1
    PORT: 9021

该设置在我的旧笔记本电脑上运行良好。但是在更改为使用新的后,我无法使其工作。 我尝试运行docker logs control-center并查看下面的日志

[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.2.0-cp2
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: c4bca159dd111016
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (kafka/172.17.0.5:29092) could not be established. Broker may not be available.
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (kafka/172.17.0.5:29092) could not be established. Broker may not be available.
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (kafka/172.17.0.5:29092) could not be established. Broker may not be available.
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (kafka/172.17.0.5:29092) could not be established. Broker may not be available.

我检查了kafka docker的日志并看到错误

[2019-05-18 11:39:28,721] WARN [RequestSendThread controllerId=1] Controller 1's connection to broker kafka:29092 (id: 1 rack: null) was unsuccessful (kafka.controller.RequestSendThread)
java.lang.IllegalStateException: No entry found for connection 1
        at org.apache.kafka.clients.ClusterConnectionStates.nodeState(ClusterConnectionStates.java:339)
        at org.apache.kafka.clients.ClusterConnectionStates.disconnected(ClusterConnectionStates.java:143)
        at org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:921)
        at org.apache.kafka.clients.NetworkClient.ready(NetworkClient.java:287)
        at org.apache.kafka.clients.NetworkClientUtils.awaitReady(NetworkClientUtils.java:65)
        at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:279)
        at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:233)
        at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)

下面是正在运行的docker容器

CONTAINER ID        IMAGE                                          COMMAND                  CREATED             STATUS              PORTS                                              NAMES
94e7a2e4e61a        backend_collection-engine-consumer-generator   "java -cp collection…"   4 minutes ago       Up 4 minutes                                                           collection-engine-consumer-generator
791528e51a06        backend_collection-engine-executor             "java -DsplitEvents=…"   4 minutes ago       Up 4 minutes                                                           collection-engine-executor
d2eadae2ce7d        confluentinc/cp-kafka:latest                   "/etc/confluent/dock…"   8 minutes ago       Up 8 minutes        0.0.0.0:9092->9092/tcp, 0.0.0.0:29092->29092/tcp   kafka
b1230959ceeb        confluentinc/cp-zookeeper:latest               "/etc/confluent/dock…"   8 minutes ago       Up 8 minutes        2181/tcp, 2888/tcp, 3888/tcp                       zookeeper
0bcb7bc0e2d4        redis                                          "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes        0.0.0.0:6379->6379/tcp                             redis
040fec54d7b8        mysql:5.6                                      "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes        0.0.0.0:3306->3306/tcp                             mysql

我什至无法正常通过http://localhost:9021进入控制中心。请给我一些建议以解决此问题。谢谢你。

0 个答案:

没有答案