Kafka集群搭建笔记

紧接着上一篇Zk集群搭建:https://blog.csdn.net/w635614017/article/details/89960255
这边直接搭建起来Kafka集群,环境路径啥的都写上一篇了,可以去查看。

kafka官网:http://kafka.apache.org/
我下载的版本是:kafka_2.11-2.1.1

1.配置

依然是解压缩到我的目录下 /opt/soft
然后进入到kafka的配置文件里面,vim /opt/soft/kafka_2.11-2.1.1/config/server.properties
这文件挺长,但是已经经受了hive配置文件洗礼的我毫不畏惧

############################# Server Basics #############################
# 机器在集群里面的标识,和zk的myid一个意思
broker.id=0
# kafka对外提供服务的端口,默认是9092
port=9092 
# DNS
host.name=192.168.20.3
############################# Socket Server Settings #############################
# borker网络处理的线程数
num.network.threads=3
# borker做I/O处理的线程数
num.io.threads=8

# 发送缓冲区大小:数据要先达到缓冲区,在缓冲区体积达到设置后再发送,性能相关,这边默认了
socket.send.buffer.bytes=102400
# 接收缓冲区大小:主要是缓冲一定量之后,序列化到磁盘,默认了
socket.receive.buffer.bytes=102400
# kafka接收和发送 请求的最大请求数,默认了,这个值不能超过jvm堆栈
socket.request.max.bytes=104857600
############################# Log Basics #############################
# 消息存放的目录,这个目录可以配置为“,”逗号分割的表达式。注意!上面的num.io.threads要大于这个目录的个数,如果配了多个目录,topic消息持久化的位置为:当前以逗号分割的目录中,哪个分区数最少,就放在哪一个,这个可以自定义。
log.dirs=/tmp/kafka-logs
# 默认分区数,一个topic默认1个分区,默认了
num.partitions=1
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Flush Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################
# 默认消息的最大持久化时间,168小时,是7天
log.retention.hours=168
# topic的分区是以一堆segment文件存储的,这个控制每个segment的大小,会被topic创建时的指定参数覆盖
log.segment.bytes=1073741824
# 文件大小检查的周期时间,是否处罚 log.cleanup.policy中设置的策略
log.retention.check.interval.ms=300000
# 消息体的最大值 5M
message.max.byte=5242880
# 1是不备份。配置为2,表示除了leader节点,对于topic里的每一个partition,都会有一个额外的备份。
default.replication.factor=2
# 默认是1M,取消息,最多取多少,这个容易有坑!
replica.fetch.max.bytes=5242880
############################# Zookeeper #############################
# zk集群地址,逗号分隔
zookeeper.connect=Master:2181,Slave:2181,Slave2:2181
# zk的连接超时时间
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
# 这个参数的主要效果就是让coordinator推迟空消费组接收到成员加入请求后本应立即开启的rebalance
group.initial.rebalance.delay.ms=0

关于replica.fetch.max.bytes 解释网上有一篇:
https://blog.csdn.net/guoyuqi0554/article/details/48630907
关于 default.replication.factor 解释网上有一篇:
https://www.jianshu.com/p/082baf0ebce5
关于group.initial.rebalance.delay.ms 解释网上有一篇:https://www.cnblogs.com/huxi2b/p/6815797.html
都说的很好!


太多了,不一一写下去了,可以去官方看。基本上都是默认的,这里说一下要改的东西。

# 不多说,自己配,别重复就行
broker.id=0  

# 不解释
host.name=Master

# 增加
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880

# 设置zookeeper的连接端口
zookeeper.connect=Master:2181,Slave1:2181,Slave2:2181

分别去修改,注意我只是写了Master上的,其他Slave1和Salve2的不同,这里不赘述了。

2.启动

去kafka目录下。
执行指令:
nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
当然如果想看日志信息:
nohup bin/kafka-server-start.sh config/server.properties &
然后jps
看到kafka证明启动了,我们试一下是否搭建起集群。

3.验证

我们用Master创建一个topic:
bin/kafka-topics.sh --create --topic test --zookeeper Master:2181 --partitions 2 --replication-factor 1

解释一下下:

  • create是创建
  • Zookeeper 是zk集群
  • replication-factor 是复制几份,这边1份
  • partitions 创建几个分区
  • topic 主题的名称

执行之后打印出了:

Created topic "test".

证明成功创建主题了!我们去另外一台机器Slave1
执行
bin/kafka-topics.sh --zookeeper Slave1:2181 --list
打印出来 test
去Slave2执行
bin/kafka-topics.sh --zookeeper Slave2:2181 --list
也打印出 test
Master也有,那么证明已经搭建成功了!!!

接下来大家可以自己玩指令除了上面的还有:
消费者:
bin/kafka-console-consumer.sh --bootstrap-server Master:9092 --topic test
生产者:
bin/kafka-console-producer.sh --broker-list Master:9092 --topic test

可以Master开个消费者,然后Slave1和Slave2生产消息。
或者Master当生产者,Slave1和Slave2接受消息,发现都能接收到,数据可以同步,证明集群搭建成功!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值