kafka安装及配置

操作系统:Windows 10

jdk版本:jdk1.8.0_181

kafka版本:kafka_2.11-2.0.0.tgz

需要导入注册表,使之能够右击鼠标 在当前位置打开cmd命令窗口。

注册表文件:OpenCmdHere.reg直接运行即可

PS:我原本用jdk1.8.0_065的时候,kafka能够启动起来,但进行生产者生产消息,消费者消费就会报错。搞了好久换了上面的jdk
1.8才好。版本问题很头疼

如果要兼容jdk1.7,请使用kafka 0.9版本


1、下载及解压
至官方网站下载kafka编译后的二进制包:http://kafka.apache.org/downloads,此处以2.0.0版本为例,下载kafka_2.11-2.0.0.tgz
将下载压缩包保存至任意文件夹中,并解压压缩包

2、配置
kafka自带的zookeeper配置位于:config/zookeeper.properties,默认无需修改,配置中clientPort=2181指定了zookeeper运行的端口,如需修改请自行调整
kafka的配置位于:config/server.properties,默认无需修改,配置中zookeeper.connect=localhost:2181指定了zookeeper服务地址,如需修改请自行调整

3、启动

直接运行上面的注册表后,进入kafka目录,右击鼠标在当前位置打开cmd命令窗口接着执行以下名称。

启动自带的zookeeper(打开新cmd窗口):
    bin\windows\zookeeper-server-start.bat config\zookeeper.properties

启动kafka(打开新cmd窗口):
    bin\windows\kafka-server-start.bat config\server.properties

创建主题(打开新cmd窗口):
    bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看主题::

    bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

启动producter(打开新cmd窗口):
    bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

启动consumer(打开新cmd窗口):
0.9之后版本:
    bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
0.9版本    
    bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

在生产者窗口中输入内容回车后,消费者窗口中会立即出现对应的内容

4.启动kafka时报错解决办法:

报错信息解决办法
'wmic' 不是内部或外部命令,也不是可运行的程序或批处理文件。修改kafka-server-start.bat文件第28行,在wmic前加上C:\windows\system32\wbem\
ERROR Failed to clean up log for __consumer_offsets-31 in dir C:\tmp\kafka-logs due to IOException (kafka.server.LogDirFailureChannel)
java.nio.file.FileSystemException: C:\tmp\kafka-logs\__consumer_offsets-31\00000000000000000000.log.cleaned -> C:\tmp\kafka-logs\__consumer_offsets-31\00000
000000000000000.log.swap: 另一个程序正在使用此文件,进程无法访问。
删除C:\tmp\kafka-logs文件夹后重新启动

5.其他配置

kafka默认配置文件中已启用了消息日志清理策略,默认策略为7天(168小时)或1G(1073741824),无论哪个条件达到都触发清理:

log.retention.hours=168
log.segment.bytes=1073741824

linux下修改kafka运行日志:

kafka运行日志(此日志非上段内容中的日志,上段内容中的日志指的是消息队列数据,可以在server.properties中通过log.dir=配置,如启用了清理策略则体积不会太大)保存在安装目录下的logs,由于kafka会产生大量日志,建议修改日志保存路径,修改bin/kafka-run-class.sh,在对应代码段添加LOG_DIR=xxx,如:

# Log directory to use
LOG_DIR=/data/kafka/logs
if [ "x$LOG_DIR" = "x" ]; then
  LOG_DIR="$base_dir/logs"
fi

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值