kafka+zookeeper集群搭建

发布于:2024-11-28 ⋅ 阅读:(34) ⋅ 点赞:(0)

kafka+zookeeper集群搭建

规划

服务 ip 端口 配置
kafka+zookeeper 192.168.138.151 2181/9092/2888/3888 2CPU、2G内存
kafka+zookeeper 192.168.138.152 2181/9092/2888/3888 2CPU、2G内存
kafka+zookeeper 192.168.138.153 2181/9092/2888/3888 2CPU、2G内存

开启端口,关闭selinux

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --reload
set -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config
setenforce 0

安装jdk

  1. 上传jdk-8u172-linux-x64.tar.gz到/root目录下并解压
tar -xzvf jdk-8u172-linux-x64.tar.gz
sudo mv jdk1.8.0_172/ /usr/local/java
  1. 配置环境变量,在末行加入

    vi /etc/profile

    export JAVA_HOME=/usr/local/java
    export PATH=$PATH:$JAVA_HOME/bin
    
    
    
  2. 让环境变量生效

    source /etc/profile
    
  3. 查看java 版本

    java -version
    

zookeeper安装

  1. 所有机器都执行,下载apache-zookeeper-3.7.2-bin.tar.gz并上传到服务器,解压

    tar -xzvf apache-zookeeper-3.7.2-bin.tar.gz
    mv apache-zookeeper-3.7.2-bin /usr/local/zookeeper
    
  2. 创建配置文件

    cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
    
  3. 修改/usr/local/zookeeper/conf/zoo.cfg文件(默认的zookeeper配置文件)

    vim /usr/local/zookeeper/conf/zoo.cfg

    dataDir=/usr/local/zookeeper/data #数据存放目录,需要创建
    dataLogDir=/usr/local/zookeeper/logs #日志存放目录,需要创建
    #集群信息,需要新增。
    server.1=192.168.138.151:2888:3888 #2888:节点间传送数据的端口,3888:选举节时的通信端口
    server.2=192.168.138.152:2888:3888
    server.3=192.168.138.153:2888:3888
    
  4. 在所有节点的数据存储目录中增加一个名为myid的文件,用于标识节点ID。

    echo 1 > /usr/local/zookeeper/data/myid #151上执行数字为节点编号,与配置文件中的server.1中的数字对应
    echo 2 > /usr/local/zookeeper/data/myid #152上执行数字为节点编号,与配置文件中的server.2中的数字对应
    echo 3 > /usr/local/zookeeper/data/myid #153上执行数字为节点编号,与配置文件中的server.3中的数字对应
    

kafka安装

  1. 下载kafka_2.12-3.6.2.tgz并上传解压

    tar -xvf kafka_2.12-3.6.2.tgz 
    mv kafka_2.12-3.6.2 /usr/local/kafka
    
  2. 修改配置文件: vim /usr/local/kafka/config/server.properties

    broker.id=1 #节点编号,kafka集群中唯一,每个节点都不一样,152和153上需要修改
    listeners=PLAINTEXT://192.168.138.151:9092 #改为本机IP+端口,152和153上需要修改
    log.dirs=/usr/local/kafka/logs #日志文件目录,目录需要创建
    zookeeper.connect=192.168.138.151:2181,192.168.138.152:2181,192.168.138.153:2181
    

启动集群

  1. 启动zookeeper。
/usr/local/zookeeper/bin/zkServer.sh start 
/usr/local/zookeeper/bin/zkServer.sh status #状态查看
  1. 启动kafka。

    /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
    

测试集群

  1. 创建主题。
/usr/local/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.138.151:9092 --create --replication-factor 2 --partitions 3 --topic test-topic #创建主题,--replicationfactor:副本数量,--partitions:分区数量,--topic:主题名称
  1. 发送消息。
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.138.151:9092,192.168.138.152:9092,192.168.138.153:9092 --topic test-topic
  1. 接收消息。
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.138.151:9092,192.168.138.152:9092,192.168.138.153:9092 --topic test-topic
--from-beginning