Kafka集群部署

文章目录

没有提示,所有机器都执行

在kafka集群中引入zookeeper,主要是为了管理kafka集群的broker。负责管理集群的元数据信息,确保 Kafka 集群的高可用性、高性能和高可靠性。

一、实例配置

IP 用途
192.168.0.217 kafka、zk
192.168.0.218 kafka、zk
192.168.0.219 kafka、zk

二 、zookeeper集群安装

  1. 解压zk安装包

    tar xf apache-zookeeper-3.6.2-bin.tar.gz mv apache-zookeeper-3.6.2-bin /data/zookeeper

  2. 修改zookeeper配置文件

    $ vim /data/zookeeper/conf/zoo.cfg
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/data/zookeeper/data
    clientPort=2181
    maxClientCnxns=512
    server.217=192.168.0.217:2888:3888
    server.218=192.168.0.218:2888:3888
    server.219=192.168.0.219:2888:3888

    mkdir /data/zookeeper/data #根据实例自行修改 echo 217 > /data/zookeeper/data/myid

  3. 托管到systemd

    $ vim /usr/lib/systemd/system/zookeeper.service
    [Unit]
    Description=Apache Zookeeper service
    Requires=network.target
    After=network.target

    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/local/java
    ExecStart=/data/zookeeper/bin/zkServer.sh start
    ExecStop=/data/zookeeper/bin/zkServer.sh stop
    Restart=on-failure
    RestartSec=10s

    [Install]
    WantedBy=multi-user.target

    $ systemctl daemon-reload

  4. 启动zk

    $ systemctl start zookeeper

三、kafka集群安装

  1. 解压kafka安装包

    tar xf kafka_2.12-2.6.0.tgz mv kafka_2.12-2.6.0 /data/kafka

  2. 修改kafka配置

    $ vim /data/kafka/config/server.properties

    每个实例不同

    broker.id=217
    listeners=PLAINTEXT://192.168.0.217:9092 #
    advertised.listeners=PLAINTEXT://192.168.0.217:9092 #

    kafka存储日志文件的目录

    log.dirs=/data/kafka/kafka-logs

    存储消费者偏移量的主题的副本因子

    offsets.topic.replication.factor=3

    设置事务日志主题的副本因子

    transaction.state.log.replication.factor=3
    log.retention.hours=48 # 数据保留48小时
    zookeeper.connect=192.168.0.217:2181,192.168.0.218:2181,192.168.0.219:2181 #

    $ mkdir /data/kafka/kafka-logs

  3. 托管到systemd

    $ vim /usr/lib/systemd/system/kafka.service
    [Unit]
    Description=Apache Kafka server
    Documentation=http://kafka.apache.org/documentation.html
    Requires=network.target remote-fs.target
    After=network.target remote-fs.target zookeeper.service

    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/local/java
    ExecStart=/data/kafka/bin/kafka-server-start.sh -daemon /data/kafka/config/server.properties
    ExecStop=/data/kafka/bin/kafka-server-stop.sh /data/kafka/config/server.properties
    Restart=on-failure
    RestartSec=10s

    [Install]
    WantedBy=multi-user.target

    $ systemctl daemon-reload

  4. 启动kafka

    $ systemctl start kafka

四、验证

  1. 登录zookeeper查看kafka信息

    /data/zookeeper/bin/zkCli.sh

    ls /brokers/ids
    [217, 218, 219]
    get /brokers/ids/217

可以看到kafka已经注册到zookeeper

相关推荐
路飞说AI16 小时前
分布式事务最佳实践:基于kafka实现的最终一致性方案
kafka
Devin~Y20 小时前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux
路飞说AI21 小时前
Kafka消息不丢失全攻略
kafka
落子君1 天前
kafka接受消息
kafka
下地种菜小叶1 天前
接口幂等怎么设计?一次讲清重复提交、支付回调、幂等键与防重落地方案
java·spring boot·spring·kafka·maven
bingyan03711 天前
mysql-使用openclaw自动化安装xenon集群
运维·mysql·自动化·集群·openclaw·xenon
_下雨天.2 天前
Zookeeper+Kafka消息队列单节点与集群部署
分布式·zookeeper·kafka
kiku18182 天前
Kafka消息队列+zookeeper
zookeeper·kafka
炸炸鱼.2 天前
Zookeeper + Kafka 消息队列集群部署手册
zookeeper·kafka
卢傢蕊2 天前
Kafka 消息队列
分布式·kafka·java-zookeeper