就是要发送的内容

时间:2021-08-29 08:27:26

标签:

一、简介

Kafka 是一个实现了漫衍式的、具有分区、以及复制的日志的一个处事。它通过一套奇特的设计供给了动静系统中间件的成果。它是一种颁布订阅成果的动静系统。

1、名词介绍

Message

动静,就是要发送的内容,一般包装成一个动静东西。

Topic

通俗来讲的话,就是安排“动静”的处所,也就是说动静投递的一个容器。假如把动静看作是信封的话,那么 Topic 就是一个邮箱 

Partition && Log

Partition 分区,可以理解为一个逻辑上的分区,像是我们电脑的磁盘 C:, D:, E: 盘一样,

Kafka 为每个分区维护着一份日志Log文件。

Producers(出产者)

和其他动静行列队伍一样,出产者凡是都是动静的孕育产生方。

在 Kafka 中它决定动静发送到指定Topic的哪个分区上。

Consumers(消费者)

消费者就是动静的使用者,在消费者端也有几个名词需要区分一下。

一般动静行列队伍有两种模式的消费方法,分袂是 行列队伍模式 和 订阅模式

行列队伍模式:一对一,就是一个动静只能被一个消费者消费,不能反复消费。一般情况行列队伍撑持存在多个消费者,但是对付一个动静,只会有一个消费者可以消费它。

订阅模式:一对多,一个动静可能被多次消费,动静出产者将动静颁布到Topic中,只要是订阅改Topic的消费者都可以消费。

二、安置zookeeper 1、简介

Kafka使用zookeeper作为其漫衍式协调框架,很好的将动静出产、动静存储、动静消费的过程结合在一起。同时借助zookeeper,kafka能够出产者、消费者和broker在内的所以组件在无状态的情况下,成立起出产者和消费者的订阅关系,并实现出产者与消费者的负载均衡。

2、下载zookeeper

可以到zookeeper官网下载

3、配置zookeeper

(1)下载解压完成后,,来到conf文件夹下,有一个 zoo_sample.cfg 官方默认的配置文件。复制一份,重定名为 zoo.cfg

(2)配置,打开zoo.cfg 改削配置信息

#存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。 dataDir=../zkData #日志文件的位置 dataLogDir=../zkLog #监听端口 clientPort=2181

(3)集群配置

server.1=127.0.0.1:12888:1388 server.2=127.0.0.1:12889:1389 server.3=127.0.0.1:12887:1387

格局: server.A = B:C:D

A:是一个数字,暗示第几号处事器

B:处事器IP地点

C:是一个端标语,用来集群成员的信息交换,暗示这个处事器与集群中的leader处事器交换信息的端口

D:是在leader挂失时专门用来进行选举leader所用的端口

 完整的配置文件如下 

就是要发送的内容

复制两份zookeeper解压好配置后的文件夹,定名为

就是要发送的内容

在对应的文件下下面改削zoo.cfg的监听端口地点

好比:

 

第一个zookeeper-3.4.6措施 改削zoo.cfg 配置文件

clientPort=2181

第二个zookeeper-3.4.6-2措施 改削zoo.cfg 配置文件

clientPort=2182

第三个zookeeper-3.4.6-2措施 改削zoo.cfg 配置文件

clientPort=2183

创建ServerID

在配置的dataDir目录下面新建一个 myid 文件,文件内容就是对应的id号,

好比: 

zookeeper-3.4.6措施 myid 文件的内容 为 1

zookeeper-3.4.6-2措施 myid 文件的内容 为 2

zookeeper-3.4.6-3措施 myid 文件的内容 为 3

我这边配置的目录是

就是要发送的内容

启动zookeeper

在对应的bin目录下启动

zkServer.cmd

三、安置kafka (1)下载

去官网 下载即可 这边下载的是

https://www.apache.org/dyn/closer.cgi?path=http://www.mamicode.com/kafka/0.8.2.2/kafka_2.9.2-0.8.2.2.tgz

这个版本

(2)配置

解压后到config文件夹下 打开server.properties配置文件进行配置

(3)配置内容

改削或新增以下配置信息 

#独一标识 broker.id=0 #监听端口 port=9092 host.name=127.0.0.1 #动静最大巨细 message.max.bytes=50485760 #配置副本数量 default.replication.factor=2 #获取的最大巨细 replica.fetch.max.bytes=50485760 #行列队伍中动静长期化存放的位置,可以多个目录,用逗号分隔 log.dirs=http://www.mamicode.com/tmp/kafka-logs #默认的分区数 num.partitions=2 #对应着刚刚配置的zookeeper的三个ip与端口地点 zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

 

(4)集群配置

复制两份解压后的文件,定名如下

就是要发送的内容

改削部分配置信息

对应的server.properties中改削

#独一标识

broker.id=0

broker.id=1

broker.id=2

#监听端口 

port=9092

port=9093

port=9094

启动对应的kafka

进入到bin/windows目录下 启动kafka并指定配置文件

kafka-server-start.bat ../../config/server.properties

启动过程中如果遇到Kafka中错误:

Unrecognized VM option ‘UseCompressedOops’ Error: Clould not create the Java Vritual Machine. Error: A fatal exception has occurres . Program will exit.

解决方案:

找到bin/windows/kafka-run-class.bat 文件,

找到112行摆布