docker安装kafka(KRaft 模式)
KRaft模式不再对Zookeeper依赖。
docker run -d --name kafka-kraft \-p 9092:9092 -p 9093:9093 \-e KAFKA_PROCESS_ROLES=broker,controller \-e KAFKA_NODE_ID=1 \-e KAFKA_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1:9093 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://47.103.16.200:9092 \-e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \-e KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT \-e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \-e KAFKA_LOG_DIRS=/var/lib/kafka/data \-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \-e KAFKA_CLUSTER_ID=$(uuidgen) \apache/kafka:latestKAFKA_MODE=KRaft 表示你要启动的是 KRaft 模式。
KAFKA_KRAFT_MODE=true 指定 Kafka 以 KRaft 模式启动。
命令行测试
docker exec -it kafka /bin/bash
cd /opt/kafka/bin创建主题
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test-topic --partitions 1 --replication-factor 1生产消息
./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic消费消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning