目錄
啟動Elasticsearch
啟動Elasticsearch的方法取決于你如何安裝它涯呻。
歸檔文件包(.tar.gz)
如果你用.tar.gz包安裝Elasticsearch熔脂,你可以從命令行啟動Elasticsearch。
從命令行啟動
Elasticsearch可以像以下這樣從命令行啟動:
./bin/elasticsearch
默認情況下享完,Elasticsearch在前臺運行,打印它的日志到標準輸出(stdout)有额,可以通過按下Ctrl-C停止它般又。
注意:所有與Elasticsearch打包的腳本都需要一個支持數(shù)組的Bash版本,并且假定Bash在/bin/bash可用巍佑。因此茴迁,Bash應(yīng)該直接或通過符號鏈接在此路徑上可用。
作為守護進程運行
要將Elasticsearch作為守護進程運行萤衰,請在命令行上指定-d堕义,并使用-p選項在文件中記錄進程ID:
./bin/elasticsearch -d -p pid
要關(guān)閉Elasticsearch,關(guān)閉pid文件中記錄的進程ID:
kill
cat pid
歸檔文件包(.zip)
如果你用一個.zip包在Windows上安裝Elasticsearch脆栋,你可以從命令行啟動它倦卖。如果您希望彈性搜索在引導(dǎo)時自動啟動洒擦,而不需要任何用戶交互,install Elasticsearch as a service糖耸。
從命令行啟動
Elasticsearch可以從命令行啟動秘遏,像下面這樣:
.\bin\elasticsearch.bat
默認情況下,Elasticsearch在前臺運行嘉竟,打印它的日志到標準輸出邦危, 可以按下Ctrl -C停止它。
Debian包
Elasticsearch在安裝后不會自動啟動舍扰。如何啟動和停止Elasticsearch取決于是否你的系統(tǒng)使用SysVinit或者systemd(新發(fā)行版使用的)倦蚪。你可以通過運行以下命令來判斷是哪種:
ps -p 1
用SysV init 運行Elasticsearch
使用update-rc.d命令來配置Elasticsearch,以便在系統(tǒng)啟動時自動啟動:
sudo update-rc.d elasticsearch defaults 95 10
Elasticsearch可以啟動和停止通過使用service命令:
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
如果Elasticsearch因為任何原因啟動失敗边苹,它將打印失敗的原因到標準輸出日志陵且。日志文件在/var/log/elasticsearch/。
使用 systemd運行Elasticsearch
配置Elasticsearch在系統(tǒng)啟動時自動啟動个束,運行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
Elasticsearch可以啟動和停止運行以下命令:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
這些命令不提供關(guān)于Elasticsearch是否成功啟動的反饋慕购。相反,這些信息將寫入位于/var/log/elasticsearch/中的日志文件中
默認情況下茬底,Elasticsearch服務(wù)不會在systemd日志中記錄信息沪悲。要啟用journalctl日志記錄,必須從elasticsearch.service文件中ExecStart命令行刪除—quiet選項阱表。
當systemd日志被啟用時殿如,日志信息可以使用journalctl命令獲得:
sudo journalctl -f
要列出elasticsearch服務(wù)的日志條目:
sudo journalctl --unit elasticsearch
從給定時間開始列出elasticsearch服務(wù)的日志條目:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
檢查man journalctl或者https://www.freedesktop.org/software/systemd/man/journalctl.html獲取更多命令行選項。
Docker images
如果安裝了一個Docker圖像最爬,你可以從命令行啟動Elasticsearch涉馁。這里有不同的方法取決于你是使用的開發(fā)模式還是生產(chǎn)模式。請看Running Elasticsearch from the command line.
MSI包
如果你是用.msi包在Windows上安裝Elasticsearch爱致, 你可以從命令行啟動它烤送。如果你想在重啟機器時沒有任何用戶交互啟動Elasticsearch,參考install Elasticsearch as a Windows service蒜鸡。
從命令行啟動
一但安裝完成胯努, Elasticsearch可以從命令行啟動了, 如果沒有作為服務(wù)安裝逢防,并且在安裝完成時配置為啟動,則如下所示:
.\bin\elasticsearch.exe
命令行終端將顯示與下面類似的輸出:
默認情況下蒲讯,Elasticsearch在前臺運行忘朝,除了將日志打印到在日志目錄下的<clustername>.log文件,還會打印到標準輸出判帮, 可以按Ctrl-C停止局嘁。
RPM包
Elasticsearch在安裝后不會自動啟動溉箕。如何啟動和停止Elasticsearch取決于你是否你的系統(tǒng)使用SysVinit或者systemd(新的發(fā)行版使用)。您可以通過運行以下命令來判斷哪個正在被使用:
ps -p 1
用SysV init運行ELasticsearch
使用chkconfig命令來配置Elasticsearch隨機自啟動:
sudo chkconfig --add elasticsearch
Elasticsearch使用service命令啟動和停止:
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
如果Elasticsearch因為任何原因啟動失敗悦昵, 它將會把失敗原因打印到STDOUT肴茄。日志文件在/var/log/elasticsearch目錄下。
使用systemd運行Elasticsearch
要配置Elasticsearch隨機自啟動但指,運行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
Elasticsearch可以像以下這樣啟動和停止:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
這些命令不會提供任何的反饋關(guān)于Elasticsearch是成功啟動還是失敗了寡痰。相反,這個信息將會寫到日志文件里棋凳,位于/var/log/elasticsearch/目錄下拦坠。
默認情況下,Elasticsearch服務(wù)不會在systemd日志中記錄信息剩岳。要啟用journalctl日志記錄贞滨,必須從elasticsearch.service文件中的ExecStart命令行中刪除—quiet選項。
當systemd日志記錄啟用時拍棕,日志記錄信息可以使用journalctl命令查看:
跟蹤日志:
sudo journalctl -f
列出彈性搜索服務(wù)的日志條目:
sudo journalctl --unit elasticsearch
從給定時間開始列出elasticsearch服務(wù)的日志條目:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
停止Elasticsearch
對Elasticsearch的有序關(guān)閉確保了Elasticsearch有機會清理和關(guān)閉未完成的資源晓铆。例如,以一種有序的方式關(guān)閉的節(jié)點將從集群中刪除自己绰播,將日志同步到磁盤骄噪,并執(zhí)行其他相關(guān)的清理活動。通過適當停止彈性搜索幅垮,可以幫助確保有序關(guān)閉腰池。
如果將Elasticsearch作為服務(wù)運行,則可以通過安裝提供的服務(wù)管理功能停止忙芒。如果你直接運行Elasticsearch示弓,你可以通過發(fā)送control-C停止Elasticsearch,如果你在控制臺運行Elasticsearch呵萨,或者通過發(fā)送SIGTERM到POSIX系統(tǒng)上的Elasticsearch進程奏属。您可以通過各種工具(例如ps或jps)獲取PID來發(fā)送信號:
$ jps | grep elasticsearch
14542 Elasticsearch
從Elasticsearch的啟動日志獲得:
[2016-07-07 12:26:18,908][INFO ][node ] [I8hydUG] version[5.0.0-alpha4], pid[15399], build[3f5b994/2016-06-27T16:23:46.861Z], OS[Mac OS X/10.11.5/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_92/25.92-b14]
或者指定在啟動時寫入PID文件的位置(-p <path>):
$ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d
$ cat /tmp/elaticsearch-pid && echo
15516
$ kill - SIGTERM 15516
停止致命錯誤
在彈性搜索虛擬機的生命周期中,會出現(xiàn)一些致命的錯誤潮峦,使虛擬機處于可疑狀態(tài)囱皿。這些致命錯誤包括內(nèi)存不足錯誤、虛擬機內(nèi)部錯誤和嚴重的I/O錯誤忱嘹。
當Elasticsearch檢測到虛擬機遇到這種致命錯誤時嘱腥,Elasticsearch會嘗試記錄錯誤,然后停止虛擬機拘悦。當Elasticsearch啟動這樣的關(guān)機時齿兔,它不會像上面描述的那樣經(jīng)歷有序關(guān)機。Elasticsearch進程還將返回一個特殊的狀態(tài)代碼,指示錯誤的性質(zhì)分苇。
- JVM internal error :128
- Out of memory error :127
- Stack overflow error:126
- Unknown virtual machine error : 125
- Serious I/O error:124
- Unknown fatal error:1