10.2笔记

  1. HBase 数据库
    架构理解:
    HMaster:管理 RegionServer 的负载均衡、Region 分配等。
    RegionServer:负责数据的读写操作,管理多个 Region。
    ZooKeeper:协调集群状态,监控 RegionServer 存活。
    HDFS:底层存储,HBase 数据以 HFile 格式存储在 HDFS 上。
    数据模型:
    表(Table):由行键(RowKey)、列族(Column Family)、列限定符(Qualifier)、时间戳(Timestamp)组成。
    RowKey 设计原则:避免热点(如加盐、哈希、反转),长度适中(建议 10-100 字节)。
    列族优化:不超过 3 个,过多会触发频繁 Flush 和 Compaction。
    读写流程:
    写路径:先写 WAL(Write-Ahead Log),再写入 MemStore,MemStore 满后 Flush 成 HFile。
    读路径:先检查 BlockCache(LRU 缓存),再读 MemStore 和 HFile(通过 BloomFilter 过滤)。
    调优参数:
    hbase.hregion.max.filesize:控制 Region 大小(默认 10GB,调大减少 Split)。
    hbase.regionserver.handler.count:RPC 线程数(建议 100-200,视内存调整)。
    hbase.bucketcache.ioengine:启用堆外缓存(如 offheap 或 file:/path/to/cache)。
  2. VM 虚拟机实践
    克隆与快照:
    链接克隆:依赖原始虚拟机,节省磁盘空间(但原始 VM 损坏则失效)。
    完整克隆:独立副本,占用双倍空间,适合长期隔离环境。
    快照链:避免超过 3 层,合并快照用 vmware-vdiskmanager -k 压缩磁盘。
    网络模式:
    NAT:VM 共享主机 IP,端口转发需手动配置(如 vmnet8 网卡)。
    桥接:VM 直接接入物理网络,需独立 IP(适合集群测试)。
    仅主机模式:隔离环境,通过 vmnet1 与主机通信(模拟内网)。
    性能优化:
    关闭虚拟化引擎的 “侧通道缓解”(提升 10%-20% 性能,但降低安全性)。
    预分配磁盘空间(避免动态扩展导致的碎片化)。
    启用 虚拟化 CPU 计数器(如 vt-x / amd-v)以支持 64 位嵌套虚拟化。
  3. 问题记录
    HBase 启动失败:
    报错 org.apache.hadoop.hbase.PleaseHoldException: Master is initializing,因 ZooKeeper 未清理旧数据。解决:
    bash

zkCli.sh rmr /hbase-unsecure/meta-region-server

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