微認證:基于BoostKit的大數據性能調優實踐
基于BoostKit的大數據性能調優實踐
1. 大數據特點及調優原因
1.1 大數據介紹及組件關系分布
大數據是集收集,處理,存儲為一體的技術總稱。在海量數據處理的場景,大數據對計算及存儲的要求較高,普遍以集群形式存在。不同的組件有不同的功能體現
1.2 大數據并行計算特點天然匹配鯤鵬多核架構
海量數據需要更高的并發度來加速數據處理,鯤鵬多核計算的特點能夠提升大數據任務的并發度,加速大數據的計算性能。此處以Mapreduce模型為例
但是,為了獲得更好的性能,仍需根據硬件配置和應用程序特點,對軟硬件系統做進一步的優化
1.3 調優原因
2. 大數據性能調優思路
2.1 常用調優思路
2.2 常見調優問題介紹
2.3 大數據組件:Hadoop-HDFS模塊
Hadoop由HDFS、Yarn、Mapreduce三個核心模塊組成,分別負責分布式存儲、資源分配和管理、分布式計算
調優建議:盡可能保證DataNode節點間的磁盤性能統一,并從磁盤IO和網絡IO兩方面進行優化
2.4 大數據組件:Hadoop-Yarn模塊
調優建議:盡可能將Slaves的CPU和內存資源提供給Yarn管理和使用,并根據應用程序的數據量,適當調整Container內存大小,將所有CPU核都利用起來,發揮鯤鵬多核的優勢
2.5 大數據組件:Hadoop-Mapreduce模塊
調優建議:適當調整Map核Reduce任務的數量與Reduce任務啟動的時間,保證總任務數能覆蓋到所有CPU核,避免資源浪費
2.6 大數據組件:Hadoop 常用調優參數
2.7 大數據組件:HBase框架
調優建議:適當增加MemStore核BlockCache容量來提升讀寫性能,同時優化磁盤IO和網絡IO
2.8 大數據組件:HBase讀寫流程
寫入流程:優先寫入Memstore內存區域,加速寫入速度,HLog保障數據可靠
讀取流程:依次從Memstore和BlockCache查找數據,若未命中,再從磁盤查找
2.9 大數據組件:HBase常用調優參數
2.10 性能定位:問題定位流程
2.11 性能定位:資源監控工具
nmon:支持收集一段時間內,整機的CPU、磁盤、網絡、內存等各項資源的使用情況
perf:獲取指定進程內的調用情況、各線程調用的CPU資源消耗情況,并支持生成火焰圈
dstat:監控系統整體的性能信息,包括CPU、磁盤、網絡、分頁等
top:監控進程和整機的CPU、內存資源消耗情況,并支持查看每個CPU核的使用情況
iostat:監控每塊磁盤的讀寫次數、數據量大小、使用率
sar:監控每張網卡的網絡IO讀寫次數和數據量大小
jstat:JVM統計監控工具
java VisualVM:圖形化的Java程序性能分析工具,能監控應用程序性能消耗、GC狀況、線程堆信息等
2.12 性能定位:Web監控界面,顯示基本配置和運行狀態
3. 性能調優案例分享
3.1 案例1:HBase Bulkload性能優化
背景:以HBase bulkload 性能優化為切入點,闡述調優過程中可能遇到的問題和解決思路
環境配置:采用1+3集群規模,由Ambari統一管理,每個節點擁有64 cores、384G內存、10GE網絡帶寬和6 * 4T的機械硬盤,將NameNode、ResourceManager、HMaster等進程部署在server節點,并在3個agent節點部署DataNode、NodeManager和RegionServer進程
應用程序:使用HBase組件自帶的bulkload程序進行測試
3.2 案例2:HBase 1.X版本執行讀測試時,資源利用率低
大數據 應用性能調優
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。