一、下载zookeeper、kafka安装包:
1、 zookeeper: http://zookeeper.apache.org/releases.html(下载:apache-zookeeper-3.5.5.tar.gz)
2、 kafka: http://kafka.apache.org/downloads.html(下载:kafka_2.11-2.2.1.tgz)
如果找不到zookeeper下载地方,也可以直接进入:http://us.mirrors.quenda.co/apache/进行下载。
二、解压zookeeper到指定盘,我们解压到D盘。
三、修改zookeeper配置文件。
拷贝D:\apache-zookeeper-3.5.5\conf\zoo_sample.cfg,重命名为zoo.cfg,并修改参数:
dataDir= E://data//logs//zookeeper
dataLogDir= E://data//logs//zookeeper
把日志路径、数据路径指向E盘我们创建好的文件夹
四、修改系统环境变量,右键我的电脑,添加系统变量参数:
ZOOKEEPER_HOME: D:\apache-zookeeper-3.5.5
Path: %ZOOKEEPER_HOME%\bin
五、解压kafka到指定盘,我们解压到D盘。(同上)
六、修改kafka配置文件。
修改D:\kafka_2.11-2.2.1\config\server.properties
log.dirs=E://data//logs//kafka
zookeeper.connect=127.0.0.1:2181
修改D:\kafka_2.11-2.2.1\config\zookeeper.properties
dataDir=E://data//logs//kafka//kafka-zk
七、添加kafka系统环境变量
KAFKA_HOME:D:\kafka_2.11-2.2.1
Path: %KAFKA_HOME%\bin\windows
八、启动zk\kafka,开启cmd\Windows PowerShell,启动zookeeper
执行zkServer.cmd,不用关闭
新开启一个窗口执行:kafka-server-start.batD:\kafka_2.11-2.2.1\config\server.properties
说明已经启动成功。
九、kafka-topic基本操作:
创建一个topic:
kafka-topics.bat --create --zookeeperlocalhost:2181 --replication-factor 1 --partitions 3 --topic test
打开一个Producer:
kafka-console-producer.bat --broker-listlocalhost:9092 --topic test
打开一个Consumer:
kafka-console-consumer.bat --bootstrap-serverlocalhost:9092 --from-beginning --topic test
查看所有topic:
kafka-topics.bat --zookeeper localhost:2181--list
查看指定topic信息:
kafka-topics.bat --zookeeper localhost:2181--describe --topic test
查看topic某分区偏移量最大(小)值:
kafka-run-class.bat kafka.tools.GetOffsetShell--topic test --time -1 --broker-list localhost:9092 --partitions 0
删除topic(只会删除zookeeper中的元数据,消息文件须手动删除) 慎用:
kafka-topics.bat --delete --zookeeper localhost:2181--topic test
kafka-topics.bat kafka.admin.DeleteTopicCommand--zookeeper localhost:2181 --delete --topic test
十、遇到的几个错误:
错误1:错误: 找不到或无法加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain
原因:缺少zookeeperjar包,从zookeeper里面把jar包找到并添加到
错误2:Exception in thread "main"java.lang.UnsupportedClassVersionError: org/apache/zookeeper/server/quorum/QuorumPeerMain: Unsupported major.minor version 52.0
原因:java版本不对,更新java版本到指定的java版本。我使用的是jdk1.8
错误3:Kafka启动显示连接问题
原因:kafka的配置文件是默认localhost,需要改成ip
错误4:监听异常,显示没有匹配监听
原因:需要配置监听,设置host
listeners=PLAINTEXT://127.0.0.1:9092
advertised.listeners=PLAINTEXT://127.0.0.1:9092
错误5:LEADER_NOT_AVAILABLE}(org.apache.kafka.clients.NetworkClient)显示leader不可用。
原因:经查询发现报错Leader: None; AssignedReplicas: ; InSyncReplicas: in dir None (kafka.server.ReplicaManager),再查询服务日志,发现日志路径写错了,kafka无法识别日志路径:E:\data\logs\kafka 这个格式系统无法识别,需要改成:E://data//logs//kafka