KaFuKa简单应用「建议收藏」

KaFuKa简单应用「建议收藏」3.安装:kafka_2.10(scala)0.10.0.1(kafka)a.安装kafka_2.10-0.10.0.1.tgzb.复制至{/home/crx/soft}$>cp/mnt/hgfs/2.安装环境/download/apache-kafka/kafka_2.10-0.10.0.1.tgz/home/crx/soft/c.解压$>tar-zxvfkafka_2.10-0.10.0.1.tgz$>rmkaf

大家好,又见面了,我是你们的朋友全栈君。

3.安装:kafka_2.10(scala)  0.10.0.1(kafka)
   a.安装kafka_2.10-0.10.0.1.tgz
   b.复制至{/home/crx/soft}
      $>cp /mnt/hgfs/2.安装环境/download/apache-kafka/kafka_2.10-0.10.0.1.tgz /home/crx/soft/
   c.解压
      $>tar -zxvf kafka_2.10-0.10.0.1.tgz 
  $>rm kafka_2.10-0.10.0.1.tgz 
      $>ln -s kafka_2.10-0.10.0.1/ kafka
   d.修改环境变量,追加
      $>gedit ~/.bash_profile
	#Kafka install
	export KAFKA_HOME=/home/crx/soft/kafka
	export PATH=$KAFKA_HOME/bin:$PATH
      $>source ~/.bash_profile
   e.安装完成!  (最好重启虚拟机,否则每开启一个.sh前都需要source)

bin目录下:
kafka-topics.sh 分类  kafa-console-consumer.sh 消费者   kafka-console-producer.sh 生产者

单节点–单Broker集群

1.开启zookeeper
  $>zookeeper-server-start.sh /home/crx/soft/kafka/config/zookeeper.properties 
  $>jps
	4264 Jps
	3178 QuorumPeerMain   (在另一个窗口打开查看)
 
自动创建路径
dataDir=/tmp/zookeeper  (原zookeeper在/home/crx/tmp/zookeeper)
clientPort=2181 
maxClientCnxns=0


2.开启Broker
  参照{KAFKA_HOME/config/server.properties}
     broker.id=0                          //必须为整数;brokerID理解为分区号
     log.dirs=/home/crx/tmp/kafka-logs   //【修改】消息存放位置
     zookeeper.connect=localhost:2181      //注册zookeeper
  $>kafka-server-start.sh /home/crx/soft/kafka/config/server.properties
  $>jps
	3424 Kafka  -->【Broker守护进程】
	4264 Jps
	3178 QuorumPeerMain




3.创建主题
	--zookeeper参数设置;
	如果使用了--zookeeper参数,那么consumer的信息将会存放在zk之中 
	查看的方法是使用./zookeeper-client,ls /consumers/[group_id]/

	--bootstrap-server参数设置
	如果使用了--bootstrap-server参数,那么consumer的信息将会存放在kafka之中

  创建主题 分区是1,副本是1:
  $>kafka-topics.sh --create --topic test --zookeeper localhost:2181 --partitions 1 --replication-factor 1
  reated topic "test".
  
  list topic命令查看主题
  $>kafka-topics.sh --list --zookeeper localhost:2181
	test

  zk客户端查看:
  $>zkCli.sh
  [zk: localhost:2181(CONNECTED) 1] ls /brokers/topics
  [test]
  作用:1.在Zookeeper中注册topic节点;
        2.在【broker-->log.dirs属性】目录创建toptic主题
		查看tmp下生成的日志信息,消息是按照主题分类的
		[crx@master tmp]$ ll
		total 28
		drwxrwxr-x. 3 crx crx 4096 Jan 12 15:22 kafka-logs
		
		[crx@master tmp]$ cd kafka-logs/
		[crx@master kafka-logs]$ ls
		recovery-point-offset-checkpoint  replication-offset-checkpoint  test-0


		[crx@master kafka-logs]$ cd test-0/
		[crx@master test-0]$ ls
		00000000000000000000.index  00000000000000000000.log
		
		Segment file组成:由2大部分组成,分别为index file和data file,
		此2个文件一一对应,成对出现,后缀".index"和“.log”分别表示为segment索引文件、数据文件
		
		Segment文件命名规则:
		partion全局的第一个segment从0开始,后续每个segment文件名为上一个segment文件最后一条消息
		的offset值。数值最大为64位long大小,19位数字字符长度,没有数字用0填充。
		
		
		
