一、引言
现在Kafka已经成了大多数公司大数据处理、日志收集、流式处理等不可或缺的中间件了,所以非常有必要对kafka有一个系统的认识。今天是入门篇,简单介绍下kafka集群的安装。
二、环境准备
- 三台虚拟机
- zookeeper-3.4.10.tar.gz
- kafka_2.12-2.0.0.tgz(最新版)
三、安装zk集群
1.tar -zxvf zookeeper-3.4.10.tar.gz 解压目录
2.cd zookeeper-3.4.10/conf,将配置文件修改成zoo.cfg
3.配置zk日志目录 dataDir=/data/zk
4.配置zk 节点信息(server.*这里的*不能相同,唯一标识这个节点):
server.1=192.168.1.13:2888:3888
server.2=192.168.1.14:2888:3888
server.3=192.168.1.15:2888:3888
5.在dataDir配置目录下新增myid文件,文件内容就为server.*中的数字
6.通过scp将配置复制到其他节点,修改myid中的值为对应的值即可。
7.启动zk ./zkServer.sh start &
zk集群就已经搭建好了,下面开始安装kafka集群。
四、安装kafka集群
1.解压kafka_2.12-2.0.0.tar.gz
2.cd kafka_2.12-2.0.0/config;
3.修改server.properties配置
# 节点id,不要重复
broker.id=0
#用于集群间通信(注意:发送消息时broker必须使用该ip,如果指定localhost会报broker不可用;9092是broker的端口号)
listeners=PLAINTEXT://192.168.1.13:9092
# kafka持久化日志目录
log.dirs=/tmp/kafka-logs
#zk集群,以逗号隔开
zookeeper.connect=192.168.1.13:2181,192.168.1.14:2181,192.168.1.15:2181
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000
4.然后修改其它kafka的配置
broker.id不能相同(分别为0,1,2即可)
listeners修改成对应的ip
5.分别启动节点
./kafka-server-start.sh ../config/server.properties &
这样kafka集群就已经安装好了.
五、测试
1.创建topic
./kafka-topics.sh --create --topic secondTopic --zookeeper localhost:2181 --replication-factor 1 --partitions 1
2.发送消息
./kafka-console-producer.sh --broker-list 192.168.1.13:9092 --topic secondTopic
3.接收消息
./kafka-console-producer.sh --bootstrap-server 192.168.1.13:9092 --topic secondTopic --from-beginning
如图:
![](https://img.haomeiwen.com/i7928684/6fc807ac9fdd02f2.png)
![](https://img.haomeiwen.com/i7928684/fb65805ee8efa159.png)
六、参数解释
--topic 指定要创建的topic名;
--zookeeper指定zk,可以指定多个,以逗号隔开;
--replication-factor控制集群副本数,如果是2,则表示创建1个副本(加上自己的那一份数据就位2)
--partitions 表示分区数;kafka利用partition机制实现了数据的分片
--broker-list:发送消息时指定的broker名(可以指定多个)
--bootstrap-server:消费消息时指定的broker名
--from-beginning:表示从头开始消费
七、总结
本文只是简单的介绍下安装过程,加上自己最近才接触kafka,里面不懂的东西并没有介绍,还请多多担待!不过后面会慢慢出一下kafka相关的j文章,还请多关注!
网友评论