Spark on YARN 常見問題總結
問題1:
在slave上運行40~50個executor之后,該slave上的nodemanager直接崩潰,報錯信息如下:
java.lang.OutOfMemory, unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
原因:
排查內存充足,可見根因并非內存不足。
實際原因為Linux默認進程數量限制,Linux默認進程數為4096,而60個executor會創建近7000個進程,導致超過系統進程數限制而作業失敗。
解決方案:
修改Linux允許的最大進程數。
修改 /etc/security/limits.conf 文件,添加如下代碼:(hadoop為用戶名)
hadoop????soft????nofile????65536????????????//????最大文件數軟限制
hadoop????hard????nofile????65536????????????//????最大文件數硬限制
hadoop????soft????nproc????65536????????????//????最大進程數軟限制
hadoop????hard????nproc????65536????????????//????最大進程數硬限制
保存后重新登錄
如果已配置hadoop用戶免密登錄,則可以直接修改 /etc/profile 文件,加入如下代碼:
ulimit -u 65536
ulimit -n 65536
每次進入系統時會運行profile,即可解除Linux進程和文件數限制。
問題2:
slave節點無法接收container,排查發現節點狀態是 unhealthy node
原因:
排查unhealthy node reason:節點系統盤耗盡
解決方案:
掛載新硬盤分區,擴容Linux根分區
一、分區并創建PV
1).創建新分區
$>fdisk
輸入m顯示幫助菜單,輸入n創建一個分區,選擇p創建主分區
(可以通過e創建Extend分區,然后再創建p)
輸入P查看剛才創建好的分區信息
輸入t改變分區的格式為8e(Linux LVM)邏輯卷格式
輸入w保存退出分區界面
2).創建物理卷
$>pvcreate /dev/sda4
$>pvdisplay
$>pvscan
二、擴容VG
1).把剛才創建好的pv添加到系統中根分區所在卷組中。之前看到系統的根分區所在的卷組為/dev/mapper/rhel/root,組名為rhel,邏輯卷名為root
該卷組Free PE為0,說明卷組已經沒有容量了
2).擴容原有卷組
$>vgextend rhel /dev/sda4
$>vgdisplay
三、擴容LV,即擴容根分區
1).根據Free PE和PE size?來擴容根分區
$>lvextend -L +xxG /dev/mapper/rhel/root
$>lvdisplay
2).使擴容命令立即生效
$>xfs_growfs /dev/rhel/root
spark
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。