日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hbase调优详情

發布時間:2024/2/28 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hbase调优详情 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

高可用(high?available->HA

在HBase中HMaster負責監控RegionServer的生命周期,均衡RegionServer的負載,如果HMaster掛掉了,那么整個HBase集群將陷入不健康的狀態,并且此時的工作狀態并不會維持太久。所以HBase支持對HMaster的高可用配置。

1.關閉HBase集群(如果沒有開啟則跳過此步)

[root@hadoop101 hbase-1.3.1]$ bin/stop-hbase.sh

2.在conf目錄下創建backup-masters文件

[root@hadoop101 hbase-1.3.1]$ touch conf/backup-masters

3.在backup-masters文件中配置高可用HMaster節點

[root@hadoop101 hbase-1.3.1]$ echo hadoop103 > conf/backup-masters

4.將backup-masters分發到其他節點

5.啟動集群并打開頁面測試查看

http://hadooo101:16010?

?


RowKey設計(rowkey design)

一條數據的唯一標識就是rowkey,那么這條數據存儲于哪個分區,取決于rowkey處于哪個一個預分區的區間內,設計rowkey的主要目的 ,就是讓數據均勻的分布于所有的region中,在一定程度上防止數據傾斜。接下來我們就談一談rowkey常用的設計方案。

注意:RowKey如何設計必須結合實際業務場景

案例一

案例二

?

  • rowkey涉及三原則:
  • 長度原則
  • 散列原則
  • 唯一原則
  • 在哪幾個方面進行考慮?
  • ?

    ?

    foo0001

    foo0002

    foo0003

    foo0004

    ?

    a、Salt(加鹽)

    a-boo0003

    b-foo0001

    c-foo0003

    c-foo0004

    d-foo0002

    b、hash (hash算法)

    c、Reversing the Key(倒序:身份證號|手機號)

    7.3預分區

    每一個region維護著startRowKey與endRowKey[1,100),如果加入的數據符合某個region維護的rowKey范圍,則該數據交給這個region維護。那么依照這個原則,我們可以將數據所要投放的分區提前大致的規劃好,以提高HBase性能。
    ????注意:手動分區(預分區)需要對業務數據量有把控

    1.手動設定預分區

    hbase> create 'staff1','info',SPLITS => ['1000','2000','3000','4000']


    ?

    內存優化

    HBase操作過程中需要大量的內存開銷,畢竟Table是可以緩存在內存中的,一般會分配整個可用內存的70%給HBase的Java堆。但是不建議分配非常大的堆內存,因為GC(gabage collection)過程持續太久會導致RegionServer處于長期不可用狀態,一般16~48G內存(128G)就可以了,如果因為框架占用內存過高導致系統內存不足,框架一樣會被系統服務拖死。

    ?

    內存:堆內內存(JVM)[on-heap]、堆外內存(受操作系統管理)[off-heap]

    ?

    總結

    以上是生活随笔為你收集整理的Hbase调优详情的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。