美文网首页
Kafka集群安装

Kafka集群安装

作者: jerrik | 来源:发表于2018-11-05 22:21 被阅读0次
一、引言

现在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

如图:


image.png
image.png
六、参数解释

--topic 指定要创建的topic名;
--zookeeper指定zk,可以指定多个,以逗号隔开;
--replication-factor控制集群副本数,如果是2,则表示创建1个副本(加上自己的那一份数据就位2)
--partitions 表示分区数;kafka利用partition机制实现了数据的分片
--broker-list:发送消息时指定的broker名(可以指定多个)
--bootstrap-server:消费消息时指定的broker名
--from-beginning:表示从头开始消费

七、总结

本文只是简单的介绍下安装过程,加上自己最近才接触kafka,里面不懂的东西并没有介绍,还请多多担待!不过后面会慢慢出一下kafka相关的j文章,还请多关注!

相关文章

网友评论

      本文标题:Kafka集群安装

      本文链接:https://www.haomeiwen.com/subject/wruexqtx.html