KafKa - 集群模式搭建

一、Kafka简介

Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Kafka并没有遵循JMS规范,它只提供了发布和订阅通讯方式。

kafka中文官网:http://kafka.apachecn.org/quickstart.html

二、Kafka相关名称

  1. Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群
  2. Topic:一类消息,消息存放的目录即主题,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发
  3. massage: Kafka中最基本的传递对象。
  4. Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列
  5. Segment:partition物理上由多个segment组成,每个Segment存着message信息
  6. Producer : 生产者,生产message发送到topic
  7. Consumer : 消费者,订阅topic并消费message, consumer作为一个线程来消费
  8. Consumer Group:消费者组,一个Consumer Group包含多个consumer
  9. Offset:偏移量,理解为消息partition中的索引即可

三、Zookeeper集群搭建

由于Kafka依赖于Zk,因此搭建Kafka环境需先搭建Zk集群环境。

主机ip
主机一192.168.159.128
主机二192.168.159.129
主机三192.168.159.130
  1. 下载Zookpper

https://download.csdn.net/download/qq_43692950/13451478

将下载后的Zookpeer上传至每台服务器。

  1. 解压安装包
tar -zxvf zookeeper-3.4.10.tar.gz
  1. 在解压后zookeeper-3.4.10目录下新建data目录,并新建myid,里面内容填写当前主机id,我是三台服务器的集群,id就为0,1,2
mkidr data
cd data
nano myid

在这里插入图片描述

  1. 将zookeeper-3.4.10/conf下的zoo_sample.cfg重命名为zoo.cfg。
    修改内容:
dataDir=/home/kafka/zookeeper/zookeeper-3.4.10/data 
#这个地方的路径就是上面创建data文件夹的地址。根据自己的实际地址填写。

并在文本最后添加节点信息:

server.0=192.168.159.128:2888:3888
server.1=192.168.159.129:2888:3888
server.2=192.168.159.130:2888:3888

其中server.后的数字便是约定该服务器的id。
在这里插入图片描述

  1. 每台服务器上都进行上面配置,唯一不同的为data/myid 里的内容不一致,根据server.id 的id对应每台服务器填写。

  2. 释放端口

firewall-cmd --zone=public --add-port=2888/tcp --permanent&firewall-cmd --reload
firewall-cmd --zone=public --add-port=3888/tcp --permanent&firewall-cmd --reload
  1. 进入zookeeper-3.4.10/bin下启动zookeeper
./zkServer.sh start
  1. 查看zookeeper启动状态
./zkServer.sh status

在这里插入图片描述
在这里插入图片描述
其中 follower 代表从节点,leader代表主节点。

  1. 重启zookeeper
./zkServer.sh restart

四、KafKa集群搭建

  1. 下载Kafka

https://download.csdn.net/download/qq_43692950/13451449

将下载好的kafka包,上传至每个节点服务器。

  1. 解压安装包
tar -zxvf kafka_2.12-2.6.0.tgz
  1. 修改kafka_2.12-2.6.0/config/server.properties文件

修改broker.id

#对应上面配置zk的每台节点的id
broker.id=0

修改listeners

#本机主机的ip
listeners=PLAINTEXT://192.168.159.128:9092

修改zookeeper.connect

#每个节点的信息
zookeeper.connect=192.168.159.128:2181,192.168.159.129:2181,192.168.159.130:2181

在这里插入图片描述
在这里插入图片描述

  1. 释放端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent&firewall-cmd --reload
firewall-cmd --zone=public --add-port=9092/tcp --permanent&firewall-cmd --reload
  1. 进入kafka_2.12-2.6.0/bin下启动kafka
./kafka-server-start.sh -daemon ../config/server.properties

启动后查看kafka_2.12-2.6.0/logs/server.log是否启动成功。

  1. 关闭kafka
./kafka-server-stop.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小毕超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值