Kafka集群环境搭建

1 准备工作

安装本地jdk环境,建议1.8+

2.Zookeeper 集群搭建

  • 1.下载安装包,进行安装
  • 2.两个重要文件
    • zoo.cfg
    • myid
      • zoo.cfg 配置的dataDir 目录下创建 标明当前zk在集群环境中的ID

zoo.cfg的配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=5
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=2
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/zookeeper
# the port at which the clients will connect
clientPort=2181
server.1=10.102.21.92:2888:3888
server.2=10.102.21.93:2888:3888
server.3=10.102.21.94:2888:3888

  • tickTime:zookeeper 最小的的时间单位,丈量心跳时间和超时时间等。设置成默认值即可

  • dataDir:非常重要参数!Zookeeper会在内存中保存系统快照,并定期写入该路径指定的文件夹中,生产环境需要注意该文件夹的磁盘占用情况。

  • clientPort:Zookeeper 监听端口 默认2181

  • initLimit: follower 要在(initLimit * tickTime)的时间内,连接上leader,否则将被视为超时

  • syncLimit:follower 和leader 节点进行同步的最大时间。与initLimit计算方法一致。

  • server.X=host:port:port

    • X值为1~255之间的整数 就是myid 配置文件中配置的数字。
    • port:port: 第一个port用与 follower 连接leader 第二个用于leader选举
  • myid 对于对应的机器配置对应的myid要跟server.X相对应。

对应每一个机器将对应的ID写入myid文件中注意路径是${dataDir}下。

echo "ID" > ${dataDir}/myid  

启动脚本:

bin/zkServer.sh start conf/zoo.cfg

查看运行状况:

bin/zkServer.sh status conf/zoo.cfg

如图所示,Mode 代表当前节点是leader 还是follower

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n35WBr6m-1596417618314)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1590629880112.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHloirba-1596417618316)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577843245028.png)]

jps | grep -v Jps 查看当前java相关进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-As5Cu8C8-1596417618318)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577843630032.png)]

Zookeeper集群搭建完毕。

3.kakfa集群环境搭建

下载安装包,进行安装

修改配置文件

#brokerid 集群Broker的唯一标识
broker.id=2

#是否允许删除topic
delete.topic.enable=true

#kakfa存储的磁盘路径 csv格式,可以配置多个
log.dirs=/usr/data_logs/kafka

#zk集群地址
zookeeper.connect=10.102.21.92:2181,10.102.21.93:2181,10.102.21.94:2181

#连接zk进群超时时间
zookeeper.connection.timeout.ms=6000
#是否允许同步较少的服务器参与选举
unclean.leader.election.enable=false
#监听器,内网使用,监听的ip和端口
listeners=PLAINTEXT://10.102.21.94:9092

在不同的机器上指定不同的broker.id 启动即可

启动脚本:

bin/kafka-server-start.sh daemo config/your.properties

验证kafka部署

  • 测试Topic的删除与创建

    #创建主题
    bin/kafka-topics.sh --zookeeper 10.102.21.92:2181,10.102.21.93:2181,10.102.21.94:2181 --create --topic zybank --partitions 3 --replication-factor 3
    #查看当前系统Topic list
    bin/kafka-topics.sh --zookeeper 10.102.21.92:2181,10.102.21.93:2181,10.102.21.94:2181 -list
    
    #查看特定Topic 分区详情
    bin/kafka-topics.sh --zookeeper 10.102.21.92:2181,10.102.21.93:2181,10.102.21.94:2181 -describe --topic zybank
    
    #删除topic
    bin/kafka-topics.sh --zookeeper 10.102.21.92:2181,10.102.21.93:2181,10.102.21.94:2181 --delete --topic zybank
    
    
  • 测试消息的生产与发送

    #发送消息
    bin/kafka-console-producer.sh --broker-list 10.102.21.92:9092,10.102.21.93:9092,10.102.21.94:9092 --topic zybank
    #接受消息 新版本
    bin/kafka-console-consumer.sh --bootstrap-server 10.102.21.92:9092,10.102.21.93:9092,10.102.21.94:9092 --topic zybank --from-beginning
    #旧版本
    bin/kafka-console-consumer.sh -zookeeper 10.102.21.92:9092,10.102.21.93:9092,10.102.21.94:9092 --topic zybank --from-beginning
    
    
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gQGAfzhA-1596417618320)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577846482023.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CIjv7Ont-1596417618321)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577846495998.png)]

  • 测试生产者吞吐量

    kafka提供了专门的生产者吞吐量测试的脚本

    bin/kafka-producer-perf-test.sh --topic zybank --num-records 500000 --record-size 200 --throughput -1 --producer-props bootstrap.servers=10.102.21.92:9092,10.102.21.93:9092,10.102.21.94:9092 acks=-1
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ue5aWIyq-1596417618322)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577847165888.png)]

  • 测试消费者吞吐量

bin/kafka-consumer-perf-test.sh --broker-list 10.102.21.92:9092,10.102.21.93:9092,10.102.21.94:9092 --fetch-size 2000 --messages 500000 --topic zybank

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9KxxcN0d-1596417618325)(/Users/zy1994/Desktop/zybank/kafka/kafka/集群环境搭建/clipboard_1577847992264.png)]

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /usr/software/sbt/bin/sbt-launch.jar "$@"  # 注意对应路径
# wq保存退出
————————————————
版权声明:本文为CSDN博主「ChaseDreamBoy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37502106/article/details/80499860
curl -H "Content-Type:application/json" -H "Accept:application/json" http://localhost:8083/connectors -X POST --data '{"name":"file-connector","config":{"connector.class":"org.apache.kafka.connect.file.FileStreamSourceConnector","file":"/Users/zy1994/log/access.log","tasks.max":"1","topic":"access_log"}}'
{"name":"file-connector","config":{"connector.class":"org.apache.kafka.connect.file.FileStreamSourceConnector","file":"/Users/zy1994/log/access.log","tasks.max":"1","topic":"access_log","name":"file-connector"},"tasks":[],"type":"source"}

你可能感兴趣的:(kafka)