1 安装部署
1.1 集群规划
1.2zookeeper的安装
1.3集群部署
1)解压安装包
[root@master softs]# tar -zxvf kafka_2.11-2.0.0\ .tgz -C /opt/apps/
2)修改解压后的文件名称
[root@master apps]# mv kafka_2.11-2.0.0/ kafka
3)在/opt/apps/kafka 目录下创建 logs 文件夹
[root@master kafka]# mkdir logs
4)修改配置文件
[root@master kafka]# cd config/
[root@master config]# vi server.properties
自行修改
broker.id=0
delete.topic.enable=true
log.dirs=/opt/apps/kafka/logs
zookeeper.connect=master:2181,slave1:2181,slave2:2181
broker 的唯一编号,不能重复等下分发之后一定要修改
kafka 运行日志存放的路径
配置连接 Zookeeper 集群地址
5)配置环境变量
[root@master apps]# vi /root/.bash_profile
#KAFKA_HOME
export KAFKA_HOME=/opt/apps/kafka
export PATH=$PATH:$KAFKA_HOME/bin
[root@master apps]# source /root/.bash_profile
6)分发安装包分别在 slave1和 slave2 上修改配置文件/opt/apps/kafka/config/server.properties
中的 broker.id=1、broker.id=2
注意:分发之后记得配置其他机器的环境变量,broker.id 不得重复
7)启动集群
依次在 master、slave1、slave2 节点上启动 kafka
[root@master kafka]# bin/kafka-server-start.sh -daemon
config/server.properties
[root@slave1 kafka]# bin/kafka-server-start.sh -daemon
config/server.properties
[root@slave2 kafka]# bin/kafka-server-start.sh -daemon
config/server.properties
8)如果不需要停止,这一步可以跳过
[root@master kafka]# bin/kafka-server-stop.sh stop
[root@slave1 kafka]# bin/kafka-server-stop.sh stop
[root@slave2 kafka]# bin/kafka-server-stop.sh stop
9)Kafka 命令行操作
1)查看当前服务器中的所有 topic
[root@master kafka]# bin/kafka-topics.sh --zookeeper master:2181 --list
2)创建 topic
[root@master kafka]# bin/kafka-topics.sh --zookeeper master:2181 --create --replication-factor 1 --partitions 1 --topic data
3)删除 topic
[root@master kafka]# bin/kafka-topics.sh --zookeeper master:2181 --delete --topic datas
需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除。
4)发送消息
[root@master kafka]# bin/kafka-console-producer.sh --broker-list master:9092 --topic data
5)消费消息
[root@master kafka]# bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic data
--from-beginning:会把主题中以往所有的数据都读取出来。
6)查看某个 Topic 的详情
[root@master kafka]# bin/kafka-topics.sh --zookeeper master:2181 --describe --topic data
7)修改分区数
[root@master kafka]# bin/kafka-topics.sh --zookeeper master:2181 --alter --topic data --partitions 3