1. 程式人生 > >已有CM叢集環境中新增kafka元件---Kafka記憶體溢位

已有CM叢集環境中新增kafka元件---Kafka記憶體溢位

感謝分享:http://blog.csdn.net/pengych_321/article/details/52539932

參考

場景

怎麼區域性升級當前cm叢集呢,比如新增kafka元件、Spark元件等

分析

一、升級原因

1、 現有叢集元件只能做一些離線類統計分析,無法滿足當前實時類業務計算的需求。 
2、 現有叢集計算引擎是基於MR2,計算能力相對較弱。

綜合以上因素,決定在已有的叢集元件中新增 : flume、kafka 與 spark 元件,以期提升叢集的計算能力,滿足當前實時計算的業務需求。

二、升級過程

1 、spark元件的新增

在叢集的每個節點上安裝 spark 元件,以YARN模式管理計算資源

1.1 在 CM主頁選擇新增服務

這裡寫圖片描述

1.2 新增spark元件

這裡寫圖片描述

1.3 選擇要安裝spark服務的節點

這裡寫圖片描述

1.4 安裝完畢

這裡寫圖片描述

2、 kafka元件的新增

kafka元件的安裝,可分為線上與離線安裝,這裡採用線上安裝的方式進行,具體安裝步驟如下:

2.1 進入 Parcel 主頁

這裡寫圖片描述

2.2 與 2.3 進入 Parcel配置介面

這裡寫圖片描述 
這裡寫圖片描述

2.4 在Parcel主介面點選 ‘檢查更新Parcel’

這裡寫圖片描述

2.5 啟用 kafka 元件

這裡寫圖片描述

2.6 在CM主頁新增 kafka服務

這裡寫圖片描述

2.7 選擇需要安裝kafka元件的叢集節點 ,相關配置都選擇預設的

這裡寫圖片描述

2.8 啟動 kafka 叢集

這裡寫圖片描述

注意: 啟動kafka叢集的時候,可能出現如下異常 :

這裡寫圖片描述

在CM 介面中檢視 broker的異常日誌後,發現:OutofMemeryException

這是因為 Java Heap size of Broker這個選項預設配置是 50M ,需要將其修改成 256M 或者 更多,這裡修改成 1G ,儲存配置後,在啟動kafka叢集即可:

這裡寫圖片描述

三、升級後的叢集元件配置狀況

     生產環境 5 臺 32核 256G ,處理一般複雜度的spark作業,能處理的最大資料規模是多大呢? 這個沒法量化,以後遇到具體效能問題,再具體分析、優化。 
以往的經驗:5臺8核16G的叢集資源,編寫一般複雜度的spark作業,處理 10G(大概一億行資料量)級別的資料量,處理時間是 10分鐘級別。

總結

開啟叢集資源管理之路,漫長啊 。。。