kafka简单集群搭建

在搭建集群之前先准备下所需要的插件以及服务

  • 因为这里是搭建集群模式 故采用了三个虚拟机作为演示
  vm1 : 192.168.2.129
  vm2:  192.168.2.130
  vm3:  192.168.2.131
准备:
   1.1 jdk 环境 
   1.2 kafka_2.12-2.0.0 版本
   1.3 zookeeper-3.4.14.tar

在搭建kafka集群之前先搭建zookeeper集群。 我这里采用的是外部zookeeper
没有采用kafka自带的。因为我们搭建集群的目的就是为了高可用,采用外部zookeeper 分别部署在不同的服务器既不影响其它地方使用zookeeper集群还提高了kafka的性能 减少占用资源,减少延迟等

  1. zookeeper 集群搭建
    1.1下载地址:https://zookeeper.apache.org/releases.html
分别在三台服务器上安装zookeeper  并依次修改配置文件
         进入 /usr/local/zookeeper/conf 目录下 
         复制 zoo_sample.cfg 为 zoo.cfg
         执行命令: cp zoo_sample.cfg zoo.cfg

修改配置文件如下

# The number of milliseconds of each tick
#基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
#允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
#表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
#修改日志文件存储位置 在zookeeper下 新建zkData 文件
dataDir=/usr/local/zookeeper/zkData
# the port at which the clients will connect
#访问端口
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#搭建集群 依次把三台服务上的zookeeper关联起来
server.1=192.168.2.129:2888:3888
server.2=192.168.2.130:2888:3888
server.3=192.168.2.131:2888:3888
  1. 在新建的三个服务中新建里的zkData文件下创建myid文件
 touch myid 创建myid文件
 vim myid   添加数字 服务器的编号
 这里添加的数字 对应上前面zoo.cfg里server.数字 即可 
 三台服务器分别添加数字 1, 2 ,3,

三台服务器zookeeper搭建方式相同
分别启动进入/usr/local/zookeeper/bin 目录下
启动 ./zkServer.sh start
查看集群节点状态:./zkServer.sh status

  • 2 zookeeper 集群搭建成功后进行搭建kafka集群

依次在三台服务器安装kafka 并修改配置文件

```java
修改配置文件
/usr/local/kafka/config
vim server.properties 进行编辑
修改主要以下配置点
#broker是全局唯一编号,不可重复,为正整数
broker.id=1
#添加主机名称
host.name=192.168.2.129
#删除 topic功能,默认为false(有些版本没有这个配置手动加上即可)
delete.topic.enable=true
#处理网络请求线程数量
num.network.threads=3
#用来处理磁盘IO的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#修改kafka运行日志存放路径
log.dirs=/usr/local/kafka/logs
#topic在当前broker上的分区数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留最长时间,超时将被删除
log.retention.hours=168
#配置连接zookeeper集群地址
zookeeper.connect=192.168.2.129:2181,192.168.2.130:2181,192.168.2.131:2181

先启动zookeeper 集群在依次启动kafka集群,启动命令如下

进入启动目录
/usr/local/kafka/bin
执行命令
./kafka-server-start.sh /usr/local/kafka/config/server.properties
后台守护进程启动 
./kafka-server-start.sh /usr/local/kafka/config/server.properties 1>/dev/null 2>&1 &
或者
./kafka-server-start.sh /usr/local/kafka/config/server.properties &

依次启动三台kafka后 我们可在任意一台查询查看topic列表

/usr/local/kafka/bin

在这里插入图片描述

我们在一台kafka上直接查询三台kafka上面的主题都可以查询到说明搭建成功是互通的

创建topic命令,依赖于zk,主题名称topicName,分区数2,副本数2

./kafka-topics.sh --create --zookeeper 192.168.2.131:2181 --topic test --partitions 2 --replication-factor 2

在这里插入图片描述
测试生产者和消费者 这里一定要注意kafka的版本

#生产者
./kafka-console-producer.sh --topic yzf --broker-list 192.168.2.131:9092
消费者(0.9-版本命令)
./kafka-console-consumer.sh --zookeeper 192.168.2.130:2181,192.168.2.129:2181,192.168.2.131:2181 --topic yzf --from-beginning
消费者(0.9+版本命令)
./kafka-console-consumer.sh --bootstrap-server 192.168.2.129:9092,192.168.2.130:9092,192.168.2.131:9092 --topic yzf --from-beginning

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

这里可以看到我们已经获取到了信息

搭建结束 喜欢的点个👍

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值