zoukankan      html  css  js  c++  java
  • Kafka 完全分布式集群环境搭建

    思路:

        先在主机s1上安装配置,然后远程复制到其它两台主机s2、s3上,

        并分别修改配置文件server.properties中的broker.id属性。

    1、 搭建前准备

    示例共三台主机,主机IP映射信息如下:

    192.168.32.101 s1
    192.168.32.102 s2
    192.168.32.103 s3

    搭建ZooKeeper 集群,搭建步骤参考:

    https://www.cnblogs.com/jonban/p/zookeeper.html

    2、下载 Kafka

    下载地址:

    https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz

    3、解压到 /opt 下

    tar -zxvf kafka_2.12-2.2.0.tgz -C /opt/

    4、配置

    进入到安装目录

    cd /opt/kafka_2.12-2.2.0/

    创建日志文件目录

    mkdir logs

    修改配置文件  config/server.properties

    vi /opt/kafka_2.12-2.2.0/config/server.properties

    修改以下属性配置

    broker.id=1
    log.dirs=/opt/kafka_2.12-2.2.0/logs
    zookeeper.connect=s1:2181,s2:2181,s3:2181

    5、远程复制到其它两台主机s2,s3上

    scp -r /opt/kafka_2.12-2.2.0/ root@s2:/opt/
    scp -r /opt/kafka_2.12-2.2.0/ root@s3:/opt/

    登录主机s2

    ssh s2
    vi /opt/kafka_2.12-2.2.0/config/server.properties

    修改 config/server.properties 中的 broker.id=2

    broker.id=2

      

    登录主机s3

    ssh s3
    vi /opt/kafka_2.12-2.2.0/config/server.properties

    修改 config/server.properties 中的 broker.id=3

    broker.id=3

      

    6、配置三台主机环境变量

    vi /etc/profile

    添加如下内容:

    export KAFKA_HOME=/opt/kafka_2.12-2.2.0
    export PATH=$PATH:$KAFKA_HOME/bin

    使用source命令使配置立即生效

    source /etc/profile

    7、启动

    启动ZooKeeper 集群

    zkServer.sh start

    启动Kafka

    kafka-server-start.sh -daemon /opt/kafka_2.12-2.2.0/config/server.properties

    8、查看状态

    在三台主机上分别输入  jps  命令,查看集群状态,内容如下:

    [root@s1 ~]# jps
    2852 QuorumPeerMain
    3180 Kafka
    [root@s2 ~]# jps
    2788 QuorumPeerMain
    3433 Kafka
    [root@s3 ~]# jps
    2791 QuorumPeerMain
    3128 Kafka

    启动正常!

    9、测试

    创建主题

    kafka-topics.sh --create --zookeeper s1:2181,s2:2181,s3:2181 --replication-factor 3 --partitions 3 --topic test

    查看主题列表

    kafka-topics.sh --list --zookeeper s1:2181,s2:2181,s3:2181

    生产者

    kafka-console-producer.sh --broker-list s1:9092,s2:9092,s3:9092 --topic test

    消费者

    kafka-console-consumer.sh --bootstrap-server s1:9092,s2:9092,s3:9092 --from-beginning --topic test

     

    10、停止kafka服务器,自带kafka-server-stop.sh 脚本无法正常停止,重写停止脚本,内容如下:

    #!/bin/sh
    
    PIDS=$(ps -ef | grep java | grep kafka | grep -v grep | awk '{print $2}')
    
    for PID in $PIDS
    do
        kill -9 $PID
    done
    
    echo -e "Stop Finished!
    "

    执行停止脚本

    kafka-server-stop.sh 

    11、Spring boot 集成Kafka 

    参考:https://www.cnblogs.com/jonban/p/spring-kafka.html

    Kafka 完全分布式集群环境搭建

    .

  • 相关阅读:
    SuperMap房产测绘成果管理平台
    SuperMap产权登记管理平台
    Android adb shell am 的用法(1)
    由浅入深谈Perl中的排序
    Android 内存监测和分析工具
    Android 网络通信
    adb server is out of date. killing...
    引导页使用ViewPager遇到OutofMemoryError的解决方案
    adb logcat 详解
    How to send mail by java mail in Android uiautomator testing?
  • 原文地址:https://www.cnblogs.com/jonban/p/kafka.html
Copyright © 2011-2022 走看看