zoukankan      html  css  js  c++  java
  • kafka 安装

    1. kafka是一个分布式的消息缓存系统
    2. kafka集群中的服务器都叫做broker
    3. kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接
    4. kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息读写的负载
    5. 每一个分区都可以有多个副本,以防止数据的丢失
    6. 某一个分区中的数据如果需要更新,都必须通过该分区所有副本中的leader来更新
    7. 消费者可以分组,比如有两个消费者组A和B,共同消费一个topic:order_info,A和B所消费的消息不会重复,比如 order_info 中有100个消息,每个消息有一个id,编号从0-99,那么,如果A组消费0-49号,B组就消费50-99号
    8. 消费者在具体消费某个topic中的消息时,可以指定起始偏移量

    kafka集群官网地址:http://kafka.apache.org/quickstart

     整体结构图如下:

    1、m2机器上解压kafka

    2、进入config目录,修改server.properties文件,主要修改broker.id,每台机器应该保证不一样,修改zookeeper.connect为m6,m7m8组成的zookeeper集群

        #必须是唯一的数字 

        broker.id=0

        #zookeeper地址,多个使用逗号分隔

         zookeeper.connect=m6:2181,m7:2181,m8:2181

    3、拷贝kafka到m3、m4机器上

    4、分别修改m3、m4上配置文件server.properties中的broker.id

    5、启动zookeeper集群

    6、启动kafka broker节点,启动命令为: ./bin/kafka-server-start.sh ./config/server.properties,每台机器分别执行这个命令,这种启动方式是在前台启动,如果需要在后台启动执行:./bin/kafka-server-start.sh ./config/server.properties 1>/dev/null 2>&1 &

    7、停止kafka:./bin/kafka-server-stop.sh ./config/server.properties 

    错误集锦

    kafka.common.InconsistentBrokerIdException: Configured broker.id 1 doesn't match stored broker.id 0 in meta.properties. If you moved your data, make sure your configured broker.id matches. If you intend to create a new broker, you should remove all data in your data directories (log.dirs).

    问题原因
    没有修改broker.id直接启动,后来发现错误,修改broker.id出现上述错误

    解决方法
    cat ./config/server.properties | grep log.dirs
    删除上句话显示的目录下的所有文件

  • 相关阅读:
    android 监听ListView中的 item 和button
    android 获取当前系统及应用信息(二)
    MotionEvent中getX()和getRawX()的区别
    HITS 算法(Hypertext Induced Topic Selection)
    放之四海皆适用的设计原则(二)
    源自神话的写作要义之英雄之旅
    这就是搜索引擎:核心技术详解
    源自神话的写作要义之英雄
    使用Spinner和setDropDownViewResource
    友好界面menu
  • 原文地址:https://www.cnblogs.com/heml/p/6073676.html
Copyright © 2011-2022 走看看