首先如图:





kafka windows 注册服务_kafka windows 注册服务



我搭建的时候先搭建的Zookeeper,然后再搭建Kafka;


1:下载zookeeper和kafka的安装包; 

 

  解压 

 

  2;解压后文件是 zookeeper-3.5.3;复制两份; 

 

  3:修改conf目录下面zoo.cfg文件; 

 

  zookeeper-3.5.3.1配置文件: 

 

  # The number of milliseconds of each tick 

 

  tickTime=2000 

 

  # The number of ticks that the initial 

 

  # synchronization phase can take 

 

  initLimit=10 

 

  # The number of ticks that can pass between 

 

  # sending a request and getting an acknowledgement 

 

  syncLimit=5 

 

  # the directory where the snapshot is stored. 

 

  # do not use /tmp for storage, /tmp here is just 

 

  # example sakes. 

 

  #dataDir=/tmp/zookeeper 

 
#修改数据文件路径
 
dataDir=D:\\zookeeper\\zookeeper-3.5.3.1\\zkdata
 
#修改日记文件路径
 
dataLogDir=D:\\zookeeper\\zookeeper-3.5.3.1\\zkdatalog
 

  # the port at which the clients will connect 

 
#一共3个zookeeper所以对应的端口号是不一样的 我这边是 2181,2182,2183
 
clientPort=2181
 

  # the maximum number of client connections. 

 

  # increase this if you need to handle more clients 

 

  #maxClientCnxns=60 

 

  # 

 

  # Be sure to read the maintenance section of the 

 

  # administrator guide before turning on autopurge. 

 

  # 

 

  # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance 

 

  # 

 

  # The number of snapshots to retain in dataDir 

 

  #autopurge.snapRetainCount=3 

 

  # Purge task interval in hours 

 

  # Set to "0" to disable auto purge feature 

 

  #autopurge.purgeInterval=1 

 

  #集群环境中有多个zookeeper 

 
server.1=127.0.0.1:12888:1381
 
server.2=127.0.0.1:12889:1382
 
server.3=127.0.0.1:12887:1383
 

  zookeeper-3.5.3.2配置文件:




kafka windows 注册服务_配置文件_02


zookeeper-3.5.3.3配置文件:



kafka windows 注册服务_kafka windows 注册服务_03


注意此处的dataDir路径和dataLogDir路径,如果项目中没有,建议自己创建好该目录;我是建在zookeeper里面的;


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


例如


程序 myid 文件的内容 为 1


程序 myid 文件的内容 为 2


程序 myid 文件的内容 为 3


如图:



kafka windows 注册服务_配置文件_04




忽略此处的version-2,这是服务启动之后生成的文件;



4:启动zookeeper


在对应的bin目录下启动


zkServer.cmd



5:安装kafka;


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


我的目录



kafka windows 注册服务_zookeeper_05


kafka_2.11-1.1.0.1的配置文件 server.properties;

#唯一标识
 
broker.id=1
 
#监听端口   如果没有直接加 port 和 host.name
 
port=9091 
 
host.name=127.0.0.1
 
#消息最大大小
 
message.max.bytes=50485760
 
#配置副本数量
 
default.replication.factor=2
 
#获取的最大大小
 
replica.fetch.max.bytes=50485760
 
#队列中消息持久化存放的位置,可以多个目录,用逗号分开,  如果你是一台机器搭建的,建议修改这个目录,我这边:
 
log.dirs=/tmp/kafka-logs
 
#默认的分区数
 
num.partitions=2
 
#对应着刚刚配置的zookeeper的三个ip与端口地址;   主要此处的2181对应的是:zookeeper配置文件中的:  clientPort 端口号
 
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
 
  
 
6:在  对应  的server.properties中修改
 
#唯一标识
 
broker.id=1
 
broker.id=2
 
broker.id=3
 
#监听端口   
 
port=9091
 
port=9092
 
port=9093


7:启动对应的kafka


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


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



(1):如果报错:[Kafka][错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_101\lib\dt.jar;C:\Program]


请参考: 中,先看解决办法2,不行看1;



log.dirs=/tmp/kafka-logs的问题,上面我提到了,


建议


参考地址:



8:测试集群


(1)创建一个 topic


kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test


 


(2)查看是否创建成功


kafka-topics.bat --list --zookeeper localhost:2181


 


(3)发送消息


kafka-console-producer.bat --broker-list localhost:9092 --topic testThis is a message


 

kafka windows 注册服务_zookeeper_06


(4)接收消息


kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning


 

kafka windows 注册服务_kafka windows 注册服务_07



不同客户端能接收到消息,说明配置成功;




参考的学习资料地址:




在此基础上稍作详解;