下载地址及参考文献
说明
本文也是按照上面官网的部署进行部署的,而且仅仅是淡季部署,并没有过多不同。后面会将遇到的问题进行说明
环境:
jdk 1.8 server 64位
kafka 2.11
zookeeper:使用kafka包里的zookeeper
本文将kafka安装到D:/software/kafka2.11-1.0.0
1、进入/bin/windows目录
shift+右键选择在此处打开命令行窗口。执行
启动zookeeper,这里我们不做配置修改
2、启动kafka服务
重复上步命令,并执行:
启动时如果出现内存不足提示,一般是什么不能获取足够heap memory 。。。,有以下原因:
- 机器本身内存不足
- jdk版本问题,32位jdk client版,不能获取这么大内存,我们可以修改kafka-server-start.bat,将里面1G改为512m即可,这里是根据操作系统位数来判断jdk版本的。
IF ["%KAFKA_HEAP_OPTS%"] EQU [""] (
rem detect OS architecture
wmic os get osarchitecture | find /i "32-bit" >nul 2>&1
IF NOT ERRORLEVEL 1 (
rem 32-bit OS
set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M
) ELSE (
rem 64-bit OS
set KAFKA_HEAP_OPTS=-Xmx1G -Xms1G
)
)
说明下server.properties:
broker.id=1是集群节点id一般是正数
log.dirs=/tmp/kafka-logs,指定日志输出目录和存储目录
zookeeper.connect=localhost:2181 zookeeper集群地址
3、创建主题
D:\software\kafka_2.11-1.0.0\bin\windows>kafka-topics.bat --create --zookeeper l
ocalhost:2181 --replication-factor 1 --partitions 1 --topic test
查询主题
D:\software\kafka_2.11-1.0.0\bin\windows>kafka-topics.bat --list --zookeeper loc
alhost:2181
创建消息提供者
D:\software\kafka_2.11-1.0.0\bin\windows>kafka-console-producer.bat --broker-l
t localhost:9092 --topic test
创建消费者
D:\software\kafka_2.11-1.0.0\bin\windows>kafka-console-consumer.bat --bootstrap-
server localhost:9092 --topic test --from-beginning
在生产者端发送消息:
4、问题回顾
- 内存不足问题,刚刚已经说过可以通过修改kafka-server-start.bat文件来修改kafka需要的内存大小
- 消费者消费问题,通过kafka官网示例消费消息时,有可能消费不到,而且很快kafka服务器会停机。即
kafka-console-consumer.bat –bootstrap-server localhost:9092 –topic test –from-beginning
执行上面命令会报错,但是执行
kafka-console-consumer.bat –zookeeper localhost:2181 –topic test –from-beginning
时,虽然会提示版本问题,但是依然可以获取到访问消息。
出现该问题的主要原因是由于jdk版本问题。执行
java-version查看版本是否为64位server版,如果不是请执行第二条命令。