操作系統:centos 6.5
mongodb版本:3.2.10
事由:測試環境服務器到期,需重新搭建服務器
問題:
在按常規方法安裝好mongodb 後,在測試啓動時,先用 kill -9 進程號刪除,再啓動mongodb 發現mongodb上報以下錯誤:
ERROR: child process failed, exited with error number 100
查看data/db目錄,發現缺少.wt擴展名(主要用於保存搜索引擎的),根據百度到的方法用repaire方法修改,刪除mongod.lock文件再啓動
重新安裝,再測試等等,均失敗。
直至看到一個久遠的文章,kill -9 會破壞存儲文件,想想是不是在測試是所用kill -9 殺死mongod 進程時,將文件破壞掉了
再重新,不再用kill -9 用 killall mongod ,再啓動,一切ok. 問題解決。
問題根因: kill -9
kill -9 會強行中止進程,對於一些有存儲需求的進程來說, kill -9 一定要慎用。