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 完全分布式集群环境搭建

    .

  • 相关阅读:
    什么叫委托
    什么是继承
    什么叫多态
    委托的了解
    什么是数组
    工作记录之 oracle去重的三个方法
    实例分析J2ME网络编程的两种方法
    在无线J2ME设备上实现超文本传输协议
    java与C、C++进行通信的一些问题
    如何配置Wiindows live writer
  • 原文地址:https://www.cnblogs.com/jonban/p/kafka.html
Copyright © 2011-2022 走看看