阿里云云HBase组,在不断fix线上bug及改进性能,小版本升级是保证完全兼容的。一些严重的bug,我们会邮件通知,请关注我们的邮件。为了不影响客户的业务,我们不会主动升级客户的集群,我们建议客户在业务低峰期自主升级小版本。
我们当前不支持从1.x系列自动升级到2.x系列。 我们也会一直维护1.x及2.x的稳定性,在1.x上也会打上一些性能优化的patch。2.x主要有一些新的功能,如果客户需要,建议购买2.x集群。
升级流程比较简单:
选择在业务低峰期,单击。
升级时间跟随着集群的大小,region的个数多少相关,越大越多时间越长,一般4台的集群,100个region会在10分钟以内。
后台会自动升级集群到最新对应的小版本,升级过程会滚动重启集群,基本对业务无感知。
升级完成后,关注是否对业务有影响,如果有影响,请通过工单或者
云HBase答疑钉钉号,跟我们联系。
版本更新说明
1.x系列
版本1.4.6.2 是社区版本1.1 发展过来,做了大量的性能、稳定性、功能优化。
1.4.6.2
解决WAL可能由于HDFS BUG导致损坏的问题。
解决写入HDFS瞬间异常的情况下,可能导致整个RegionServer卡死,无法恢复。
解决Region分裂时候,客户端无法正常收到NotServingRegionException异常,会看到“llegalStateException: No result & no exception”。
解决读写分离配置可能会导致RegionServer无法启动。
解决社区Phoenix可能会把Zookeeper连接打满的BUG。
优化配置,减少RegionServer被写出OOM的情况出现,减少大范围scan对服务端的内存消耗。
内核一些优化。
1.4.6.3
PHOENIX
修复IndexTool的数据表为小写表名字时找不到索引表。
修复客户端配置时区失效问题(当前默认时区GTM)。
优化默认配置参数,更容易适配云上的小规格实例。
调整默认最大mutation size和bytes, 防止因为cell较大时导致创建索引失败。
通过raw scan替换major compaction索引表被disable方案,减小索引被dsiable风险。
写索引失败时,通过无限重试的强同步方案,规避索引表DISABLE问题,防止查询退化为扫全表问题。
upsert-select和create index时disable scan bolck cache, 减小不必要的内存使用和GC次数。
HBASE
删除列族后replication移除stale KV报NPE。
MiniHBaseCluster 支持可配置端口。
1.4.9.1
同一集群支持
冷存储和热存储。支持ZSTD,LZO压缩格式。
修复MVCC卡死的BUG。
1.5.0
支持Replication,支持主备集群同步。
修复了一个内存泄露问题,已经回馈给社区HBase-21228。
修复了Reader线程在遇到OOM后退出而不abort RS的问题,已经回馈给社区HBase-21357。
1.5.1
修复ZSTD压缩算法引起的不兼容问题。
修复冷存储的一些性能问题。
修复Phoenix二级索引的一些问题。
修复一个内存泄露问题,已经回馈给社区:HBASE-22169。
其他一些bugfix。
1.5.2
新增支持磁盘剩余空间过少自动锁定。
建表时不在支持PREFIXTREE Encoding。
Backport社区Bug fix。
1.5.3
新增日志订阅动态开关。
默认禁止hbck。
添加Thrift Server活跃链接数监控。
其他一些bugfix。
2.x系列
2.0.2
发布商业化版本。
阿里1.x版本优化同步到2.x版本。
修复大量的bug,已经贡献给社区,参考:
HBASE-21237,Use CompatRemoteProcedureResolver to dispatch open/close region requests to RS
HBASE-21228,Memory leak since AbstractFSWAL caches Thread object and never clean later
HBASE-21212,Wrong flush time when update flush metric
HBASE-21113,”Apply the branch-2 version of HBASE-21095, The timeout retry logic for several procedures are broken after master restarts”
HBASE-21085,Adding getter methods to some private fields in ProcedureV2 module
HBASE-21083,Introduce a mechanism to bypass the execution of a stuck procedure
HBASE-21051,Possible NPE if ModifyTable and region split happen at the same time
HBASE-21050,Exclusive lock may be held by a SUCCESS state procedure forever
HBASE-21041,Memstore’s heap size will be decreased to minus zero after flush
HBASE-21031,Memory leak if replay edits failed during region opening
HBASE-20601,Add multiPut support and other miscellaneous to PE
HBASE-20611,UnsupportedOperationException may thrown when calling getCallQueueInfo()
HBASE-20679,Add the ability to compile JSP dynamically in Jetty
HBASE-20727,Persist FlushedSequenceId to speed up WAL split after cluster restart
HBASE-20846,Restore procedure locks when master restarts
HBASE-20854,Wrong retries number in RpcRetryingCaller’s log message
HBASE-20860,Merged region’s RIT state may not be cleaned after master restart
HBASE-20864,RS was killed due to master thought the region should be on a already dead server
HBASE-20867,RS may get killed while master restarts
HBASE-20870,Wrong HBase root dir in ITBLL’s Search Tool
HBASE-20878,Data loss if merging regions while ServerCrashProcedure executing
HBASE-20893,Data loss if splitting region while ServerCrashProcedure executing
HBASE-20903,”backport HBASE-20792 “”info:servername and info:sn inconsistent for OPEN region”” to branch-2.0”
HBASE-20921,Possible NPE in ReopenTableRegionsProcedure
HBASE-20973,ArrayIndexOutOfBoundsException when rolling back procedure
HBASE-20975,Lock may not be taken or released while rolling back procedure
HBASE-20976,SCP can be scheduled multiple times for the same RS
HBASE-20978,[amv2] Worker terminating UNNATURALLY during MoveRegionProcedure
HBASE-20990,One operation in procedure batch throws an exception will cause all RegionTransitionProcedures receive the same exception
HBASE-21003,Fix the flaky TestSplitOrMergeStatus
HBASE-21029,Miscount of memstore’s heap/offheap size if same cell was put
HBASE-21031,Memory leak if replay edits failed during region opening
HBASE-21035,Meta Table should be able to online even if all procedures are lost
HBASE-21039,Procedure worker should not quit when getting unexpected error
2.0.3
修复若干AssignmentManager v2的稳定性问题。
2.0.4
同一集群支持
冷存储和热存储。修复若干稳定性问题。
2.0.5
修复与Phoenix5.x的兼容性问题。
修复冷存储的一些性能问题。
2.0.6
新增支持ZSTD压缩算法
修复若干稳定性问题,均已回馈给社区,如:HBASE-22128HBASE-21751HBASE-22169。
其他一些bugfix。
2.0.7
新增支持磁盘剩余空间过少自动锁定。
解决开启phoenix wal无法清理的bug。
支持RS日志订阅消费。
2.0.8
新增日志订阅动态开关。
默认禁止hbck。
其他一些bugfix。
2.0.9
修复DFSClient内存泄漏问题。
修复SplitTable阻塞ModifyTable问题。
修复开启ASYNC_WAL造成WAL损坏问题。