Kafka安装
安装前的准备工作
关闭防火墙,时间同步,zk安装完等
Kafka集群部署
安装包下载
http://kafka.apache.org/downloads.html
在linux中使用wget命令下载安装包
wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz.tgz
解压安装包:tar -zxvf /data/kafka_2.11-1.1.0.tgz -C /apps/
修改配置文件
producer.properties:
bootstrap.servers=localhost:9092
server.properties:
broker.id=0
log.dirs=/apps/kafka_2.11-1.1.0/data
zookeeper.connect=mini1:2181,mini2:2181,mini3:2181
consumer.properties:
bootstrap.servers=mini1:9092,mini2:9092,mini3:9092
分发安装包
scp -r /usr/local/kafka mini1:$PWD
修改配置文件server.properties
依次修改各服务器上配置文件的broker.id, 分别是0,1,2不得重复。
启动测试
依次在各节点上启动kafka
nohup bin/kafka-server-start.sh config/server.properties &
shell测试
查看当前服务器中的所有topic
bin/kafka-topics.sh --list --zookeeper mini1:2181
创建topic
bin/kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 1 --partitions 1 --topic test
删除topic
bin/kafka-topics.sh --delete --zookeeper mini1:2181 --topic test
需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
通过shell命令发送消息
bin/kafka-console-producer.sh --broker-list mini1:9092 --topic test1
通过shell消费消息
bin/kafka-console-consumer.sh --zookeeper mini1:2181 --from-beginning --topic test1
查看消费位置
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper mini1:2181 --group testGroup
查看某个Topic的详情
bin/kafka-topics.sh --topic test2 --describe --zookeeper mini1:2181
对分区数进行修改
bin/kafka-topics.sh --zookeeper mini1 --alter --partitions 15 --topic utopic
解决kafka关闭命令脚本不起作用的问题:
修改 bin 下的 kafka-server-stop.sh 文件
PIDS=$(ps ax | grep -i ‘kafka.Kafka’ | grep java | grep -v grep | awk ‘{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲’) 修改为: PIDS=(jps -lm | grep -i ‘kafka.Kafka’ | awk ‘{print $1}’)