当前位置: 首页 > news >正文

10.21日学习笔记

  1. HBase 增量迁移:TB 级历史表 0 停机上云
    场景
    本地 2.3 TB 的 msg_his 表 → 阿里云 HBase 2.0(LTS 版),要求白天业务可读可写,只容忍 5 min 最终切换窗口。
    方案选型
    采用“Snapshot + Replication 双轨 + 增量校验”三段式:
    凌晨 Snapshot
    3:00 触发:
    bash

hbase shell
snapshot 'msg_his', 'snap_20231008_0300'
用时 42 s,数据视图冻结在 03:00:42。
ExportSnapshot 到 OSS
走内网 10 Gbps,命令:
bash

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot
-snapshot snap_20231008_0300
-copy-to oss://hbase-snapshot/
-mappers 40 -bandwidth 800
速率 780 MB/s,2 h 56 min 传完 2.3 TB。
云端 ImportSnapshot
创建同名空表,设置 REPLICATION_SCOPE => 1,然后:
bash
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot
-snapshot snap_20231008_0300
-copy-from oss://hbase-snapshot/
-copy-to hdfs://emr-cluster/hbase
-overwrite
1 h 10 min 完成,HFile 直接加载,无写放大。
启动双向 Replication
本地 → 云端 peer id 100,云端 → 本地 peer id 101,形成环回。
用 Filter 排除已迁移历史分区(RowKey 含日期 < 20231008),避免重复。
增量追赶
白天 10 h 产生 190 GB WAL,Replication 延迟稳定在 3–5 min。
割接
22:00 暂停写入口 2 min,确认两端 ReplicationLag = 0;
业务 DNS 切到云端,启动写开关;
本地集群保留只读 24 h,次日下线 peer。
结果
实际停写窗口 3 min 47 s,0 数据丢失,RowKey 级别校验 0 差异。
2. VM 内存去重(KSM + VMware TPS)对比
表格

特性 Linux KSM VMware TPS
粒度 4 KB 匿名页 4 KB 所有 Guest Physical Page
算法 简单哈希+逐字节比较 哈希+树形比较,可跨 VM
控制 echo 1000 > /sys/kernel/mm/ksm/pages_to_scan Mem.ShareScanTime=60
安全性 默认启用,无加密页 禁用跨 VM(2014 年后)仅同 VM 内合并
实验
同一宿主机起 4 台 CentOS 7 VM,各 4 GB,运行相同 Redis 实例,填充 2 GB 数据。
结果:
KSM 合并 1.3 GB,宿主机内存使用 16 → 11.7 GB。
TPS(同 VM 内)合并 0.9 GB,跨 VM 已关闭。
结论:虚拟化层与 OS 层重复去重,收益不叠加,选其一即可;对加密敏感场景优先关闭 TPS。
3. 踩坑记录
ExportSnapshot 中途失败
OSS 返回 RequestTimeout 因单文件 5 GB 以上。
解决:加 -Dfs.oss.multipart.size=256M -Dfs.oss.multipart.threshold=256M 启用分片上传。
Replication 环回导致重复
现象:同一条数据在本地和云端各写 3 次。
根因:未排除历史分区,RowKey 范围重叠。
解决:在 peer 配置 config.setExcludeNamespaces("his"); 并新建 his 命名空间存放只读历史表。

http://www.hskmm.com/?act=detail&tid=36170

相关文章:

  • 数据库概述
  • 第1天(简单题 基础语法 数据类型、条件判断 、循环 循环嵌套、位运算, ASCII 码)
  • 24信计2班 17曾向嵩 pytorch读书报告
  • 关于第一次作业的时长统计
  • Go 语言问题解释
  • Keil_v5的用法
  • day 8
  • OI 笑传 #21
  • Day1文本格式化标签
  • 【C语言学习记录】你好世界
  • 1021
  • 24信计2班 17曾向嵩 pytorch66页实验题
  • 解答这些常见的智能合约安全问题,并提供相应的防护措施
  • Day1排版标签,标题与段落
  • 读AI赋能05消费者盈余
  • 解答这些 Solidity 开发中的重要问题
  • grpc 哼哈二将,你值得拥有
  • 解释这些 Solidity 智能合约的核心概念
  • C++编程练习
  • 数据结构练习
  • newDay14
  • L07_在RuoYI项目中添加自己的接口并实现CRUD功能(轻松+AI版)
  • 10
  • 大二to大三暑假大三上前半学期总结
  • 2025.10.18 刷题
  • 低代码如何推动企业敏捷创新与业务赋能
  • hevc解码器下载
  • 低代码如何成为企业数字化转型的加速器
  • 10.18测试
  • 删除链表的倒数第N个结点-leetcode