已安装jdk、zookeeper
master 192168.100.101
slave1 912.168.100.102
slave2 192.168.100.103
http://kafka.apache.org/downloads.html
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.4.1/kafka_2.11-2.4.1.tgz1)解压安装包
tar -zxvf kafka_2.11-0.11.0.0.tgz -C /local/software2)修改解压后的文件名称
mv kafka_2.11-0.11.0.0/ kafka3)在/opt/module/kafka 目录下创建 logs 文件夹
mkdir logs4)修改配置文件
cd /local/software/kafka/config/ vi server.properties输入以下内容:
#broker 的全局唯一编号,不能重复 broker.id=0 #删除 topic 功能使能 delete.topic.enable=true #处理网络请求的线程数量 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 运行日志存放的路径 log.dirs=/local/software/kafka/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 #segment 文件保留的最长时间,超时将被删除 log.retention.hours=168 #配置连接 Zookeeper 集群地址 zookeeper.connect=master:2181,slave:2181,slave2:21815)配置环境变量
vi /etc/profile #KAFKA_HOME export KAFKA_HOME=/opt/module/kafka export PATH=$PATH:$KAFKA_HOME/bin #重启 source /etc/profile6)分发kafka
scp -r /local/software/kafka slave1:/local/software scp -r /local/software/kafka slave2:/local/software注意:分发之后记得配置其他机器的环境变量
7)分别在 slave1 和 slave2上修改配置文件kafka/config/server.properties 中的 broker.id=1、broker.id=2 注:broker.id 不得重复
8)启动集群
注:前提启动zookeeper
依次在 master、slave1、slave2节点上启动 kafka
前端启动
bin/kafka-server-start.sh config/server.properties后端
bin/kafka-server-start.sh -daemon config/server.properties9)关闭集群
bin/kafka-server-stop.sh stop10)kafka 群起脚本 ,在master操作即可
cd /local/software/kafka/bin vi kk.sh 添加内容: #!/bin/bash case $1 in "start"){ for i in master slave1 slave2 do echo "========== $i ==========" ssh $i '/local/software/kafka/bin/kafka-server-start.sh -daemon /local/software/kafka/config/server.properties' done };; "stop"){ for i in master slave1 slave2 do echo "========== $i ==========" ssh $i '/local/software/kafka/bin/kafka-server-stop.sh' done };; esac授权
chmod 777 kk.sh 启动: kk start 关闭: kk stop1)查看当前服务器中的所有 topic
bin/kafka-topics.sh --zookeeper master:2181 --list2)创建 topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 -topic mytopic选项说明: –topic 定义 topic 名 –replication-factor 定义副本数 –partitions 定义分区数
3)删除 topic
bin/kafka-topics.sh --zookeeper master:2181 --delete --topic mytopic4)发送消息
bin/kafka-console-producer.sh --brokerlist master:9092 --topic mytopic5)消费消息
在另一个窗口
#输入一个看一个 bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic mytopic #--from-beginning:会把主题中以往所有的数据都读取出来 bin/kafka-console-consumer.sh --bootstrap-server master:9092 --from-beginning --topic mytopic6)查看某个 Topic 的详情
bin/kafka-topics.sh --zookeeper master:2181 --describe --topic mytopic7)修改分区数
bin/kafka-topics.sh --zookeeper master:2181 --alter --topic mytopic --partitions 6 6)查看某个 Topic 的详情bin/kafka-topics.sh --zookeeper master:2181 --describe --topic mytopic
7)修改分区数bin/kafka-topics.sh --zookeeper master:2181 --alter --topic mytopic --partitions 6