• centos7安装部署kafka_2.13-2.4.1集群


    需要三台linux服务器,此安装手册以centos7为例,假设这三台服务器主机ip为10.20.31.116,10.20.31.117,10.20.31.137:

    1.     系统需求

       JDK版本:jdk1.8

       Zookeeper版本:zookeeper-3.5.8

       Kafka版本:kafka_2.13-2.4.1

       注意:防火墙端口开放

    2.     集群搭建

    2.1   集群jdk1.8.x环境搭建(集群所有节点都需要配置)

    2.1.1         官方下载jdk,并上传到服务器/opt目录下,此文档下载文件为jdk1.8.0_101.tar

    2.1.2         解压jdk压缩文件

    cd /opt/ && tar -zxvf jdk1.8.0_101.tar.gz

    2.1.3         配置系统环境变量

    vi /etc/profile

    export JAVA_HOME=/opt/jdk1.8.0_101
    export PATH=$JAVA_HOME/bin:$PATH

    编辑后保存并退出   :wq

    2.1.4         使配置文件生效

    source  /etc/profile

    2.1.5         查看java版本

    java -version

    2.2   zookeeper集群环境搭建(集群所有节点都需要配置)

    2.2.1         下载并解压

    官方地址:https://www.apache.org/dyn/closer.cgi/zookeeper/

    下载版本3.5.8 :

    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz

    解压 cd /opt/ && tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz

    2.2.2         创建data、log存储目录

    mkdir -p /data/zookeeper/data
    mkdir -p /data/zookeeper/log

    2.2.3         新增zoo.cfg配置文件

    cd apache-zookeeper-3.5.8-bin./conf/ && vi zoo.cfg

    # 基本事件单元,单位毫秒。
    tickTime=2000
    initLimit=10
    syncLimit=5
    # 存储内存中数据库快照的位置,默认是/tmp/zookeeper
    dataDir=/data/zookeeper/data
    # 日志路径,也就是事务日志。
    dataLogDir=/data/zookeeper/log
    # 监听客户端连接的端口
    clientPort=2181
    server.1=10.20.31.116:2888:3888
    server.2=10.20.31.117:2888:3888
    server.3=10.20.31.137:2888:3888

    2.2.4         新增myid文件

    myid文件内容是当前服务器的编号。

    10.20.31.116:
       echo '1' > /data/zookeeper/data/myid
    10.20.31.117:
       echo '2' > /data/zookeeper/data/myid
    10.20.31.137:
       echo '3' > /data/zookeeper/data/myid

    2.2.5         启动Zookeeper集群

    10.20.31.116:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start

    10.20.31.117:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start

    10.20.31.137:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start

    2.2.6         查看Zookeeper集群状态

    10.20.31.116:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh status

    10.20.31.117:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh status

    10.20.31.137:/opt/apache-zookeeper-3.5.8-bin/bin/zkServer.sh status

    2.3   kafka集群环境搭建(集群所有节点都需要配置)

    2.3.1         下载并解压

    下载版本2.4.1:

    http://mirror.bit.edu.cn/apache/kafka/2.4.1/kafka_2.13-2.4.1.tgz

    解压:cd /opt/ && tar -zxvf kafka_2.13-2.4.1.tgz

    2.3.2         编辑配置文件:

    10.20.31.116:

    vi kafka_2.13-2.4.1/config/server.properties

    #修改以下配置
    #为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
    broker.id=116
    #可选配置项,将日志输出到指定的位置
    log.dirs=/tmp/kafka-logs
    #必须配置自己的zookeepe
    zookeeper.connect=10.20.31.116:2181,10.20.31.117:2181,10.20.31.137:2181
    #在配置集群的时候,必须设置
    listeners = PLAINTEXT://10.20.31.116:9092

    10.20.31.117:

        vi kafka_2.13-2.4.1/config/server.properties

    #修改以下配置
    #为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
    broker.id=117
    #可选配置项,将日志输出到指定的位置
    log.dirs=/tmp/kafka-logs
    #必须配置自己的zookeepe
    zookeeper.connect=10.20.31.116:2181,10.20.31.117:2181,10.20.31.137:2181
    #在配置集群的时候,必须设置
    listeners = PLAINTEXT://10.20.31.117:9092

    10.20.31.137:

        vi kafka_2.13-2.4.1/config/server.properties

    #修改以下配置
    #为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
    broker.id=137
    #可选配置项,将日志输出到指定的位置
    log.dirs=/tmp/kafka-logs
    #必须配置自己的zookeepe
    zookeeper.connect=10.20.31.116:2181,10.20.31.117:2181,10.20.31.137:2181
    #在配置集群的时候,必须设置
    listeners = PLAINTEXT://10.20.31.137:9092

    注意:如果是配置集群,下面信息必须修改:

    (1)、broker.id:同一个集群中,每台机器均不能一样

    (2)、zookeeper.connect:因为我有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去

    (3)、listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误

    2.3.3         集群各节点启动kafka服务

    /opt/kafka_2.13-2.4.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.13-2.4.1/config/server.properties

    2.3.4         查看集群中各个节点的服务的启动状态

     

    2.3.5         操作kafka

    /opt/kafka_2.13-2.4.1/bin/kafka-topics.sh --create --zookeeper 10.20.31.116:2181 --replication-factor 1 --partitions 1 --topic test

    说明: 
    --zookeeper:为zk服务器地址,已逗号分割配置多个 
    --replication-factor:分区leader副本数,1代表没有副本即分区本身,建议为2 
    --partitions:分区数 
    --topic:topic名称

    2.3.6         查看topic

    /opt/kafka_2.13-2.4.1/bin/kafka-topics.sh --list --zookeeper 10.20.31.137:2181

    2.3.7         查看test topic消息

    /opt/kafka_2.13-2.4.1/bin/kafka-topics.sh --describe --zookeeper 10.20.31.117:2181 --topic test

     

    说明: 

    leader:负责处理消息的读和写,leader是从所有节点中随机选择的.

    Replicas:列出了所有的副本节点,不管节点是否在服务中.

    Lsr:是正在服务中的节点.

    2.3.8         发布消息

    /opt/kafka_2.13-2.4.1/bin/kafka-console-producer.sh --broker-list 10.20.31.117:9092 --topic test

     

    2.3.9         消费消息

    /opt/kafka_2.13-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server 10.20.31.137:9092 --topic test --from-beginning

     

    说明: 

    from-beginning:每次从头开始消费

    2.3.10     删除topic

    /opt/kafka_2.13-2.4.1/bin/kafka-topics.sh --delete --zookeeper 10.20.31.137:2181 --topic test

    2.4   集群可视化管理

    2.4.1         https://blog.csdn.net/llwy1428/article/details/94389615

  • 相关阅读:
    minixml3.1库的使用
    linux coredump及函数栈空间大小分析
    linx 设备名字来由 sd sr sg st
    gcc 遇到过的语法问题
    I帧、B帧、P帧、NALU类型
    linux grub 使用
    结构体sockadrr、sockaddr_in、in_addr的定义
    linux c log 日志接口
    关于32位/64位版本头文件的重要
    汇编指令缩写
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/13032460.html
Copyright © 2020-2023  润新知