1、下载并解压kafka到需要安装的Linux机器,我这里两台虚拟机,都需要进行下面的配置
2、config目录下server.properties中加入下面配置:(原来有的属性在原来基础上修改)
broker.id=1
delete.topic.enable=true
listeners=PLAINTEXT://192.168.1.2:9092 #ip需根据实际情况改变
port=9092
hostname=192.168.1.2 #ip需根据实际情况改变
log.dirs=/usr/local/kafka/log/kafka #日志目录可以自定
zookeeper.connect=192.168.1.2:2181,192.168.1.3:2181 #ip需根据实际情况改变
3、config目录下zookeeper.properties中加入配置:(原来有的属性在原来基础上修改)
clientPort=2181
dataDir=/usr/local/kafka/zookeeper
dataLogDir=/usr/local/kafka/log/zookeeper
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
server.1=192.168.1.2:2888:3888 #ip需根据实际情况改变
server.2=192.168.1.3:2888:3888 #ip需根据实际情况改变
4、bin目录下kafka-server-start.sh中修改内存配置:(内存大可以不改)
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 改为 export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
5、防火墙开放相关端口
6、启动zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties &
7、启动kafka:
bin/kafka-server-start.sh config/server.properties
两台服务器都做完以上操作后,集群就搭建成功了,如果只启动了一台kafka,因为配置文件中配置了两个节点,控制台会一直报错,直到检测到另外一个节点也成功启动。
======================kafka常用命令===================
bin/zookeeper-server-start.sh config/zookeeper.properties & #启动zookeeper
bin/kafka-server-start.sh config/server.properties & #启动kafka
bin/zookeeper-server-stop.sh #停止zookeeper
bin/kafka-server-stop.sh #停止kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test #创建topic
bin/kafka-topics.sh --list --zookeeper localhost:2181 #展示topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test #描述名为test的topic
bin/kafka-console-producer.sh --broker-list 192.168.1.2:9092 --topic test #名为test的topic的生产者,因为配置文件中配的ip,所以这里不能使用localhost,下同
bin/kafka-console-consumer.sh --zookeeper 192.168.1.3:2181 --topic test --from-beginning #名为test的topic的消费者
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
#删除名为test的topic,若删除之后有marked as deletion标记,则删除server.properties中配置的log.dirs目录中的test相关的所有日志,配置了delete.topic.enable=true是不会有此标记的