一、elasticsearch啟動命令
elasticsearch是通過命令行方式啟動的,執行命令前需要確保Java環境已經安裝。啟動命令如下:
./bin/elasticsearch
啟動過程大致分為以下幾個步驟:
1、首先會檢查JVM參數是否正確;
2、其次會檢查配置文件是否正確;
3、然後會創建日誌文件;
4、接着啟動elasticsearch服務;
5、最後開始監聽端口並對外提供服務。
二、elasticsearch啟動卡住了
有時候我們在啟動elasticsearch時可能會遇到卡住的情況,通常這種情況是由於JVM參數設置不當、硬件資源不足或其他未知原因造成的。遇到這種情況需要先檢查一下JVM的日誌,看看是不是有什麼異常信息。
另外,我們還可以通過增加JVM內存大小來解決這個問題,JVM內存的配置文件為elasticsearch.yml,將下面的參數值調大即可。
bootstrap.memory_lock: true discovery.type: single-node ES_JAVA_OPTS: "-Xms4g -Xmx4g"
三、elasticsearch啟動使用root
通常情況下我們不應該以root用戶啟動elasticsearch,因為elasticsearch使用root權限啟動會存在安全問題,而且我們也不需要root權限來啟動elasticsearch。如果實在無法避免使用root權限啟動,可以在啟動命令前加上sudo。
sudo ./bin/elasticsearch
四、elasticsearch啟動報錯
在啟動elasticsearch時可能會遇到各種各樣的報錯,這些報錯信息通常是非常友好的。針對報錯信息可以通過檢查JVM配置、配置文件格式有誤、端口佔用等方面進行排查。
例如下面這個錯誤表示JVM內存不足:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000ccb80000, 273678336, 0) failed; error='Cannot allocate memory' (errno=12)
又例如下面這個錯誤表示配置文件格式有誤:
Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ElasticSearchParseException[Failed to parse the [http.port] setting value [invalid]]; nested: NumberFormatException[For input string: "invalid"];
五、elasticsearch啟動關閉
如果需要關閉elasticsearch,可以直接在終端中按下Ctrl+C。
如果需要遠程關閉elasticsearch,則需要發送一個POST請求到http://localhost:9200/_shutdown,如下所示:
curl -X POST "http://localhost:9200/_shutdown"
六、elasticsearch啟動失敗
如果elasticsearch啟動失敗,可能是由於以下原因導致:
1、JVM啟動參數設置有誤;
2、硬件資源不足;
3、操作系統限制了進程數量;
4、配置文件格式有誤;
5、已有的elasticsearch用戶沒有啟動elasticsearch的權限。
七、elasticsearch啟動卡住
如果elasticsearch啟動過程中卡住了,我們可以先檢查一下JVM參數是否設置正確,同時也可以查看一下日誌文件,看看是否有什麼異常信息。
如果elasticsearch服務已經在運行了但是管理界面沒有響應,則可能是由於TCP/IP端口被防火牆或其它原因阻塞了。
八、elasticsearch啟動參數
在啟動elasticsearch時我們可以通過傳遞參數來改變默認行為,例如啟動時關閉搜索緩存:
./bin/elasticsearch -E "search.cache.enabled=false"
更多啟動參數可以查看elasticsearch的官方文檔。
九、elasticsearch啟動日誌
elasticsearch啟動時會生成日誌文件,日誌文件地址為logs/elasticsearch.log,在調試過程中可以通過查看日誌文件來了解elasticsearch運行的詳細信息。
十、elasticsearch啟動不了
如果elasticsearch啟動不了,可能是由於硬件資源不足導致的或者操作系統設置了進程數量限制,請先查看JVM內存、硬盤空間是否足夠。
如果硬件資源充足,可以嘗試修改操作系統的限制值,如下所示:
sudo sysctl -w vm.max_map_count=262144
以上是macOS的設置方法,如果是其他操作系統需要查看相關文檔。
總之,elasticsearch啟動過程中遇到問題並不可怕,很多問題都可以通過查看日誌、調整JVM參數、修改配置文件來解決。逐個排查問題,我們相信你一定能順利啟動elasticsearch。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196118.html