写点什么

rocksdb 无法 alter 的解决方案

作者:趁早
  • 2022 年 8 月 27 日
    广东
  • 本文字数:618 字

    阅读完需:约 2 分钟

-- 第 1 步:记录下 RocksDB 的 Block Cache Size 当前值 = XXXXX

show variables like 'rocksdb_block_cache_size';

-- -------------------------------------------------------

-- 第 2 步:需要重新配置参数

-- (2.1) RocksDB 的 Block Cache 改为较小的值 1GB

SET GLOBAL rocksdb_block_cache_size=1024*1024*1024;

-- (2.2) InnoDB Buffer Pool 需要配置为规格内存的一半,以 4C8G 为例,设为 4G

SET GLOBAL innodb_buffer_pool_size=4*1024*1024*1024;

-- (2.3) 检查/调大 Merge Sort 相关参数

-- RocksDB 的 rocksdb_merge_buf_size 设置为 8MB

SET GLOBAL rocksdb_merge_buf_size=8*1024*1024;

-- RocksDB 的 rocksdb_merge_combine_read_size 设置为 1GB

SET GLOBAL rocksdb_merge_combine_read_size=1024*1024*1024;

-- -------------------------------------------------------

-- 第 3 步:bulk load 模式下进行 alter engine

SET SESSION sql_log_bin=0;

SET SESSION rocksdb_bulk_load=1;

ALTER TABLE xxxxx_t1 ENGINE=ROCKSDB;

-- ... 可以多条 alter engine

-- ... 可以多条 alter engine

-- ... 可以多条 alter engine

ALTER TABLE xxxxx_t100 ENGINE=ROCKSDB;

SET SESSION rocksdb_bulk_load=0;

-- -------------------------------------------------------

-- 第 4 步,改回参数

-- InnoDB Buffer Pool 改回 128M

SET GLOBAL innodb_buffer_pool_size=128*1024*1024;

-- RocksDB 的 Block Cache 改为原值

SET GLOBAL rocksdb_block_cache_size = XXXXX; -- 第一步里记录的原值

用户头像

趁早

关注

还未添加个人签名 2017.12.12 加入

还未添加个人简介

评论

发布
暂无评论
rocksdb无法alter的解决方案_趁早_InfoQ写作社区