zoukankan      html  css  js  c++  java
  • Hbase­优化方案

    1、预分区设计

        真正存储数据的是region要维护一个区间段的rowkey      startRow~endRowkey
        
        -》手动设置预分区
        create 'user_p','info','partition',SPLITS => ['101','102','103','104']
        存在-∞ +∞
        第一个分区 -∞ ~ 101
        第二个分区 101~102
        第三个分区 102~103
        第四个分区 103~104
        第五个分区 104 ~ +∞
        
        -》生成16进制序列预分区
        create 'user_p2','info','partition',{NUMREGIONS => 15,SPLITALGO => 'HexStringSplit'}
        
        -》按照文件中设置的规则设置预分区
        create 'user_p4','partition',SPLITS_FILE => 'splits.txt'

    附:splits.txt

    a1
    b2
    c3
    d4

    2、rowkey设计

        一条数据的唯一标识是rowkey,此rowkey存储在哪个分区取决于属于哪个预分区内。
        为什么要设计rowkey?数据倾斜
        为了防止出现数据倾斜
        (1)生成随机数/hash/散列值
        例如:rowkey是101 变成:dd21231dqwdqd123131d112131
        102 变成:wqdqdq212131dqdwqwdqdw1d21
        
        (2)字符串反转
        2018120800011 1100080218102
        2018120800012 2100080218102
        
        (3)字符串拼接
        2018120800011_a12e
        2018120800012_odd12c
        101~105 105~100000

    3、HBase优化

        (1)内存优化
        一般分配70%内存给Hbase的java堆
        不建议分配非常大的堆内存
        一般设置为 16~48G内存即可
        设置:export HADOOP_PORTMAP_OPTS="-Xmx512m $HADOOP_PORTMAP_OPTS"
        注意:etc/hadoop下 hadoop-env.sh
        
        (2)基础优化
        -》优化DataNode
        最大文件打开数
        hdfs-site.xml
        属性:dfs.datanode.max.transfer.threads
        默认值:4096 设置大于4096
        
        -》优化延迟高的数据操作等待时间
        hdfs-site.xml
        属性:dfs.image.transfer.timeout
        默认:60000毫秒
        调大
        
        -》数据写入效率
        压缩
        属性:mapreduce.map.output.compress
        值:org.apache.hadoop.io.compress.GzipCodec
        
        -》优化Hstore的文件大小
        属性:hbase.hregion.max.filesize
        默认值:10GB
        调小
  • 相关阅读:
    02_5if switch分支与循环语句
    02_4运算符
    02_3程序格式
    Shell脚本调用ftp上传文件
    02_2数据类型转换
    02_1标识符_关键字_数据类型
    01_3Java Application初步
    01_2Java开发环境的下载 安装 配置
    Mac 安装MySQL
    用 Homebrew 带飞你的 Mac
  • 原文地址:https://www.cnblogs.com/areyouready/p/10125388.html
Copyright © 2011-2022 走看看