溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase常見問題有哪些

發布時間:2021-12-09 13:50:22 來源:億速云 閱讀:180 作者:iii 欄目:云計算

本篇內容主要講解“HBase常見問題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“HBase常見問題有哪些”吧!

問題分析的主要手段
1、監控系統:首先用于判斷系統各項指標是否正常,明確系統目前狀況
2、服務端日志:查看例如region移動軌跡,發生了什么動作,服務端接受處理了哪些客戶端請求。
3、gc日志:gc情況是否正常
4、操作系統日志和命令:操作系統層面、硬件是否故障,當前狀況如何
5、btrace:實時跟蹤目前服務端的請求和處理情況
6、運維工具:通過內置于系統中的功能,查看服務器實時處理狀況
其實以上手段,大部分系統都具備,不過各有各的用法,下面我會通過常見的問題來梳理這6大手段。

常見問題1:個別請求為什么很慢?
個別請求慢是用戶遇到最多的問題,首先需要明確是客戶端還是服務端原因,進而分析服務端狀況以及捕獲這些請求來明確定位。
1、通過客戶端日志來初步分析下慢請求的規律,嘗試在客戶端確定請求的rowkey和操作類型。
2、確定是不是一段時間內集中出現慢請求,如果是那么可以參考常見問題2來解決。
3、查看服務端監控,觀察響應時間是否平穩,maxResponseTime是否出現峰值。如果存在,那么可以初步確定是服務端問題。
4、客戶端分析無效,可以通過運維工具在服務端捕獲慢請求的rowkey和操作類型。
5、確定rowkey對應的region,初步查看是否存在數據表參數配置不合理(例如version設置過多、blockcache、bloomfilter類型不正確)、storefile過多、命中率過低等問題。
6、嘗試重試這些請求或者直接分析hfile來查看返回結果是否過大,請求是否耗費資源過多。
7、查看服務端關于hdfs的監控和日志,以及datanode日志,來分析是否存在hdfs塊讀取慢或者磁盤故障。

常見問題2:客戶端讀寫請求為什么大量出錯?
讀寫請求大量出錯的現象主要有兩類:1、大量出現服務端exception 2、大量超時。其中第一種有異常信息較好判斷問題所在。
1、大量服務端exception一般是region不在線導致的,可能是region在split但是時間很長超過預期,或是meta數據錯誤導致客戶端獲取region location錯誤。以上現象均可通過日志來定位。
2、遇到大量超時,首先應該排除服務端是否出現了fullgc或者ygc時間過長。前者可能由于內存碎片、cms gc速度來不及導致,后者一般是由于系統使用了swap內存。
3、通過系統命令和日志來查看是否有機器load過高,磁盤壓力過大,磁盤故障。
4、查看監控是否出現callqueue積壓,請求無法得到及時處理,進一步通過call查看工具或者jstack可以查看正在處理的call和進程堆棧信息。
5、通過datanode日志和hbase訪問dfs的時間,來判斷問題是否在hdfs層。
6、查看監控判斷是否出現blocking update,memstore是否已接近系統設置的上限。

常見問題3:系統為什么越來越慢了?
系統原來挺快的,為什么越來越慢?多數是不合理的服務端配置導致的,可以通過以下幾個方面來分析。
1、磁盤讀寫和系統load是不是比以前高了,初步判斷導致系統變慢的原因。
2、如果磁盤讀寫加劇,重點查看flush是否過小,compact是否過頻,尤其是major compact是否有必要,從測試結果來看compact產生的磁盤io對系統性能影響很大。
3、單個region的storefile個數是否有成倍提高
4、命中率是否有下降趨勢
5、regionserver是否存在region分配不均衡導致的讀寫集中,或者讀寫handler的競爭
6、datablock的本地化率是否出現下降
7、是否存在datanode運行不正常,可以通過監控查看是否有個別機器讀取block時間明顯偏高

常見問題4:數據為什么沒了,明明寫進去過?
數據丟失也是HBase的常見bug,分為臨時性和永久性兩類。臨時性的丟失往往是由于hbase本身的正確性問題導致瞬間讀取數據錯誤。永久性丟失一般是日志恢復bug或者region的二次分配。
1、首先可以通過hbck或者master日志排查丟失的數據所在region是否發生過二次分配
2、集群中的regionserver是否出現過abort,日志是否正確恢復。
3、掃描storefile確定目前數據情況
4、掃描logs或者oldlogs中的文件來確定是否寫入過這些數據,以及寫入數據的時間,配合rs的日志來確定當時server的行為
5、根據寫入數據的時間,確定regionserver是否正確完成了flush并且將數據寫入磁盤

常見問題5:為什么有服務器進程掛了?
regionserver發生abort的場景很多,除了系統bug引起的以外,線上遇到最多的就是fullgc引起的zk節點超時和文件系統異常。
1、查看regionserver日志查詢FATAL異常,確定異常類型
2、查看gc日志確定是否發生fullgc或者ygc時間過長
3、如果沒有征兆,日志突然中斷,首先需要考慮是否發生了OOM(0.94版本會直接kill -9)。
4、可以通過系統內存監控判斷是否出現被占滿的情況
5、查看datanode是否出現異常日志,regionserver可能由于roll log或者flush時的文件系統異常導致abort
6、排除人為調用stop的情況

HBase健康體檢
一個集群似乎否健康,大體可以從以下幾個方面來判斷
1、單region的storefile數量是否合理
2、memstore是否得到合理的利用,此項指標與hlog的數量和大小相關
3、compact和flush的流量比值是否合理,如果每天僅flush 1G卻要compact幾十上百G就是明顯的浪費
4、split似乎否過頻,能否采取pre-sharding的方式來預分配region
5、集群的region是否過多,zk在默認參數下無法支撐12w以上的region個數,并且region過多也會影響regionserver failover的時間
6、讀寫相應時間是否合理,datablock的讀取延時是否符合預期
7、flush隊列、callqueue長度、compact隊列是否符合預期。前兩者的積壓都會造成系統不穩定。
8、failedRequest和maxResponseTime
9、gc狀況,過長的ygc和過頻的cms都需要警惕

運維工具
HBase官方版本的可運維性的確很差,為了能最大限度的保證線上系統安全,快速定位故障原因,阿里做了很多建設性的工作。
1、建立了完整的監控體系,根據日常測試和線上運行經驗,加入了很多監控點。
2、監控的粒度達到region級別
3、call dump和線上慢請求追蹤功能
4、btrace腳本體系,出現問題直接運行查看程序內部信息
5、日志收集和報警
6、在線表維護工具和storefile、logs分析工具

到此,相信大家對“HBase常見問題有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女