zoukankan      html  css  js  c++  java
  • kafka安装与测试

    基于linux-Centos7.0环境先进行测试学习

    Producer即生产者,向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即Topic,
    Topic即主题,通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的Topic中的消息
    Consumer即消费者,消费者通过与kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理。

    下载
        kafka官网 http://kafka.apache.org/downloads 下载到最新的kafka安装包
    安装
        将二进制文件解压到指定目录
         tar -zxvf kafa_2.11.tgz -C /opt/module

    运行
        kafka运行依赖于zookeeper,高版本内置zookeeper环境
         a.启动zookeeper环境
          bin/zookeeper-server-start.sh   config/zookeeper.properties
             启动后不要关闭终端 新建连接执行命令
         b.启动kafka进程
          bin/kafka-server-start.sh  config/server.properties
             注意保持进程状态活跃,新建终端执行操作
         c.新建连接 ,创建Topic
             kafka_2.11-2.0.0]$ bin/kafka-topics.sh  --create --zookeeper localhost:2181
                     --replication-factor 1 --partitions 1 --topic test
                 replication-factor 副本的个数
                 partitions 分区数目
                 topic  主题名称
                
             查看已经创建的topic
             bin/kafka-topics.sh --list --zookeeper localhost:2181
         d.创建生产者
              bin/kafka-console-producer.sh  --broker-list localhost:9092 --topic test
                 broker-list 生产者的唯一标示
                 topic 消息主题名称
                
                 >输入内容+Enter
         e.新建连接,创建消费者
             bin/kafka-console-consumer.sh  --bootstrap-server localhost:9092 --topic  test --from-beginning
                 from-beginning 从一开始就接收
                 显示 输入内容
                
    kafka的存储,分区partitions,创建一个topic时,同时可以指定分区数目,分区数越多,其吞吐量也越大
    kafka在接收到生产者发送的消息之后,会根据均衡策略将消息存储到不同的分区中。
    生产者在向kafka集群发送消息的时候,可以通过指定分区来发送到指定的分区中
    也可以通过指定均衡策略来将消息发送到不同的分区中
    如果不指定,就会采用默认的随机均衡策略,将消息随机的存储到不同的分区中

    kafka常用命令:
    1.查看topic的详细信息
    ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1

    2、为topic增加副本
    ./kafka-reassign-partitions.sh -zookeeper 127.0.0.1:2181 -reassignment-json-file json/partitions-to-move.json -execute

    3、创建topic
    ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testKJ1

    4、为topic增加partition
    ./bin/kafka-topics.sh –zookeeper 127.0.0.1:2181 –alter –partitions 20 –topic testKJ1

    5、kafka生产者客户端命令
    ./kafka-console-producer.sh --broker-list localhost:9092 --topic testKJ1

    6、kafka消费者客户端命令
    ./kafka-console-consumer.sh -zookeeper localhost:2181 --from-beginning --topic testKJ1

    7、kafka服务启动
    ./kafka-server-start.sh -daemon ../config/server.properties

    8、下线broker
    ./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper 127.0.0.1:2181 --broker #brokerId# --num.retries 3 --retry.interval.ms 60
    shutdown broker

    9、删除topic
    ./kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic testKJ1 --zookeeper 127.0.0.1:2181
    ./kafka-topics.sh --zookeeper localhost:2181 --delete --topic testKJ1

    10、查看consumer组内消费的offset
    ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test --topic testKJ1
      ./kafka-consumer-offset-checker.sh --zookeeper 192.168.100.1:12181 --group group1 --topic group1

  • 相关阅读:
    如何找出一个数组中第二大的数
    如何把一个整型数组中重复的数字去掉
    假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素
    如何重新排列数组使得数组左边为奇数,右边为偶数,并使得空间复杂度为O(1),时间复杂度为O(n)
    给一个由n-1个整数组成的未排序的序列,其元素都是1~n中的不同的整数。如何在线性时间复杂度内寻找序列中缺失的整数
    已知大小分别为m、n的两个无序数组A、B和一个常数c,求满足A[i]+B[j]=c的所有A[i]和B[j]
    如何找出数组中符合条件的数对
    如何找出数组中出现奇数次的元素
    云服务器ECS挖矿木马病毒处理和解决方案
    Java下载https文件上传到阿里云oss服务器
  • 原文地址:https://www.cnblogs.com/jin-nuo/p/9480414.html
Copyright © 2011-2022 走看看