在測試環境上安裝了3台BE節點,按照業務要求盡可能壓入多的數據,觀察doris的入庫速度及大數據量下的查詢響應速度。使用測試程序壓入了20億條記錄,過程中運行一直都很穩定。完成壓入后,因為感覺count(*)效率變低、壓入新的表數據發生超時的問題,於是決定重啟BE節點,結果發現BE無法啟動了。
——鏈接FE查看BE的狀態,三個節點均拒絕連接,Alive=false:
——查看BE的警告日志be.WARNING(文件在be/log目錄下),赫然寫着file descriptors limit is too small:
——百度了一下說這種情況應該是BE服務器上的文件操作數量太小,應該是在安裝BE的時候就要設置一下(我應該是在初始部署BE的時候忘記設置了):
修改 /etc/security/limits.conf, 加入
echo "* soft nofile 204800" >> /etc/security/limits.conf
echo "* hard nofile 204800" >> /etc/security/limits.conf
echo "* soft nproc 204800" >> /etc/security/limits.conf
echo "* hard nproc 204800 " >> /etc/security/limits.conf
修改 /etc/sysctl.conf, 加入
echo fs.file-max = 6553560 >> /etc/sysctl.conf
——重啟BE服務器,重啟BE進程,好了: