zoukankan      html  css  js  c++  java
  • 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...
    
  • 相关阅读:
    “.NET研究”带你走进缓存世界 狼人:
    晚绑定场景下对象属性赋值和取值可以不需要Pro“.NET研究”pertyInfo 狼人:
    一“.NET研究”句代码实现批量数据绑定[下篇] 狼人:
    使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例 狼人:
    在ASP.NET MVC3中使用“.NET研究”EFCodeFirst 1.0 狼人:
    一句代码实现批量“.NET研究”数据绑定[下篇] 狼人:
    在ASP.NET M“.NET研究”VC3 中利用JSONP跨域登录WEB系统 狼人:
    一句代码实现批量数“.NET研究”据绑定[上篇] 狼人:
    转发重定向Servlet之请求转发与重定向区别
    估计实例R语言: 极大似然估计实例
  • 原文地址:https://www.cnblogs.com/winstom/p/12404232.html
Copyright © 2011-2022 走看看