更新时间:2024-04-19 GMT+08:00
分享

Kafka集群部署

  1. 服务信息如下:
    表1 服务信息3

    服务名

    服务器

    安装目录

    端口

    zookeeper

    10.190.x.x

    10.190.x.x

    10.190.x.x

    /app/zookeeper

    2181、2888、3888

    kafka

    /app/kafka

    9092

  2. 安装JDK8
    1. 准备安装包

      可默认使用操作系统自带的openjdk

      [root@vm001 ~]# rpm -qa|grep java
      [root@vm001 ~]# rpm -qa|grep jdk
      yum list java-1.8.0-openjdk*
      (可选安装java-1.8.0-openjdk-devel)
      yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
      tar xf  jdk-8u341-linux-aarch64.tar.gz -C /usr/local/
    2. 配置环境变量快捷命令
      sed -i '$a export JAVA_HOME=/usr/local/jdk1.8.0_341\nexport JRE_HOME=$JAVA_HOME/jre\nexport PATH=$JAVA_HOME/bin:JRE_HOME/bin:$PATH\nexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ' /etc/profile && source /etc/profile && java -version
  3. 安装zookeeper
    1. 准备安装包

      三节点部署zookeeper,使用zookeeper-3.4.14.tar.gz,解压到/app目录,下载地址:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

      tar xf zookeeper-3.4.14.tar.gz  -C /app
      mv zookeeper-3.4.14  zookeeper
    2. 添加zookeeper到环境变量
      vim + /etc/profile
      export ZOOKEEPER_HOME=/app/zookeeper
      export PATH=$ZOOKEEPER_HOME/bin:$PATH
      #集成安装上面的jdk之后,环境变量PATH合并配置示例:
      export ZOOKEEPER_HOME=/app/zookeeper
      export JAVA_HOME=/usr/local/jdk1.8.0_241
      export JRE_HOME=$JAVA_HOME/jre
      export PATH=$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:JRE_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      #使环境变量生效
      source /etc/profile
    3. 修改配置文件
      #进入ZooKeeper所在目录
      cd /app/zookeeper/conf
      #复制配置文件
      cp zoo_sample.cfg zoo.cfg
      #修改配置文件
      vim zoo.cfg
      #修改数据目录
      dataDir=/app/zookeeper/data
      #在最后添加如下代码,其中server.1-3是部署ZooKeeper的节点对应sfmap345
      server.1=sfmap3:2888:3888
      server.2=sfmap4:2888:3888
      server.3=sfmap5:2888:3888
      #创建data目录作数据目录
      mkdir /app/zookeeper/data
      #在data目录中创建一个空文件,并向该文件写入ID
      touch /app/zookeeper/data/myid
      echo 1 > /app/zookeeper/data/myid
    4. 同步配置到其它节点
      #将配置好的ZooKeeper复制到其它节点
      scp -rp /app/zookeeper-3.4.6 root@sfmap4:/app/
      scp -rp /app/zookeeper-3.4.6 root@sfmap5:/app/
      #登录sfmap4、sfmap5,修改myid内容
      echo 2 > /app/zookeeper/data/myid
      echo 3 > /app/zookeeper/data/myid
    5. 启动服务

      分别在sfmap3,sfmap4、sfmap5上启动ZooKeeper

      cd /app/zookeeper/bin
      ./zkServer.sh start
      #查看服务状态
      ./zkServer.sh status
      Mode: leader   #或者   Mode: follower
  4. 安装kafka
    1. 准备安装包

      下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz

      tar xf kafka_2.13-2.6.0.tgz -C /app
      mv kafka_2.13-2.6.0 kafka
    2. 修改配置文件server.properties
      broker.id=1
      listeners=PLAINTEXT://0.0.0.0:9092   ##0.0.0.0或本机IP
      #advertised.listeners=PLAINTEXT://192.168.56.101:9092
      advertised.listeners=PLAINTEXT://192.168.0.100:9092  ##本机或公网IP
      ……
      ##log.dirs=/tmp/kafka-logs ##或者使用默认配置
      log.dirs=/app/kafka/kafka-logs
      ……
      ##zookeeper.connect=localhost:2181  ##加注释默认的自带的zoo
      zookeeper.connect=192.168.56.101:2181,192.168.56.102:2181,192.168.56.103:2181
      zookeeper.connection.timeout.ms=18000
      group.initial.rebalance.delay.ms=0
    3. 修改启动脚本

      修改bin/kafka-run-class.sh 找到约257行:

      KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 ...

      直接删掉这个的参数 -XX:+UseG1GC,保存退出。

    4. 参考a、b、c完成节点2和节点3的安装和配置
    5. 三节点分别创建数据存储目录
      mkdir  -p /app/kafka/kafka-logs
    6. 三节点分别启动服务
      cd  bin/
      ./kafka-server-start.sh -daemon  ../config/server.properties

相关文档