10.16日学习笔记

  1. HBase 集群滚动升级(2.4.17 → 2.5.6)
    前期检查
    hbase hbck 0 不一致
    所有 Region 处于 OPENED 状态
    备份元数据:
    bash

hbase org.apache.hadoop.hbase.mapreduce.ExportSnapshot
snapshot_meta hdfs://backup/hbase-2417-meta
升级顺序
HMaster standby
停掉备 Master,替换 lib/ 目录 jar,启动后观察 WebUI 版本号正常。
RegionServer 逐台
脚本化:
bash
for rs in $(cat rs_list); do
grace_stop $rs # 先 disable_balancer,再 move_regions
yum install -y hbase-2.5.6
start_rs $rs
wait_for_online $rs
major_compact $rs # 触发文件格式校验
done
重启主 Master & 客户端
升级后首次启动会触发 hbase:meta 表 schema 变更(新增 regioninfo:seqnum 列族),耗时 30 s。
回退演练
保留旧安装目录 /opt/hbase-2.4.17.bak,回退只需切换软链并回滚 hbase:meta snapshot,测试 10 min 完成。
2. VM 性能压测与调优
KVM 嵌套层二 VM 磁盘 IO
工具:fio 3.36,宿主机 Intel P5510 7.68 TB NVMe。
场景:
缓存模式 none + 裸盘 virtio-blk
深度 32,4 k 随机写
结果:

层级 IOPS 延迟 (μs) CPU 占用
物理机 580 k 55 18 %
VMware 层一 420 k 76 22 %
KVM 层二 310 k 103 28 %
结论:嵌套损耗 25 %,可接受;把 io_uring 打开后层二提升到 350 k IOPS。
HugePages 加速
宿主机预留 4 G 1G-pages:
bash

echo 4 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
在层一 Ubuntu 的 /etc/default/grub 加:
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=4"
绑定 QEMU 进程:
bash

virsh edit kvm-guest

效果:TLB miss 从 3.2 % 降到 0.9 %,sysbench cpu 提升 8 %。
3. 杂项踩坑
HBase 升级后 BulkLoad 失败
报错 java.lang.UnsupportedOperationException: HFile version 3
解决:把 hbase.hfile.version 先降到 2,做完 BulkLoad 再改回 3 并 major_compact,让新文件自动升级格式。
VMware 16 → 17 许可证失效
升级后提示密钥不兼容,官方允许回退激活一次,需在 30 天内提交旧密钥工单,自动发放新序列号。

posted @ 2025-10-16 22:40  头发少的文不识  阅读(5)  评论(0)    收藏  举报