一,服务器准备
1,准备在下面三个服务搭建kafka的三节点集群
192.168.1.195
192.168.1.196
192.168.1.197
2,链接: https://pan.baidu.com/s/1r8kr124x8yT4LDqUOrfYpA 提取码: nfc1 。然后通过xftp把资源文件夹的kafka_2.11-2.0.1.zip 上传到服务器的/u02目录下。每一个服务器都执行。
二,安装过程
1,kafka需要java8环境,这个需要提前准备java8环境。
2,进入到/u02目录下,把安装包解压,每一个服务器都执行。
unzip kafka_2.11-2.0.1.zip
3,进入/u02/kafka_2.11-2.0.1/config目录下
修改log4j.properties,把日志级别改高,避免产生大量无用日志。
log4j.logger.kafka.controller=INFO, controllerAppender //把TRACE改为INFO
log4j.logger.state.change.logger=INFO, stateChangeAppender //把TRACE改为INFO
修改server.properties,以下几个都要改,zookeeper集群已经搭建完毕。
192.168.1.195服务器:
broker.id=0
listeners=PLAINTEXT://192.168.1.195:9092
zookeeper.connect=192.168.1.195:2181,192.168.1.196:2181,192.168.1.197:2181
delete.topic.enable=true #可以删除topic
log.retention.hours=48 #日志存在时间
auto.create.topics.enable=false #是否可以自动创建topic
num.partitions=4 #partion数量
192.168.1.196服务器:
broker.id=1
listeners=PLAINTEXT://192.168.1.196:9092
zookeeper.connect=192.168.1.195:2181,192.168.1.196:2181,192.168.1.197:2181
delete.topic.enable=true #可以删除topic
log.retention.hours=48 #日志存在时间
auto.create.topics.enable=false #是否可以自动创建topic
num.partitions=4 #partion数量
192.168.1.197服务器:
broker.id=2
listeners=PLAINTEXT://192.168.1.197:9092
zookeeper.connect=192.168.1.195:2181,192.168.1.196:2181,192.168.1.197:2181
delete.topic.enable=true #可以删除topic
log.retention.hours=48 #日志存在时间
auto.create.topics.enable=false #是否可以自动创建topic
num.partitions=4 #partion数量
三,启动kafka
1,进入/u02/kafka_2.11-2.0.1/目录下
./bin/kafka-server-start.sh -daemon ./config/server.properties
四,kafka其他常用操作
#启动kafka
./bin/kafka-server-start.sh -daemon ./config/server.properties
#查看所有的消费者组
./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.1.197:9092 --list
# 查看某一消费者组的消息消费情况
./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.1.197:9092 --describe --group sccp
#查看所有topic
./bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181
#查看某一topic的详细信息
./bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic chaxun_queue
# 创建topic
./bin/kafka-topics.sh --create --zookeeper 192.168.1.197:2181 --topic amqp_log --replication-factor 3 --partitions 1
./bin/kafka-topics.sh --create --zookeeper 192.168.1.197:2181 --topic amqp_log --replication-factor 3 --partitions 50 --config cleanup.policy=compact
./bin/kafka-topics.sh --zookeeper 192.168.1.197:2181 --create --topic amqp_log --partitions 1 --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
./bin/kafka-topics.sh --zookeeper 192.168.1.197:2181 -alter --partitions 8 --topic ydmb_expansion_template_yundacs #添加分区
# 修改topic
./bin/kafka-configs.sh --alter --zookeeper 192.168.1.197:2181 --entity-name amqp_log --entity-type topics --add-config cleanup.policy=compact
./bin/kafka-configs.sh --alter --zookeeper 192.168.1.197:2181 --entity-name amqp_log --entity-type topics --delete-config cleanup.policy
#删除topic
./bin/kafka-topics.sh --delete --zookeeper 127.0.0.1:2181 --topic chaxun_queue
五,kafka常用配置
delete.topic.enable=true #可以删除topic
log.retention.hours=48 #日志存在时间
auto.create.topics.enable=false #是否可以自动创建topic
num.partitions=4 #partion数量
总结
不同版本的kafka配置会有些许不同。当有问题,请参考官方文档。这只针对我所用的版本。