环境准备
安装Kafka需要:Jdk、Hadoop Cluster、Zookeeper Cluster,详情参考:Hadoop的分布式搭建,Hadoop的高可用HA搭建
安装
- 上传并解压:
tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/
#改名
mv kafka_2.11-0.11.0.0/ kafka
#创建log日志路径
cd kafka
mkdir logs
- 修改配置文件:
#编辑配置文件
cd config/
vi server.properties
#修改如下内容
#broker的全局唯一编号,不能重复
broker.id=0
#删除topic功能使能
delete.topic.enable=true
#kafka运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#配置连接Zookeeper集群地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181
- 分发文件,并在其他节点修改config/server.properties文件的broker.id
- 启动、停止命令
#启动
bin/kafka-server-start.sh config/server.properties &
#停止
bin/kafka-server-stop.sh stop
- 如果停止命令不管用,需要修改kafka-server-stop.sh脚本,将PIDS一行中间的’kakfa.\kafka’改为’kafka’即可。
#将下面这行改为下下面这行
#PIDS=$(ps ax | grep -i 'kafka.\kafka' | grep java | grep -v grep | awk '{print $1}')
PIDS=$(ps ax | grep -i 'kafka' | grep java | grep -v grep | awk '{print $1}')
验证
- 查看当前服务器中的所有topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 --list
- 创建topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 \
--create --replication-factor 3 --partitions 1 --topic first
- 删除topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first
- 发送消息
bin/kafka-console-producer.sh \
--broker-list hadoop102:9092 --topic first
>hello world
>atguigu atguigu
- 消费消息
bin/kafka-console-consumer.sh \
--zookeeper hadoop102:2181 --from-beginning --topic first
- 查看某个Topic的详情
bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first