手动部署Kraft模式Kafka集群
手动部署Kraft模式kafka集群
基本信息
| IP地址 | Hostname | Release | Kafka-Version |
|---|---|---|---|
| 172.29.145.157 | iamdemo1 | Centos7.9 | kafka_2.12-3.5.1 |
| 172.29.145.182 | iamdemo2 | Centos7.9 | kafka_2.12-3.5.1 |
| 172.29.145.183 | iamdemo3 | Centos7.9 | kafka_2.12-3.5.1 |
下载安装包
kafka安装包官网下载
下载完成后上传到服务器/opt目录下解压
tar -xf kafka_2.12-3.5.1.tgz
将文件夹重命名为kafka
mv kafka_2.12-3.5.1 kafka
生成集群随机uuid
[root@iamdemo1 ~ ]cd /opt/kafka/bin
[root@iamdemo1 bin]# sh kafka-storage.sh random-uuid
COY-4PxTT82yfvGKqAepwQ
使用集群uuid格式化kafka数据存储目录
[root@iamdemo1 bin]# sh kafka-storage.sh format -t COY-4PxTT82yfvGKqAepwQ -c ../config/kraft/server.properties
Formatting /opt/kafka/kraft-combined-logs with metadata.version 3.5-IV2.
配置kafka集群的kraft模式参数
参数位置:/opt/kafka/config/kraft/server.properties
##角色可同时为broker和controller
process.roles=broker,controller
##node.id为当前服务器作为节点的id
node.id=1
##定义投票节点,用于选举Master,每个节点都必须配置
controller.quorum.voters=1@172.29.145.157:9093,2@172.29.145.182:9093,3@172.29.145.183:9093
##9092为每个broker的通信端口,9092为controller节点的混合端口,如果一个节点是混合节点那就需要同时监听两个端口
listeners=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://172.29.145.157:9094
##broker内部监听协议
inter.broker.listener.name=PLAINTEXT
##对外公开的端口
advertised.listeners=EXTERNAL://172.29.145.157:9094,PLAINTEXT://:9092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL,EXTERNAL:PLAINTEXT
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
##kafka数据默认存储的地方
log.dirs=/opt/kafka/kraft-combined-logs
##每一个topic默认的分区
num.partitions=6
##恢复线程
num.recovery.threads.per.data.dir=2
##用于存储消费者组的消费偏移量信息的特殊主题,用于在发生故障时或者重新加入时能够恢复到之前的消费位置
offsets.topic.replication.factor=3
##用于存储事务状态信息的特殊主题,kafka支持事务性写入,当生产者使用事务模式写入数据时,信息会写入这个主题
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
auto.create.topics.enable=false
default.replication.factor=3
##数据的存储时间
log.retention.hours=168
##设置kafka一个数据段最大值1G
log.segment.bytes=1073741824
##检查数据过期时间300s一次
log.retention.check.interval.ms=300000
修改启动脚本,暴露JMX端口,配置JVM内存大小
##注意,jdk必须为64位jdk,否则JVM内存大小设置为4G会报错启动失败,查看方法java --version如果没有显示64bit的都是32位
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"
export JMX_PORT="9999"
fi
修改kafka日志配置参数,避免一小时生成一个日志文件
文件位置:/opt/kafka/config/log4j.properties
##添加两条日志最大量
log4j.appender.kafkaAppender.MaxFileSize=100MB
log4j.appender.kafkaAppender.MaxBackupIndex=5
##修改DatePattern
log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd
使用脚本启动kafka集群
[root@iamdemo1 bin]# sh kafka-server-start.sh -daemon ../config/kraft/server.properties
查看集群状态
通过jps即可看到kafka进程是否在运行,也可通过ps aux查看
查看topic副本分布情况可以通过
./kafka-topics.sh --describe --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092
Topic: test-topic1 TopicId: U3-YpQ4QQqWM7jQ-8uAxjA PartitionCount: 6 ReplicationFactor: 3 Configs: segment.bytes=1073741824
Topic: test-topic1 Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
Topic: test-topic1 Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: test-topic1 Partition: 2 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
Topic: test-topic1 Partition: 3 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: test-topic1 Partition: 4 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
Topic: test-topic1 Partition: 5 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
手动部署Kraft模式Kafka集群的更多相关文章
- Kafka集群扩展以及重新分布分区
我们往已经部署好的Kafka集群里面添加机器是最正常不过的需求,而且添加起来非常地方便,我们需要做的事是从已经部署好的Kafka节点中复制相应的配置文件,然后把里面的broker id修改成全局唯一的 ...
- 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...
- kafka 集群部署 多机多broker模式
kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35 zookeeper kafka 172.16.1.36 zookeeper kafka 172.16 ...
- Kafka集群模式部署
环境:kafka 0.8.1.1 基本概念 Kafka维护按类区分的消息,称为主题(topic) 生产者(producer)向kafka的主题发布消息 消费者(consumer)向主题注册,并且接收发 ...
- bigdata_ Kafka集群模式部署
环境:kafka 0.8.1.1 基本概念 Kafka维护按类区分的消息,称为主题(topic) 生产者(producer)向kafka的主题发布消息 消费者(consumer)向主题注册,并且接收发 ...
- 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程
本博文的主要内容有 kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...
- Kafka集群安装部署、Kafka生产者、Kafka消费者
Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...
- MySQL+MGR 单主模式和多主模式的集群环境 - 部署手册 (Centos7.5)
MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与 ...
- kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...
- Kafka集群模式安装(二)
我们来安装Kafka的集群模式,三台机器: 192.168.131.128 192.168.131.130 192.168.131.131 Kafka集群需要依赖zookeeper,所以需要先安装好z ...
随机推荐
- 【pandas小技巧】--反转行列顺序
反转pandas DataFrame的行列顺序是一种非常实用的操作.在实际应用中,当我们需要对数据进行排列或者排序时,通常会使用到Pandas的行列反转功能.这个过程可以帮助我们更好地理解数据集,发现 ...
- redis开启多线程
在Redis 6.0中,非常受关注的第一个新特性就是多线程. 在Redis 6.0中,多线程默认是禁用的,只使用主线程.如果需要使用多线程功能,需要在 redis.conf文件中进行配置(重启服务). ...
- NOIP 2022 VP游记
总结:挂大分. HA NOIP没初中生的份,VP. CSP-S 图论专场 NOIP 数数专场. CCF 我服你. T1 看完之后,感觉不难,瞎搞了 40min+,过了大样例. 对拍不会写. T2 猜不 ...
- 商品详情api接口的应用方向有哪些?
商品详情API接口的应用方向非常广泛,可以应用于以下领域: 电子商务平台:商品详情API接口可以提供商品的基本信息,如名称.描述.价格.图片等,帮助电子商务平台展示和推荐商品.此外,还可以提供商品 ...
- API接口的技术的概念
当今互联网技术的发展越来越快,越来越多的网站和应用程序需要获取外部数据来提供更好的服务和用户体验,这就需要使用API接口.本文将会对API接口的概念.类型以及如何调用API接口进行简要介绍. 一.什么 ...
- Codeforces 1257D - Yet Another Monster Killing Problem
题意: 有\(n\)个怪物,每个怪物有攻击力\(a_i\)点:有\(m\)个英雄,每个英雄有攻击力\(p_i\)点,耐力\(s_{i}\)点. 怪物需要被依次杀死(按输入顺序). 每一天可以挑选一个英 ...
- 一个关于 i++ 和 ++i 的面试题打趴了所有人
前言 都说大城市现在不好找工作,可小城市却也不好招人. 我们公司招了挺久都没招到,主管感到有些心累. 我提了点建议,是不是面试问的太深了,在这种小城市,能干活就行. 他说自己问的面试题都很浅显,如果答 ...
- 使用Triton部署chatglm2-6b模型
一.技术介绍 NVIDIA Triton Inference Server是一个针对CPU和GPU进行优化的云端和推理的解决方案. 支持的模型类型包括TensorRT.TensorFlow.PyTor ...
- 若依框架的startPage( )函数怎么自动关联查询SQL语句?
Question Description 使用JAVA语言的若依框架的时候,发现只要使用了startPage()函数, 并不需要前端传递分页的数据,也不需要注解,就能完成分页功能.预判他应该是使用类似 ...
- Matlab 设计仿真CIC滤波器
2023.09.26 使用CIC滤波器用于降采样.同样的,CIC滤波器也适用于升采样. 参考连接: [1] Matlab中CIC滤波器的应用_dsp.cicdecimator_张海军2013的博客-C ...