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 )

更新说明

下载地址:


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

查看所有标签

猜你喜欢:

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

Python高性能(第2版)

Python高性能(第2版)

[加] 加布丽埃勒•拉纳诺(Gabriele Lanaro) / 袁国忠 / 人民邮电出版社 / 2018-8 / 59.00元

本书是一本Python性能提升指南,展示了如何利用Python的原生库以及丰富的第三方库来构建健壮的应用程序。书中阐释了如何利用各种剖析器来找出Python应用程序的性能瓶颈,并应用正确的算法和高效的数据结构来解决它们;介绍了如何有效地利用NumPy、Pandas和Cython高性能地执行数值计算;解释了异步编程的相关概念,以及如何利用响应式编程实现响应式应用程序;概述了并行编程的概念,并论述了如......一起来看看 《Python高性能(第2版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具