zoukankan      html  css  js  c++  java
  • kafka集群搭建

     1、简介

        Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

    1. 服务器基本信息

    kafka需要配合zookeeper使用,在安装kafka之前,需要先安装zookeeper集群,关于安装zookeeper集群,可以参考:https://www.cnblogs.com/zhangan/p/10978012.html

    ip地址安装服务
    192.168.1.11 zookeeper-3.4.10、kafka2.10、kafka-manager
    192.168.1.12 zookeeper-3.4.10、kafka2.10
    192.168.1.13 zookeeper-3.4.10、kafka2.10

    2. 安装jdk(三台主机上执行)

    3. 安装kafka(三台主机上执行)

    3.1 安装kafka

    下载地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.1/kafka_2.11-2.1.1.tgz

    cd /usr/local/src
    tar zxvf kafka_2.11-2.1.1.tgz
    mv kafka_2.11-2.1.1 /usr/local/kafka

    3.2 修改配置文件

    vim /usr/local/kafka/config/server.properties

    具体参数如下:

    • 每台服务器的broker.id都不能相同

      broker.id=1

    • 端口

      port=9092

    • 主机名

      host.name=192.168.1.11

    • 是否可以删除topic

      delete.topic.enable=true

    • 具体一些参数

      log.retention.hours=168
      message.max.byte=5242880
      default.replication.factor=2
      replica.fetch.max.bytes=5242880

    • 设置zookeeper集群地址与端口如下:

      zookeeper.connect= 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181

    3.3 启动kafka(三台)

    cd /usr/local/kafka/kafka_2.11-2.1.1/bin
    ./kafka-server-start.sh -daemon ../config/server.properties &

    3.4 创建topic

    ./kafka-topics.sh --create --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --replication-factor 2 --partitions 1 --topic tttt

    参数解释:

    • 复制两份

      --replication-factor 2

    • 创建1个分区

      --partitions 1

    • topic 名称

      --topic tttt

    3.5 查看已经存在的topic

    ./kafka-topics.sh --list --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181
    

    3.6 删除topic

    删除topic,需要在server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。

    ./bin/kafka-topics.sh --delete --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --topic tttt

    3.7消费topic

    kafka-console-consumer.sh --bootstrap-server 172.31.15.70:9092 --topic NotifyAPP --from-beginning --zookeeper 172.31.15.70:2181

    3.8 查询

    • 查询集群描述

      bin/kafka-topics.sh --describe --zookeeper

    • 消费者列表查询

      bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --lis

    • 新消费者列表查询(支持0.9版本+)

      bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --list

    • 显示某个消费组的消费详情(仅支持offset存储在zookeeper上的)

      bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test

    • 显示某个消费组的消费详情(支持0.9版本+)

      bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group test-consumer-group

  • 相关阅读:
    SQL Server 造成cpu 使用率高的 6 原因
    SQL Server SQLOS
    flask数据库操作
    redis数据类型
    python3中__get__,__getattr__,__getattribute__的区别
    强弱类型,动静态语言
    函数式编程和面向对象编程
    数据库事务的四个特性和含义
    流畅的python
    Python中__repr__和__str__区别
  • 原文地址:https://www.cnblogs.com/zhangan/p/10986226.html
Copyright © 2011-2022 走看看