1.Kafka高版本服务器已经集成了Zookeeper,Kafka的运行依赖于Zookeeper
2.kafka自带的zookeeper和第三方下载的zookeeper的使用问题
(1)kafka已经自带zookeeper,会不会和自己搭的zookeeper集群起冲突
<1>是不会的,在使用kafka时,你可以自己决定使用哪个zookeeper
<2>使用kafka自带的zookeeper,则可以启动自带的zookeeper脚本服务器
<3>使用第三方下载的zookeeper,找到第三方zookeeper的安装目录的bin目录,启动脚本服务器
(2)在使用Kafka服务之前,不管是自带还是第三方,都必须先启动Zookeeper服务,再启动kafka服务
(3)归根结底就是想用哪个zookeeper就去启动哪个zookeeper就行
3.kafak服务运行依赖JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html
4.下载kafka的程序安装包: 下载二进制文件:http://kafka.apache.org/downloads
5.解压文件提取出里面的文件
(1)bin目录下存放的是程序运行时使用的脚本文件
<1>window平台是一个独立的文件夹里面存放着 .bat 文件
<2>bin的目录下存放的是 Linux 平台使用的 .sh 的shell脚本
(2)config目录下存放的是一些程序运行的配置文件,在后期自定义使用kafka的时候需要修改里面的内容
(3)libs目录是打包好的jar包,
<1>高版本自带了zookeeper的jar包
6.启动kafka服务并测试生产与消费
(1)在kafka根目录下,新建文件夹tmp,
<1>在tmp下再新建两个文件夹zookeeper-logs,kafka-logs
<2>分别用来存放zookeeper,kafka服务产生的日志记录
(2)启动自带的zookeeper服务:
<1>在正常启动zoopkeeper之前需要修改zookeeper.properties的文件内容
<2>将其data的输出目录指定一下,可自行创建一个文件夹如下:
<3>在kafka安装目录下:E:\kafka_2.12-2.3.0\kafka_2.12-2.3.0\bin\windows
<4>空白处按shift+右键打开命令窗口
<5>命令启动zoopkeeper服务器:bin\windows\zookeeper-server-start.bat config\zookeeper.properties
(3)启动第三方下载的zookeeper服务:
<1>下载zookeeper服务安装包,解压
<2>进入zookeeper-3.4.9/conf目录创建zoo.cfg文件(或者修改默认文件名为:zoo.cfg),内容如下:
tickTime=2000
dataDir=/usr/myenv/zookeeper-3.4.8/data(填写自己的data目录)
dataLogDir=/usr/myenv/zookeeper-3.4.8/logs
clientPort=2181
<3>Windows启动zookeeper:zkServer.cmd
(4)启动kfaka服务:
<1>在启动前,仍然需要修改server.properties中log.dir的配置目录
<2>修改后,启动服务:bin\windows\kafka-server-start.bat config\server.properties
(5)创建一个主题:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kjTest
(6)命令查看创建的主题列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
(7)启动生产者:
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic kjTest
(8)启动消费者:
bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic kjTest --from-beginning
7.上述过程总结:
(1)四个命令行窗口
<1>第一个命令窗口->启动zookeeper服务:
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
<2>第二个命令窗口->启动kfaka服务:
bin\windows\kafka-server-start.bat config\server.properties
<3>第三个命令窗口->启动启produce:
1.创建一个主题:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic ydc1Test
2.使用如下命令查看创建的主题列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
3.启动生产者:
bin\windows\kafka-console-producer.bat --broker-list 192.168.51.41:9092 --topic ydc1Test
<4>第四个命令窗口->启动consumer:
bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic ydc1Test --from-beginning
(2)produce启动的时候,参数使用的是kafka的端口(默认:9092)
(3)consumer启动的时候使用的是zookeeper(默认:2181)的端口
(4)必须先创建topic才能使用
(5)topic本质是以文件的形式储存在zookeeper上的
(6)还可以启动多个集群服务,同时进行操作,修改server.properties中的内容:便可启动,与上相似
8.Java:测试kafka生产和消费:https://blog.csdn.net/honglei915/article/details/37563647