Spark on mesos的坑以及解決辦法
該文章寫於spark1.6.2版本。
由於Fine mode對短任務效能影響過大,所以採用的是Coarse mode方式進行排程。
主要的一些問題:
-
1.6版本開始dynamic allocation無法使用
例如spark-shell之類的程式,空閒時期資源長期佔用卻無法釋放,造成資源利用率低下。
-
單個slave上無法啟動多個executor
每個mesos slave上一個application只能啟動一個executor。帶來的問題是,如果你的slave是<20 cores,100G RAM>,一個需求<20 cores,10G RAM>的application就會將其資源用光,造成90G RAM的浪費。
具體可參考http://www.jianshu.com/p/27762a1f9b7b -
每個executor使用的cpu數量不可控
例如某個application申請<5 cores,10G RAM>,如果每個slave只有4 cores,就會造成出現的兩個executor,一個是<4 cores,10G RAM>,另一個是<1 core, 10G RAM>。
因為一個executor執行了過多的task,在記憶體不足的情況下就非常容易造成OOM,長時間GC等問題。
具體可參考http://www.jianshu.com/p/27762a1f9b7b blockmgr沒有自動刪除
大量佔用磁碟空間
這些問題都在2.0中得到了解決,但是2.0的改動較大,涉及到大量程式的修改,所以就將如下的改進和bugfix都合到了1.6.2上,重新build了一個版本,問題解決。
已有的解決方案:
- [SPARK-12330][MESOS] Fix mesos coarse mode cleanup
- [SPARK-13002][MESOS] Send initial request of executors for dyn allocation
- [SPARK-5095][MESOS] Support launching multiple mesos executors in coarse grained mesos mode.
- [SPARK-12583][MESOS] Mesos shuffle service: Don't delete shuffle files before application has stopped
- [SPARK-13001][CORE][MESOS] Prevent getting offers when reached max cores
修復後的叢集濟源利用率
修改後的叢集負載情況(ganglia):
修改後的叢集負載情況(ganglia):
相關文章
- Spark on Yarn 和Spark on MesosSparkYarn
- Oracle死鎖的檢視以及解決辦法Oracle
- rootkits病毒的原理介紹以及解決辦法
- ScrollView巢狀ListView解決辦法以及原理View巢狀
- ☕【Java實戰系列】「技術盲區」Double與Float的坑與解決辦法以及BigDecimal的取而代之!JavaDecimal
- 你遇到過的相容性問題以及解決辦法
- 使用Hibernate+MySql+nativeSQL的BUG,以及解決辦法MySql
- Authentication failure 以及xxx is not in the sudoers file 問題的解決辦法AI
- handlder引起的記憶體洩漏問題以及解決辦法記憶體
- 使用Hibernate+MySql+native SQL的BUG,以及解決辦法MySql
- 讓div等塊級元素水平以及垂直居中的解決辦法
- 解決Spark叢集無法停止Spark
- OpenStack 的NAT解決辦法
- 過擬合和欠擬合以及相對應的解決辦法
- MySQL組複製的幾個常見問題以及解決辦法MySql
- JavaMail的com/sun/mail/util/LineInputStream錯誤 以及解決辦法JavaAI
- WebBrowser隱藏後自動銷燬的BUG以及解決辦法 (轉)Web
- vue-awesome-swiper元件使用的一些小坑兒及解決辦法Vue元件
- 踩坑日誌--CEPH叢集常見問題解決辦法
- SVN被鎖的解決辦法
- ORA-28056的解決辦法
- job都停了的解決辦法
- github慢解決辦法Github
- Grub Rescue解決辦法
- /dev/null解決辦法devNull
- MSBuild Tools解決辦法UI
- Linux 下 popen 函式引起的殭屍程式 defunct 以及解決辦法Linux函式
- 網站上傳漏洞掃描與檢測 以及webshell解決辦法網站Webshell
- MYSQL主從不同步問題以及解決辦法彙總MySql
- hp-unix 安裝JDK出現異常,以及解決辦法JDK
- 新浪UC無法登入的解決辦法
- 無法訪問google picasa的解決辦法Go
- 檔案無法粉碎解決辦法
- 【ASK_ORACLE】Oracle RAC報錯“ipc send timeout”的原因以及解決辦法Oracle
- 該文件未能列印的解決辦法
- MySQL 忘記口令的解決辦法MySql
- mongodb日誌太大的解決辦法MongoDB
- ORA-16038 的解決辦法