4.开启生产者producer
  $>kafka-console-producer.sh --topic test --broker-list localhost:9092
  $>jps
	3424 Kafka
	4770 Jps
	4531 ConsoleProducer
	3178 QuorumPeerMain
   作用:开启守护进程ConsoleProducer

5.开启消费者
  $>kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning   注:此处的beginning不加的话会看不到开启此消费者之前的消息
  $>jps
	3424 Kafka
	5521 Jps
	4531 ConsoleProducer
	5270 ConsoleConsumer
	3178 QuorumPeerMain
  作用:开启守护进程ConsoleConsumer

6.在producer(生产者一端)发送消息
   producer>hello world
   consumer>hello world


$>cat 00000000000000000000.log

总结:生产者可以按主题生产数据, 互不干扰 将数据存储到broker中
  消费者没有时候,也可以生产产品,当有消费者时,如订阅号那么会将历史消息, 
  主题消息都能收到 可以重复消费
  kafka消息是主动拉取消息,而不是broker主动发送消息,消费者把消息存在zookeeper中
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134196.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)

    WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)使用WinHttpRequest伪造HTTP头信息,伪造Referer等信息由于微软封锁了XmlHttp对象,所以无法伪造部分HTTP头信息,但是WinHttp.WinHttpRequest.5.1对象,它居然用可以成功伪造所有http请求的header信息!从msdn得知,WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XML

    2022年7月11日
    21
  • 三十岁以上的男人才会用到的网站,不浮夸这是真的

    三十岁以上的男人才会用到的网站,不浮夸这是真的三十岁以上的男人其实已经经历过很多多岁月了,无论是工作、社交、还是家庭都应该是得心应手的。但是未必所有三十岁的男人都用到过下面这些网站。PPT素材类优品PPT我们可以免费PPT模板下载网站!企帮

    2022年7月3日
    31
  • idea全文搜索快捷键_idea搜索方法快捷键

    idea全文搜索快捷键_idea搜索方法快捷键1、Ctrl+N按名字搜索类相当于eclipse的ctrl+shift+R,输入类名可以定位到这个类文件,就像idea在其它的搜索部分的表现一样,搜索类名也能对你所要搜索的内容多个部分进行匹配,而且如果能匹配的自己写的类,优先匹配自己写的类,甚至不是自己写的类也能搜索。2、Ctrl+Shift+N按文件名搜索文件同搜索类类似,只不过可以匹配所有类型的文件了。3、Ctrl+H查看类的继承关系,例如HashMap的父类是AbstractMap,子类则有一大堆。4、Ctrl+Alt+B查看

    2022年8月30日
    4
  • shell脚本之awk数组

    shell脚本之awk数组一.数组格式数组是一个包含一系列元素的表.格式如下:abc[1]=”xiaohong”abc[2]=”xiaolan”解释:abc:为数组名称[1]、[2]:为数组元素下标,可以理解为数组的第1个元素、数组的第2个元素xiaohong、xiaolan:元素值例子1:定义数组,并且打印数组元素[root@tab0~]#awk’BEGIN{a[0]=”xiaohong”;a[1]=”xiaolan”;printa[0]}’xiaohong[root@tab0~]#awk

    2022年7月19日
    21
  • 备忘录模式实例_iphone语音备忘录无法分享

    备忘录模式实例_iphone语音备忘录无法分享备忘录模式 Motivation动机模式定义实例结构要点总结笔记动机在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯对象之前处于某个点时的状态.如果使用一些共有接口来让其他对象得到对象的状态,便会暴露对象的实现细节.如何实现对象状态的良好保存与回复?但同时又不会因此而破坏对象的封装性模式定义在不破坏封装性的前提下.捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态实例朴素class Memento{ stri

    2022年8月9日
    6
  • c++ system()和WinExec()的区别[通俗易懂]

    c++ system()和WinExec()的区别[通俗易懂]区别1.system是c库的函数WinExec是windows函数区别2.system有一个参数,是命令行Winexec有两个参数,一个是命令行,一个是窗口显示区别3.虽然两个都是命令行,但有很大的区别Winexec的命令行参数一般是一个外部程序的路径加给这个程序的参数,如Winexec("D:\\notepad.exe1.txt",WM_SHOWWINDOW);system的命令行参数其实是给…

    2022年7月11日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号