当前位置: 首页 > 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.gsyq.cn/news/26815.html

相关文章:

  • 24信计2班 17曾向嵩 pytorch读书报告
  • 关于第一次作业的时长统计
  • OI 笑传 #21
  • [Tool] lsof: 列出打开的文件描述符
  • Day1文本格式化标签
  • 解答这些 Solidity 开发中的重要问题
  • Day1排版标签,标题与段落
  • 解释这些 Solidity 智能合约的核心概念
  • 数据结构练习
  • 大二to大三暑假大三上前半学期总结
  • 带权拉格朗日中值定理的证明
  • 低代码如何推动企业敏捷创新与业务赋能
  • 删除链表的倒数第N个结点-leetcode
  • 2025.10.21总结
  • 软件工程学习日志2025.10.21
  • 10月21号
  • NOIP 二十六
  • Say 题选记 (10.19 - 10.25)
  • MySQL 创建和授权用户
  • 机器学习到深度学习发展历程
  • [CF 516 E] Drazil and His Happy Friends
  • home-assistant.-Adding integrations
  • Windows系统内存占用过高,且任务管理器找不到对应进程
  • php如何生成6位不重复的字符串
  • Hetao P5593 删 题解 [ 蓝 ] [ 线性 DP ] [ DFS 序 ] [ 虚树 ]
  • Ancestral Problem 题解
  • 二叉树的中序遍历- 二叉树基本-递归 - MKT
  • 构建YouTube视频总结摘要智能体
  • 后量子密码学技术与标准化进程解析
  • JAVA基础理解