• 我作为新手如何快速了解kafka的


      kafka在大公司是经常用到的,之前在途牛有使用过,但都是听别人说从kafka取数据流分析用户使用量啦,或者统计app推送消息的成功率与用户点击率啦,这些都是别人在做,自己没有真正去接触了解kafka究竟是什么。后来在现在这家公司,也是有用到kafka的,但是都是用在数据治理,数据导入那边,我们做java服务端业务方向的好像不太会使用到。总之自己听说了kafka很久,但对它却不是很了解,我对kafka的认识仅限于它是做消息传输的,可以有消息队列,生产者能够将指定的消息发送给指定的消费者消费。

      直到前段时间,我对象他们业务有使用到kafka,她就问我对kafka了解,我感觉自己项目里有使用,就说自己了解些,于是她就说回家让我讲讲。直到回家我给他讲的时候,我发现自己根本不懂,她问了我一些问题,我都回答不上,甚至她问我topic是什么,我感觉就是用于分组的,但我回答的不深入,她也没太懂。

      前两天,她又问我问题了。因为她启动服务后,日志里报错kafka超时。于是她想看下对应机器上的kafka有没有启动,她不太知道怎么看,我想帮忙,可是我也不太清楚kafka的目录结构,kafka怎么启动,kafka如何查看是否启动成功了。感到很气馁,感觉自己水平太差了,平时也不注重学习。

      于是昨天,我简单搜了下kafka如何安装使用的,简单看了下,就进行了些实际安装操作。看着在linux服务器上一条条命令执行成功,我心里感到很开心,总算对kafka有了些深入的认识,不再是懵懵懂懂的了解了。当然我会简单描述下自己对kafka的学习与操作。

      kafka是基于发布/订阅的分布式消息系统、数据管道。是一个分布是流数据系统,需要使用Zookeeper进行集群管理。我们可以在https://kafka.apache.org/downloads地址下载二进制版本kafka_2.12-2.7.0.tgz,然后将二进制包放到linux服务器上,使用tar -zxvf kafka_2.12-2.7.0.tgz进行解压缩。解压后的目录结构如下:

    -bin

     -zookeeper-server-start.sh

     -kafka-server.start.sh

     -kafka-topics.sh

     -kafka-console-producer.sh

     -kafka-console-consumer.sh

    -config

     -zookeeper.properties

     -server.properties

    -libs

    -logs
      这个安装包里面是集成了zookeeper的,所以我们可以通过bin/zookeeper-server-start.sh -daemon config/zookeeper.properties启动zookeeper,zookeeper端口是2181.接着用bin/kafka-server-start.sh  -daemon config/server.properties后台启动kafka,端口是9092。

      kafka启动成功后,我们用ps -ef | grep kafka可以看到kafka使用java -cp /home/admin/soft/kafka/kafka_2.12-2.7.0/bin/../libs/kafka_2.12-2.7.0.jar Kafka.kafka config/server.properties来启动的,当然我给的是简写后的命令,实际还包括一些jvm的配置和其他jar包的引入。

      使用bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test命令可以创建单副本单分区的topic主题test。

      使用bin/kafka-topics.sh --list --zookeeper localhost:2181查看所有topic

      使用echo "The first record" | kafka-console-producer.sh --broker-list localhost:9092 --topic test发送消息

      使用echo "The first record" | kafka-console-producer.sh --broker-list localhost:9092 --topic test打印test里的所有消息

      使用bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list查看消费组列表

      使用bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test查看topic详情

      我对kafka的认识与介绍就到这里了。

    能打败我的唯有时间
  • 相关阅读:
    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
    StringBuffer和StringBuilder使用方法比較
    python 多线程编程
    八大排序算法总结
    腾讯面试
    顶尖的个人作品集站点设计赞赏
    MATLAB新手教程
    ThreadPoolExecutor使用介绍
    linux diff具体解释
    Android借助Application重写App的Crash(简易版)
  • 原文地址:https://www.cnblogs.com/caoyonghong/p/14219377.html
Copyright © 2020-2023  润新知