HBase調優案例(三)——Spark訪問HBase慢


負載信息:RegionServer:3個

                  Region:5400多個

現象:在使用Spark對HBase進行scan操作時發現有些task執行比較慢

原因分析:查看Spark應用的executor日志,發現查詢慢的都是027節點請求的。

     獲取此節點的regionServer日志,發現scan的時候有responseTooSlow的打印。

        查詢日志發現這段時間在regionServer上出現很多次GC pause的打印,說明當前內存不足。

綜上,當前regionServer內存的配置不足以應付高並發狀態下的RPC請求。由於實際節點上的業務量/數據量/請求個數存在略微差異,使027節點處理請求時GC出現了延遲。當Spark多並發task執行的時候,GC的pause不能及時地處理查詢請求,從而影響整個查詢的時間。

 

解決:

  調整HMaster的內存及Handler相關配置

  1.調整HMaster和RegionServer的GC_OPTS(垃圾回收參數)

  RegionServer調整為:

  Xms 6G——>16G

  -Xmx 6G——>16G

  NewSize 64M——>512M

  Max NewSize 128M——>512M

  Max DirectMemorySize 128M——>1024M

 

  HMaster調整為:

  Xms 1G——2G

  -Xmx 1G——>2G

  NewSize 64M——>256M

  Max NewSize 128M——>512M

  Max DirectMemorySize 128M——>512M

 

  2.調整RPC Handler(regionServer上處理RPC請求的線程實例數)

  hbase.regionserver.handler.count 100——>300

  hbase.regionserver.metahandler.count 10——>100

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM