单个实例对wurstmeister下载的映像运行良好。在cmd提示符上显示的以下命令结果的执行:
docker-compose scale kafka=2
WARNING: The scale command is deprecated. Use the up command with the --scale flag instead.
Starting mskafka_kafka_1 ... done
Creating mskafka_kafka_2 ... done虽然,容器的状态为退出1。
docker-compose ps
The system cannot find the path specified.
Name Command State Ports
------------------------------------------------------------------------------------------------------------------
mskafka_apache_1 /bin/sh -c apache2ctl -D F ... Up 0.0.0.0:8080->80/tcp
mskafka_kafka_1 start-kafka.sh Up 0.0.0.0:9092->9093/tcp
mskafka_kafka_2 start-kafka.sh Exit 1
mskafka_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
mskafka_zookeeper_1 /bin/sh -c /usr/sbin/sshd ... Up 0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcpConfiguration file : docker-compose.yml
kafka:
image: wurstmeister/kafka:2.11-2.0.0
links:
- zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
# KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "order:5:1"
ports:
- "9092"容器日志显示在堆栈跟踪下面:
[2018-12-27 11:12:42,035] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler)
[2018-12-27 11:12:42,056] ERROR [KafkaServer id=1002] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.IllegalArgumentException: requirement failed: Configured end points kafka:9092 in advertised listeners are already registered by broker 1001
at scala.Predef$.require(Predef.scala:224)
at kafka.server.KafkaServer$$anonfun$createBrokerInfo$2.apply(KafkaServer.scala:384)
at kafka.server.KafkaServer$$anonfun$createBrokerInfo$2.apply(KafkaServer.scala:382)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at kafka.server.KafkaServer.createBrokerInfo(KafkaServer.scala:382)
at kafka.server.KafkaServer.startup(KafkaServer.scala:256)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
at kafka.Kafka$.main(Kafka.scala:75)
at kafka.Kafka.main(Kafka.scala)
[2018-12-27 11:12:42,065] INFO [KafkaServer id=1002] shutting down (kafka.server.KafkaServer)环境详细信息: 1. OS - Windows 10 2. Docker kafka图像: wurstmeister/kafka:2.11-2.0.0
是否缺少任何配置更改?
发布于 2018-12-27 16:22:42
你不能把卡夫卡经纪人的规模扩大,就像它只是一些网络应用或API。
至少对于每个代理来说,这些属性必须是唯一的。
KAFKA_BROKER_ID (这已经为您处理了)KAFKA_ADVERTISED_HOST_NAME和KAFKA_ADVERTISED_PORT以了解代理在网络上的存在位置(不推荐使用它们,而应该使用公告的侦听器配置)KAFKA_ADVERTISED_LISTENERS是客户如何知道如何到达特定代理的;如果允许多个代理相同,那么其中只有一个将收到任何生产者/消费者请求。可以使用HOSTNAME_COMMAND来设置它,但是您必须为端口做一些特殊的事情注意,内部主题的默认复制因子仅为1,从1扩展到3个代理不会改变这一点。
如果您查看wurstmeister (和confluentinc/cp-docker-映像) repos,那么它们有多代理组合文件,或者您可以为Kafka使用Strimzi / Bitnami Kubernetes操作符。
发布于 2019-01-04 11:37:16
在docker-come.yaml文件中的以下配置已经解决了错误,并且在单个节点上的kafka能够使用命令进行缩放
docker-compose scale kafka=3码头工人-复合公司
kafka:
image: wurstmeister/kafka:2.11-2.0.0
links:
- zookeeper
environment:
HOSTNAME_COMMAND: "docker info | grep ^Name: | cut -d' ' -f 2" # Normal instances
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://_{HOSTNAME_COMMAND}:9094
KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
KAFKA_CREATE_TOPICS: "order:5:2"码头集装箱:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
428142871bb0 wurstmeister/kafka:2.11-2.0.0 "start-kafka.sh" 18 minutes ago Up 18 minutes mskafka_kafka_3
def308e0b782 wurstmeister/kafka:2.11-2.0.0 "start-kafka.sh" 18 minutes ago Up 18 minutes mskafka_kafka_2
b72feb27804d wurstmeister/kafka:2.11-2.0.0 "start-kafka.sh" 25 minutes ago Up 25 minutes mskafka_kafka_1
49e8cf39fee6 wurstmeister/zookeeper:3.4.6 "/bin/sh -c '/usr/sb…" 25 minutes ago Up 25 minutes 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp mskafka_zookeeper_1https://stackoverflow.com/questions/53944271
复制相似问题