Pegasus 1.11.3 发布,小米分布式 KV 储存系统

栏目: 后端 · 发布时间: 5年前

内容简介:Pegasus 1.11.3 发布了。Pegasus 是小米云存储团队开发的一个分布式 Key-Value 存储系统,最初的动机是弥补 HBase 在可用性和性能上的不足。Pegasus 系统的 Server 端完全采用 C++ 语言开发,使用新版更新内容如下:

Pegasus 1.11.3 发布了。Pegasus 是小米云存储团队开发的一个分布式 Key-Value 存储系统,最初的动机是弥补 HBase 在可用性和性能上的不足。Pegasus 系统的 Server 端完全采用 C++ 语言开发,使用 PacificA 协议支持强一致性,使用 RocksDB 作为单机存储引擎。

新版更新内容如下:

新特性

  • 改进客户端查询路由表逻辑,支持让非主MetaServer返回主MetaServer的真正地址,方便扩展新的MetaServer节点 ( XiaoMi/rdsn#212 XiaoMi/rdsn#217 )

  • 支持为rocksdb不同level的文件配置不同的压缩算法 ( #243 )

  • 改进Manual-Compact功能,增加环境变量 manual_compact.max_concurrent_running_count ,支持限制compact并发数 ( #250 )

  • 增加环境变量 rocksdb.checkpoint.reserve_min_countrocksdb.checkpoint.reserve_time_seconds ,支持动态修改rocksdb checkpoint保留策略 ( #252 )

  • 为ReplicaServer增加远程命令 useless-dir-reserve-seconds ,支持动态修改无用文件夹的保留时间,方便快速释放存储空间 ( XiaoMi/rdsn#215 )

  • 增加cluster balance indicator功能,监控集群的负载均衡状态 ( #269 XiaoMi/rdsn#214 )

Bug修复

  • 修复统计过程中对浮点数处理不当造成数据不准确的问题 ( #234 #246 )

  • 修复在关闭block_cache后对空指针进行非法访问的bug ( #241 )

  • 修复failure detection无法保证同一时刻只有一个primary的bug,并将心跳超时的默认时间调长 ( #247 XiaoMi/rdsn#213 )

  • 修复编译脚本中没有链接上tcmalloc库的bug ( #289 )

性能优化

  • 修改rocksdb的默认压缩算法为lz4 ( #240 )

  • 改进Manual-Compact功能,在执行完成后尽快清理老的checkpoint,以快速释放存储空间 ( #253 )

  • 改进Cold-Backup功能,在执行完成后立即清理backup文件夹下的checkpoint,以快速释放存储空间 ( XiaoMi/rdsn#216 )

重构与化简

  • 重构partition resolver模块:将该模块移到replication/client下面,并移除uri resolver ( #242 XiaoMi/rdsn#205 )

Shell工具

  • 重构输出结果的表格格式化打印工具 ( XiaoMi/rdsn#220 )

  • 改进copy_data/clear_data/count_data命令,支持对HashKey/SortKey/Value进行条件过滤 ( #271 #292 )

  • 改进app_stat命令,显示app_id和partition_count数据列,并增加 --only_usage 选项 ( #271 #285 #288 )

  • 改进nodes命令,增加 --resource_usage 选项,显示各节点的资源使用情况 ( #277 )

其他

  • 增加 pegasus_check_clusters.py 脚本,用来检查集群的负载均衡状态 ( #244 )

  • 改进 .travis.yml ,避免编译thirdparty库 ( #240 XiaoMi/rdsn#206 )

  • 编译时不再下载 bin/Linux/thrift ,只在调用 compile_thrift.py 时按需要下载 ( XiaoMi/rdsn#207 )

  • 完善pegasus-thirdparty-prebuild预编译包,包含完整的依赖库,解决依赖库不完整的问题 ( XiaoMi/rdsn#207 )

  • 改进 .travis.yml ,在编译之前自动执行 clang-format 进行代码风格检查 ( XiaoMi/rdsn#208 )

  • 改进falcon screen自动生成脚本,完善监控图统计项,调整监控图展示顺序 ( #262 #270 XiaoMi/rdsn#218 )

  • 改进pack工具,修复了一些小问题 ( #257 #275 )

  • 改进推荐的配置文件 src/server/config.ini ( #294 )

兼容性

  • 推荐的配置文件中,客户端MetaServer地址的配置方式发生改变,原来的[uri-resolver]段被弃用,使用新的[pegasus.clusters]段 ( #242 )

  • 推荐的配置文件中,失败检测心跳超时的时间由原来的10秒增加到20秒 ( #247 )

更新说明

下载地址:


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms in Python

Data Structures and Algorithms in Python

Michael T. Goodrich、Roberto Tamassia、Michael H. Goldwasser / John Wiley & Sons / 2013-7-5 / GBP 121.23

Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Struct......一起来看看 《Data Structures and Algorithms in Python》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换