• Kafka详细配置


    转自:http://blog.csdn.net/suifeng3051/article/details/38321043?utm_source=tuicool&utm_medium=referral

    Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置

    • 单节点:一个broker的集群
    • 单节点:多个broker的集群
    • 多节点:多broker集群

    单节点单broker实例的配置

    image

    1.启动zookeeper服务

    bin/zkServer.sh start

    2.启动Kafka broker

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

    3.创建topic

    创建一个仅有一个Partition的topic

    bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic

    或者:

    ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic kafkatopic

    版本不同语法不同,参考:http://www.cnblogs.com/huxi2b/p/4571309.html

    4.生产消息

    用Kafka提供的生产者客户端启动一个生产者进程来发送消息:

    bin/kafka-console-producer.sh --broker-list  localhost:9092 --topic kafkatopic

    其中有两个参数需要注意:

    • broker-list:定义了生产者要推送消息的broker地址,以<IP地址:端口>形式     
    • topic:生产者发送给哪个topic

    然后你就可以输入一些消息用于发送

    5.消费消息

    启动一个Consumer实例来消费消息

    bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafkatopic --from-beginning

    当你执行这个命令之后,你便可以看到控制台上打印出的生产者生产的消息

    单节点运行多broker实例

    image

    1.启动zookeeper

    和上面的一样

    2.启动Kafka的broker

    要想在一台机器上启动多个broker实例,只需要准备多个server.properties文件即可,比如我们要在一台机器上启动两个broker。

    首先我们要准备两个server.properties配置文件

    1. server-1
      1. brokerid=1
      2. port=9092
      3. log.dir=/temp/kafka8-logs/broker1   
    2. server-2
      1. brokerid=2
      2. port=9093
      3. log.dir=/temp/kafka8-logs/broker2 

    然后我们再用这两个配置文件分别启动一个broker

    [root@localhost kafka]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties

    [root@localhost kafka]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties

    可以看到我们启动是为每个broker都指定了不同的JMX Port,JMX Port主要用来利用jconsole等工具进行监控和排错

    3.创建一个topic

    创建一个含有两个Partition分区和2个备份的topic:

    [root@localhost kafka]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic

    4.启动Producer发送消息

    如果我们要用一个Producer发送给多个broker,唯一需要改变的就是在broker-list属性中指定要连接的broker

    [root@localhost kafka]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic

    5. 启动Consumer消费消息

    和之前的命令一样

    [root@localhost kafka]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning

    集群模式(多节点多实例)

    image

    zookeeper配置文件(zookeeper.properties):不变

    broker的配置配置文件(server.properties):按照单节点多实例配置方法在一个节点上启动两个实例,不同的地方是zookeeper的连接串需要把所有节点的zookeeper都连接起来

    zookeeper.connect=node1:2181,node2:2181

  • 相关阅读:
    基于 HTML5 WebGL 的发动机 3D 可视化系统
    基于 HTML + WebGL 结合 23D 的疫情地图实时大屏 PC 版
    用 HTML5 造个有诚意的 23D 招聘稿
    基于 HTML5 Canvas 的 3D 热力云图效果
    基于 HTML5 和 Canvas 实现的 3D 垃圾分类系统
    xcode10 改动
    __NSArrayI __NSArray0 __NSSingleObjectArrayI __NSPlaceholderArray __NSArrayM
    iOS开发之Found a swap file by the name ".podfile.swp" owned by: Netban dated:...file name: ~N...
    关于程序的测试
    ios the request was denied by service delegate for reason unspecified
  • 原文地址:https://www.cnblogs.com/dorothychai/p/6490203.html
Copyright © 2020-2023  润新知