下面以 搭建 Zookeeper 集群详细教程 中搭建的 zookeeper 集群为例
/tmp
目录下的 kafka_2.11-2.4.1.tgz
解压tar -zxvf kafka_2.11-2.4.1.tgz
/opt/module
目录下,并重命名为 kafka
mv kafka_2.11-2.4.1 /opt/module/kafka
sudo vi /etc/profile
追加以下内容
# KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
使环境变量生效
source /etc/profile
还需分别在其他节点手动配置环境变量
在 Kafka 安装目录下,编辑 config/server.properties
文件
vi config/server.properties
修改以下内容
broker.id=0
log.dirs=/opt/module/kafka/logs
listeners=PLAINTEXT://hadoop1:9092
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
注意:
broker.id
须为全局唯一的 int 值,在本例中,hadoop1 为 0,hadoop2 为 1,hadoop3 为 2;listeners
也要与所在节点对应
编辑 config/producer.properties
vi config/producer.properties
修改以下内容
bootstrap.servers=hadoop1:9092,hadoop2:9092,hadoop3:9092
编辑 config/consumer.properties
vi config/consumer.properties
修改以下内容
bootstrap.servers=hadoop1:9092,hadoop2:9092,hadoop3:9092
xsync /opt/moudle/kafka
脚本内容可参考 xsync.sh
在其他节点修改 config/server.properties
中的 broker.id
和 listeners
zookeeper start
在每个节点分别启动 Kafka
bin/kafka-server-start.sh -daemon config/server.properties
在每个节点分别关闭 Kafka
bin/kafka-server-stop.sh
在 /home/shenke/bin
目录下,新建并编辑脚本
vi ~/bin/kafka
内容参考 kafka.sh
使用
# 开启
kafka start
# 停止
kafka stop
创建一个副本数为 1、分区数为 3、名为 test
的主题
bin/kafka-topics.sh --zookeeper hadoop1:2181 --create --replication-factor 1 --partitions 3 --topic test
bin/kafka-topics.sh --zookeeper hadoop1:2181 --list
bin/kafka-topics.sh --zookeeper hadoop1:2181 --describe --topic test
bin/kafka-topics.sh --zookeeper hadoop1:2181 --delete --topic test
在 hadoop1 中生产消息
bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
在 hadoop2 中消费消息
bin/kafka-console-consumer.sh --bootstrap-server hadoop2:9092 --topic test