下面以 CentOS 7/8 为例,介绍 Kafka 单机安装(含 Zookeeper) 的常见步骤。Kafka 依赖 Java,先确认环境。
Kafka 需要 JDK 8 或以上(推荐 JDK 8/11)
java -version
如果没有 Java:
yum install -y java-1.8.0-openjdk
验证:
java -version
mkdir -p /opt/kafka
cd /opt/kafka
以 Kafka 3.6.1 为例(可到官网替换版本):
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -zxvf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1/* .
Kafka 自带 Zookeeper
编辑配置:
vi config/zookeeper.properties
一般只需确认:
dataDir=/tmp/zookeeper
clientPort=2181
vi config/server.properties
重点配置:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
jps
应有:
bin/kafka-topics.sh --create \
--bootstrap-server localhost:9092 \
--replication-factor 1 \
--partitions 1 \
--topic test
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic test
bin/kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test --from-beginning
如果远程访问:
firewall-cmd --add-port=9092/tcp --permanent
firewall-cmd --add-port=2181/tcp --permanent
firewall-cmd --reload
listeners 和防火墙kafka.log,通常是 Zookeeper 未启动如果你需要:
告诉我你的版本和使用场景即可。