• Kafaka高可用集群环境搭建


    zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html

    三台主机每台的Java版本1.8

    下面kafka集群的搭建:

      

     3台虚拟机均进行以下操作: 

    // 解压下载好的kafka压缩包并重命名
    cd /home

    wget http://mirror.bit.edu.cn/apache/kafka/1.1.1/kafka_2.11-1.1.1.tgz

    tar -xzvf kafka_2.11-1.1.1.tgz

    mv kafka_2.11-1.1.1 kafka

    // 修改配置文件

    vi ./kafka/config/server.properties

    修改如下:

       主机1的:(其他主机类似)

    broker.id=0  #做标记的哦 其他的主机 1  2   与Zookeeper的data目录下的myId一致!

    listeners=PLAINTEXT://192.168.91.1:9092  #监听的IP地址和端口号  这其实是个协议 要写全!  监听的本机的ip端口号哈     其他的主机ip地址更改

    zookeeper.connect=192.168.91.1:2181,192.168.91.3:2181,192.168.91.4:2181    #zk的集群地址

    然后修改系统环境中配置kafka的路径

    vi /etc/profile

    // 在文件最下方添加kafka路径

    export KAFKA_HOME=/home/kafaka/kafka

    // PATH的修改 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATH

     $PATH:${KAFKA_HOME}/bin

    我的配置后:

    export PATH=$PATH:${KAFKA_HOME}/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

    // 使修改完的环境变量生效

    source /etc/profile

    此时 其他的两台

    scp -r ./kafaka/ root@192.168.91.3:/home

    scp -r ./kafaka/ root@192.168.91.4:/home

    然后分别修改server.properties

    broker.id=X  #做标记的哦 其他的主机 X =1 和  2 

    listeners=PLAINTEXT://192.168.91.X:9092  #监听的IP地址和端口号  这其实是个协议 要写全!  监听的本机的ip端口号哈     其他的主机ip地址更改

    ,修改 /etc/profile  与第一台一致

    此时的环境便搭建完毕!

    先启动Zookeeper集群,

    逐个主机启动: /home/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start

    查看启动状态: /home/zookeeper/zookeeper-3.4.6/bin/zkServer.sh status

    再启动kafka集群

    2、在后台开启3台虚拟机的kafka程序

    /home/kafaka/kafka

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

    启动成功!

    注意每个服务器要关闭防火墙!!

    Kafka 没有后台图形化 不跟rabbitmq似的哈哈 

    查看Zookeeper:

     

     每个broker启动后 会去zk注册信息,创建节点信息

     

    下面创建个topic试试:

        参考官网:http://kafka.apachecn.org/quickstart.html 

         创建topic时候 需要指定分区partition  1 表示只在一个broker里面存放。(单节点存放)

                                                                       3 表示三个broker里面存放 。生产者投递消息时候 均摊存放!

       

          只会在1个broker进行创建 

        

         在某一台服务器上创建 topic:   

      /home/kafaka/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.91.1:2181 --replication-factor 1 --partitions 1 --topic test   # 创建topic时候 会向zk进行连接 1表示在单机上存储创建

      

      zk查看:

      

     broker就是我们指定的这台服务器上   partition是1 的话每次都投递到 0这个broker上哦

     下面介绍下日志查看:

      kafka的日志存放是在配置中的 server.properties:

    创新topic后发送消息

        往指定的broker发送消息

       bin/kafka-console-producer.sh --broker-list 192.168.91.1:9092 --topic test

    启动consumer进行消费:连接的不是同一台主机,也可以进行消费

        bin/kafka-console-consumer.sh --bootstrap-server 192.168.91.3:9092 --topic test --from-beginning

        

     同是一个集群。互通的 ,只是消息存放的地方有别而已。

     继续创建topic,存放到三个broker:

       /home/kafaka/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.91.1:2181 --replication-factor 1 --partitions --topic  my_test_topic

     创建成功后查看日志目录:

       broker0

      broker1

     

     broker2

     通过test-0  my_test_topic_x 可以看出编号是有自己的算法的

     得出的结论是 topic 在三台不同的节点进行存放的,生产者投递消费进行均摊。

  • 相关阅读:
    keras多层感知机MLP
    局域网互通
    根号和分式
    vim简单的移动光标
    vim几种常用的插入模式
    LaTeX数学模式&上下标&代码块
    LaTeX入门
    ThinkPad X220i 安装 Mac OSX
    SUSE linux ,liveUSB制作方法
    KextWizard 的使用方法;以及Kext安装的几种工具下载
  • 原文地址:https://www.cnblogs.com/toov5/p/10293917.html
Copyright © 2020-2023  润新知