Linux环境下安装部署zookeeper、kafka目录
zookeeper和kafka压缩包_linux
kafka需要依赖zookeeper,kafka内部自带的也有zookeeper,但是我们使用自己安装的zookeeper。
注意:zookeeper和kafka的版本要是对应的,具体的可百度查一下。
这里kafka0.11.0.0对应的zookeeper版本就是zookeeper-3.4.10。
zookeeper-3.4.10.tar.gz
zookeeper网盘密码: idjs
kafka_2.11-0.11.0.0.tgz安装包
kafka网盘密码: 9m2t
安装zookeeper
将zookeeper压缩包上传到Linux的/usr/local文件夹下
解压
执行命令:tar -zxvf zookeeper-3.4.10.tar.gz
进入conf文件夹下复制zoo_sample.cfg文件,将副本重命名为zoo.cfg。
在zookeeper下新建/data/myid 文件 写入 0 。
注意:conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字。
修改zookeeper配置文件
编辑zoo.cfg文件:
主要更改的是这三处。
dataDir=/usr/local/zookeeper-3.4.10/data
dataLogDir=/usr/local/zookeeper-3.4.10/logs
server.0=192.168.103.10:2888:3888
如果不配置dataLogDir,那么事务日志也会写在dataDir目录中。这样会严重影响zk的性能。因为在zk吞吐量很高的时候,产生的事务日志和快照日志太多。
2888为选举端口,3888为心跳端口
启动zookeeper
bin目录下执行:./zkServer.sh start
关闭zookeeper
bin目录下执行:./zkServer.sh stop
安装akfka
将zookeeper压缩包上传到Linux的/usr/local文件夹下
解压
执行命令:tar -zxvf kafka_2.11-0.11.0.0.tgz
修改kafka配置文件
需要配置的地方如下:
启动kafka
注意:
启动kafka时,要先启动zookeeper,
关闭zookeeper时要先关闭kafka。
进入bin目录执行:
后台启动:./kafka-server-start.sh -daemon ../config/server.properties
(加上 -daemon 就是后台启动)
可以通过命令jps查看Zookeeper进程和kafka进程:
关闭kafka
关闭:./kafka-server-stop.sh
Kafka常用命令行
创建主题:
./kafka-topics.sh --create --zookeeper 192.168.103.10:2181 --topic hw_data --partitions 2 --replication-factor 1
查看主题:
./kafka-topics.sh --list --zookeeper 192.168.103.10:2181
查看主题详情:
./kafka-topics.sh --describe --topic hw_data --zookeeper 192.168.103.10:2181
生产消息:
./kafka-console-producer.sh --broker-list 192.168.103.10:9092 --topic first
以上两种都可以
–topic 指定发送的主题
–broker-list 192.168.103.10:9092 指定zookeeper
消费消息:
旧版本:
./kafka-console-consumer.sh --zookeeper 192.168.103.10:2181 --topic first --from-beginning
报错提示: zookeeper is not a recognized option说使用 --zookeeper是一个过时的方法新版本
./kafka-console-consumer.sh --bootstrap-server 192.168.103.10:9092 --topic hw_data --from-beginning
topic 指定消费的主题
beginning 从开始获得消息
启动报错
有的启动可能会出现这个错误:
错误原因:
Kafka默认使用-Xmx1G -Xms1G的JVM内存配置,如果机器内存较小,需要调整启动配置。
解决办法:
打开/bin/kafka-server-start.sh,修改
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
为适合当前服务器的配置,例如export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
下一篇是Spring项目整合Kafka:
Spring项目整合kafka_xml配置文件
还有SpringBoot项目整合Kafka:
SpringBoot项目整合Kafka
有需要的同学可以看一下。