如何快速学习分布式消息队列?kafka速成教程。
原标题:如何快速学习分布式消息队列?kafka速成教程。kafka目前是舒勇最广泛的分布式消息队列,本文将对kafka作出详细介绍,并且讲述如何操作kafka,下面就开始本次的kafuka教程请点击输入图片描述这些场景的共同点就是数据由上层框架产生,需要由下层框架计算,其中间层就需要有一个消息队列传输系统请点击输入图片描述请点击输入图片描述Apache flume系统,用于日志收集Apache storm系统,用于实时数据处理Spark系统,用于内存数据处理elasticsearch系统,用于全文检索请点击输入图片描述请点击输入图片描述请点击输入图片描述请点击输入图片描述broker中每个partition都会有备份,可自行设置,前端程序和读取数据的程序都可以是自己写的程序或者是各类框架,例如hadoop,flume搭建集群:请点击输入图片描述kafka的包需要事先下载好,zookeeper环境搭建之前已经做过介绍:请点击输入图片描述新建一个目录专门给kafka使用,这样方便管理,先解压每个服务器的kafka,然后在kafka目录下新建一个Log文件夹,用于存放kafka的消息请点击输入图片描述进入kafka的配置目录,发现还有zookeeper配置文件,kafka集群可以通过zookeeper启动,但是一般通过自己独立的启动方式启动首先关注server.properties配置文件请点击输入图片描述当前服务器集群ip分别为10.206.216.13,10.206.212.14,10.46.189.18id为每个服务器的唯一参数,默认端口9092,为了防止会发生冲突,可以将端口设置比较大一点hostname为服务器ip地址,一般该参数是关闭的,在0.8.1中有bug,默认参数是localhost,kafka在解析dns的时候会解析成ip,会有失败率,因此打开,之后的版本已经修复该bug。若修改了hosts名称也可以直接写名称:请点击输入图片描述之后配置如下三项:分别为消息put字节数组大小,消息备份数和消息pull字节数组大小,图中两个字节数组大小都为5M请点击输入图片描述之后配置zookeeper集群地址,zookeeper集群默认端口为2181,为了防止端口冲突,可以改为12181,该操作可有可无:请点击输入图片描述配置log路径,若有多个可用逗号分隔,如果有多个的话,那num.io.threads参数的值必须大于配置路径的个数:请点击输入图片描述在每台服务器都配置完毕后,分别启动kafka集群:请点击输入图片描述之后验证有没有错误:先在集群上建立topic,即消息发送方,然后设置一台服务器为消息发送方producer,设置另一台服务器为consumer订阅该服务器:请点击输入图片描述请点击输入图片描述请点击输入图片描述在producer中发送hello消息,然后在consumer中可立即收到:请点击输入图片描述请点击输入图片描述之后还有list指令和descrip指令,分别用于列出所有的topic和某个topic的描述,之后还有许多指令,需要查看官方文档:请点击输入图片描述进入zookeeper命令行之后,发现有如下目录被创建:请点击输入图片描述请点击输入图片描述
如何快速学习分布式消息队列?kafka速成教程。