• CentOS 7 安装 Zookeeper + Kafka 集群


    介绍

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。

    安装 kafka 集群,需要把集群状态保存在 zookeeper 上,所以需要先安装 zookeeper

    环境准备

    主机名 系统 IP地址 zk 端口 kafka 版本 kafka 端口
    node01 Centos7.5 172.16.1.11 2181 2.12 9092
    node02 Centos7.5 172.16.1.12 2181 2.12 9092
    node03 Centos7.5 172.16.1.13 2181 2.12 9092

    zookeeper 集群

    zookeeper 的集群安装之前文章已经介绍过, CentOS 7 Zookeeper 介绍 及 集群安装,本次也同样使用该环境;

    kafka 集群安装

    下载地址:

    下面的操作,需要在三台机器上郡

    [root@node01 ~]# cd /opt/soft/
    [root@node01 soft]# tar xf kafka_2.12-2.2.1.tgz 
    [root@node01 soft]# mv kafka_2.12-2.2.1 /opt/kafka-2.12
    [root@node01 soft]# ln -s /opt/kafka-2.12 /opt/kafka
    [root@node01 soft]# ls -ld /opt/kafka*
    lrwxrwxrwx 1 root root 15 Mar  3 16:03 /opt/kafka -> /opt/kafka-2.12
    drwxr-xr-x 6 root root 89 May 14  2019 /opt/kafka-2.12
    

    服务管理脚本

    cat > /etc/systemd/system/kafka.service <<EOF
    [Unit]
    Description=Apache Kafka server (broker)
    Documentation=http://kafka.apache.org/documentation.html
    Requires=network.target remote-fs.target
    After=network.target remote-fs.target zookeeper.service
    [Service]
    Type=simple
    User=kafka
    Group=kafka
    Environment=JAVA_HOME=/opt/jdk1.8.0_192
    ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    

    配置

    需要注意,三个服务配置文件 server.properties 中的 broker.idlisteners 需要根据服务器做相应的修改 不能相同,否则集群会报错,要注意修改。

    cd /opt/kafka/config/
    
    cp server.properties server.properties.default
    
    cat > server.properties <<EOF
    broker.id=1
    listeners=PLAINTEXT://172.16.1.11:9092
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/opt/kafka-2.12/data
    num.partitions=30
    num.recovery.threads.per.data.dir=2
    offsets.topic.replication.factor=3
    transaction.state.log.replication.factor=1
    transaction.state.log.min.isr=1
    log.flush.interval.messages=10000
    log.flush.interval.ms=1000
    log.retention.hours=144
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    zookeeper.connect=172.16.1.11:2181,172.16.1.12:2181,172.16.1.13:2181
    zookeeper.connection.timeout.ms=6000
    group.initial.rebalance.delay.ms=0
    EOF
    

    启动测试

    注意:修改好 配置文件server.properties 中的 broker.idlisteners 不同之后,相继启动三个服务;

    systemctl enable kafka
    systemctl start kafka
    systemctl status kafka
    
    ● kafka.service - Apache Kafka server (broker)
       Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: disabled)
       Active: active (running) since Thu 2020-02-20 21:29:28 CST; 1 weeks 4 days ago
         Docs: http://kafka.apache.org/documentation.html
      Process: 30768 ExecStop=/opt/kafka-2.12/bin/kafka-server-stop.sh (code=exited, status=0/SUCCESS)
     Main PID: 30784 (java)
       CGroup: /system.slice/kafka.service
               └─30784 /opt/jdk1.8.0_192/bin/java -Xmx2G -Xms2G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt...
    
  • 相关阅读:
    我的博客开通了啦!
    今天终于下定决心,辞掉现在的工作,开始导找新的机会。
    C# 文件流的使用
    XNA学习笔记(二) 发布release版本出现的问题
    Unity3D学习笔记(三) 数组和容器(泛型)使用学习(基于C#)
    Unity3D学习笔记(六) 关于碰撞
    Unity3D学习笔记(一) 模型和贴图导入学习
    Unity3D学习笔记(八) 保存数据的简单方式
    Unity3D学习笔记(五) C#基础学习
    Unity3D学习笔记(四) 脚本内访问其他对象,组件或脚本成员方法总结
  • 原文地址:https://www.cnblogs.com/winstom/p/12404232.html
Copyright © 2020-2023  润新知