中间件运维规范(初稿)
本文记录中间件RabbitMQ
, Kafka
, Elasticsearch
系统的集群部署,需求方必备信息,日常巡检等应该check的重要节点。
中间件运维规范(初稿)
os-level:
其他内核优化同操作系统内核基线
vm.max_map_count=262144
* soft nofile 102400
* hard nofile 204800
RabbitMQ
一、集群部署
- 配置MNESIA_BASE, LOG_BASE
- 启动management, federation插件
- 配置logrotate
- 修改默认控制登录密码
- 配置netdata监控, 并验证
- 创建测试exchange\queue验证可用性
- 创建元数据: vhost\exchange\queue\user\policy
- 配置镜像队列
二、需求方提供信息
- 集群信息
- exchange 名字
- exchange 类型
- queue 名字
- queue 是否持久化
- routing_key
三、日常巡检
- 内存、磁盘(全局流控)
- rabbitmq进程fd、mmap占用量
- 消息积压情况
- 是否信用卡流控
- connections/channel连接数量
Kafka
一、集群部署
- log.retention.hours 建议72甚至更小
- num.replica.fetchers flowwers数据同步线程数, 建议cpu core数
- num.recovery.threads.per.data.dir 数据恢复线程数, 建议cpu core数
二、需求方提供信息
- topic名字, 建议name: test-for-native 中划线分割,避免下划线/点
- 分区、副本数量, 建议分区为broker的倍数,副本数为3broker/2,5broker/3
- 预估7/3天topic数据量(消息落盘后占用磁盘空间大小), 若topic数据量较大, 且重要级别较高建议副本为broker数
- 消费积压监控功能netdata已在开发中…
三、日常巡检
- 分区是否均衡、leader是否是优先副本
- kafka配置data.dirs磁盘容量情况
- kafka进程fd、mmap占用量
ES
一、集群部署
- cluster-name
- node.name
- network.host
- jvm.options配置堆内存
- discovery.zen.minimum_master_nodes: (N/2)+1 防脑裂
二、需求方提供信息
- 索引名
- 索引主分片、复制分片数量
- 索引mapping
- 索引管理策略(index分割策略、删除index策略等)
- 预估索引占用磁盘空间大小
- 是否需要其他es插件,并提供配置
三、日常巡检
- 集群状态, 强制green
- path.data配置占用磁盘容量情况
- path.logs配置占用磁盘容量情况(考虑logrotate/log4j日志轮转)
配置示例
rabbitmq:
cluster_partition_handling = pause_minority
vm_memory_high_watermark = 0.4
vm_memory_high_watermark_paging_ratio = 0.75
hipe_compile = ture
queue_index_max_journal_entries = 262144
frame_max = 128KB
delegate_count = 16
msg_store_file_size_limit = 16MB
kafka:
broker.id=34
listeners=PLAINTEXT://10.193.196.34:9092
advertised.listeners=PLAINTEXT://10.193.196.34:9092
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/home/finance/Data/kafka
num.partitions=9
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
#
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.193.196.32:2181,10.193.196.33:2181,10.193.196.34:2181/kafka
group.initial.rebalance.delay.ms=0
#
zookeeper.connection.timeout.ms=10000
#
log.retention.hours=24
offsets.retention.minutes=1440
#
auto.create.topics.enable=false
delete.topic.enable=true
auto.leader.rebalance.enable=true
#
num.network.threads=3
num.io.threads=8
num.recovery.threads.per.data.dir=6
num.replica.fetchers=3
log.cleaner.threads=3
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!