Kafka伪集群搭建

 话不多说,我们这里就用一台机器模仿启动三个kafka 服务,然后用一个zookeeper做注册中心来管理三台broker,实现kafka集群。

准备

  • 一台centos 服务器,启动后的IP地址为:192.168.1.91

  • JDK 1.8环境,安装方式忽略。

  • Zookeeper环境

    这里我们自己下载一个单独的zookeeper,不使用kafka自带的。

    1. 下载并解压:
    cd /usr/local/
    mkdir -p soft
    cd soft/
    curl https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
    tar –xZvf apache-zookeeper-3.6.2-bin.tar.gz
    
    1. 修改配置文件
    cd apache-zookeeper-3.6.2-bin/conf/
    cp zoo_sample.cfg zoo.cfg
    

    端口默认是2181,配置文件中的dataDir如果要修改,就去创建相应的目录。

    mkdir -p /tmp/zookeeper
    
    1. 开启zookeeper服务
    cd ../bin
    ./zkServer.sh start
    
    输出日志:
    ZooKeeper JMX enabled by default
    Using config: /usr/local/soft/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    
    1. 验证服务
    ./zkServer.sh status
    
  • Kafka
    下载kafka安装包并修改配置文件。

    1. 下载并解压
    cd /usr/local/soft/
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.6.1/kafka_2.12-2.6.1.tgz
    tar -xvzf kafka_2.12-2.6.1.tgz
    cd kafka_2.12-2.6.1/
    
    1. 修改配置文件
      复制三个配置文件,作为三个broker服务的配置文件
    cd  config/
    cp server.properties server1.properties
    cp server.properties server1.properties
    cp server.properties server1.properties
    

    1)分别修改三个文件的broker.id 为1,2,3。
    2)取消listeners这一行的注释,端口分别修改为9093,9094,9095
    3)log.dirs分别设置为kafka-logs1,kafka-logs2, kafka-logs3.
    创建这几个log目录,其实就是消息存放的目录。

    mkdir -p /tmp/kafka-logs1 /tmp/kafka-logs2  /tmp/kafka-logs3
    cd ../
    mkdir logs
    
    1. 启动三个服务,并
    cd ../bin/
    nohup ./kafka-server-start.sh ../config/server1.config >> ../logs/sever1.log &
    nohup ./kafka-server-start.sh ../config/server2.config >> ../logs/sever2.log &
    nohup ./kafka-server-start.sh ../config/server3.config >> ../logs/sever3.log &
    
    1. 检查状态
      分别检查三个kafka server log文件,查看是否正常启动
    less ../logs/server1.log
    ps -ef | grep zoo
    

如果服务都正常启动,应该会有四个服务,一个zookeeper 服务, 三个kafka服务。

测试

  1. 创建一个topic,3个副本,2个分区。
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic yq3rep2part
  1. 查看创建的topic
./kafka-topics.sh -list -zookeeper localhost:2181
./kafka-topics.sh --describe --topic yq3rep2part --zookeeper localhost:2181

并且可以去/tmp/kafka-logs1/ 、/tmp/kafka-logs2/ 、/tmp/kafka-logs3/ 验证,每个目录下面都有如下2个文件。


  1. 回到kafka安装目录bin/,并启动Consumer.
 ./kafka-console-consumer.sh --bootstrap-server 192.168.1.91:9093,192.168.1.91:9094,192.168.1.91:9095 --topic yq3rep2part --from-beginning
  1. 新建一个窗口,并在kafka的bin目录下执行如下命令,启动Producer.
  ./kafka-console-producer.sh --broker-list 192.168.1.91:9093,192.168.1.91:9094,192.168.1.91:9095 --topic yq3rep2part

然后再控制台打印Hello, World~,就可以看到consumer 窗口也自动显示出来Hello, World~

至此Kafka伪集群搭建成功。

你可能感兴趣的:(Kafka伪集群搭建)