• 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...
    
  • 相关阅读:
    Repeater嵌套绑定Repeater
    第一章 JavaScript概述
    一、mono for android学习:什么是mono for android(使用C#开发android)
    二、mono for Android学习:安装IDE 以及 可能遇到问题
    第三章 JavaScript 数据类型和值
    计算机是如何启动的?
    TSQL连接查询,基础连接理解
    三、mono for android 学习:参考书籍
    第二章 JavaScript 词法结构
    四、mono for android学习:在monodevelop与Visual Studio上的示例
  • 原文地址:https://www.cnblogs.com/winstom/p/12404232.html
Copyright © 2020-2023  润新知