上传后解压
1 2 3 4
| tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/bunny/ cd /opt/bunny/ mv kafka_2.12-3.0.0 kafka
|
编辑配置文件
1
| vi /opt/bunny/kafka/config/server.properties
|
配置内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #broker的全局唯一编号,不能重复,只能是数字。 broker.id=102 #处理网络请求的线程数量 num.network.threads=3 #用来处理磁盘IO的线程数量 num.io.threads=8 #发送套接字的缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字的缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小 socket.request.max.bytes=104857600 #kafka运行日志(数据)存放的路径,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔 log.dirs=/opt/bunny/kafka/datas #topic在当前broker上的分区个数 num.partitions=1 #用来恢复和清理data下数据的线程数量 num.recovery.threads.per.data.dir=1 # 每个topic创建时的副本数,默认时1个副本 offsets.topic.replication.factor=1 #segment文件保留的最长时间,超时将被删除 log.retention.hours=168 #每个segment文件的大小,默认最大1G log.segment.bytes=1073741824 # 检查过期数据的时间,默认5分钟检查一次是否数据过期 log.retention.check.interval.ms=300000 #配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理) zookeeper.connect=h102:2181,h103:2181,h104:2181/kafka
|
环境变量
分发和修改配置
分别在h103和h104上修改配置文件server.properties中broker.id=103、broker.id=104
1
| vi /opt/bunny/kafka/config/server.properties
|
群起脚本
1
| vi /home/bunny/bin/kafka.sh
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #! /bin/bash if (($#==0)); then echo -e "请输入参数:\n start 启动kafka集群;\n stop 停止kafka集群;\n" && exit fi
case $1 in "start") for host in h103 h102 h104 do echo "---------- $1 $host 的kafka ----------" ssh $host "/opt/bunny/kafka/bin/kafka-server-start.sh -daemon /opt/bunny/kafka/config/server.properties" done ;; "stop") for host in h103 h102 h104 do echo "---------- $1 $host 的kafka ----------" ssh $host "/opt/bunny/kafka/bin/kafka-server-stop.sh" done ;; *) echo -e "---------- 请输入正确的参数 ----------\n" echo -e "start 启动kafka集群;\n stop 停止kafka集群;\n" && exit ;; esac
|
1 2
| chmod +x /home/bunny/bin/kafka.sh xsync /home/bunny/bin/
|
先启动zookeeper在启动kafka
1 2
| zk.sh start kafka.sh start
|
验证
1 2 3
| cd /opt/bunny/kafka/ bin/kafka-topics.sh --bootstrap-server h102:9092 --create --replication-factor 3 --partitions 3 --topic first
|
1
| bin/kafka-console-producer.sh --broker-list h102:9092 --topic first
|
1
| bin/kafka-console-consumer.sh --bootstrap-server h102:9092 --topic first
|