環境: elasticsearch 6.5.2, java
連接失敗
啟動后當你 使用 curl http://localhost:9200
測試時,得到如下結果
Curl: (7) Failed connect to localhost:9200; Connection refused
這個問題一般是其他問題導致的,請看你啟動日志,如果用的管理服務工具來啟動的,則看它的日志,我這里是 systemctl ,然后命令以及輸出結果是
root@localhost ~]# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2018-12-10 15:26:08 EST; 11min ago
Docs: http://www.elastic.co
Process: 22651 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=1/FAILURE)
Main PID: 22651 (code=exited, status=1/FAILURE)
Dec 10 15:26:08 localhost.localdomain systemd[1]: Started Elasticsearch.
Dec 10 15:26:08 localhost.localdomain systemd[1]: Starting Elasticsearch...
Dec 10 15:26:08 localhost.localdomain elasticsearch[22651]: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
Dec 10 15:26:08 localhost.localdomain elasticsearch[22651]: could not find java; set JAVA_HOME or ensure java is in PATH
Dec 10 15:26:08 localhost.localdomain systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
Dec 10 15:26:08 localhost.localdomain systemd[1]: Unit elasticsearch.service entered failed state.
Dec 10 15:26:08 localhost.localdomain systemd[1]: elasticsearch.service failed.
沒有發現 java 環境
如上圖錯誤細節,告訴我們沒有java 相關環境,首先確認下 是否能 運行 java,不過不能,請配置Java環境然后source,具體請百度。
解決了java 環境問題,還需要將 java 可執行命令 放到 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
下的任意一個中, 這里放到 /usr/bin
命令: ln -s /usr/local/jdk1.8.0_XXX/bin/java /usr/bin/java
開始遠程訪問后,bootstrap checks failed
本地訪問完全問題,然后開啟遠程后gg了, 直接上錯誤
[2018-12-10T17:34:23,136][DEBUG][o.e.a.ActionModule ] [xRWzOmS] Using REST wrapper from plugin org.elasticsearch.xpack.security.Security
[2018-12-10T17:34:23,319][INFO ][o.e.d.DiscoveryModule ] [xRWzOmS] using discovery type [zen] and host providers [settings]
[2018-12-10T17:34:24,059][INFO ][o.e.n.Node ] [xRWzOmS] initialized
[2018-12-10T17:34:24,059][INFO ][o.e.n.Node ] [xRWzOmS] starting ...
[2018-12-10T17:34:24,201][INFO ][o.e.t.TransportService ] [xRWzOmS] publish_address {192.168.5.232:9300}, bound_addresses {192.168.5.232:9300}
[2018-12-10T17:34:24,219][INFO ][o.e.b.BootstrapChecks ] [xRWzOmS] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2018-12-10T17:34:24,262][INFO ][o.e.n.Node ] [xRWzOmS] stopping ...
[2018-12-10T17:34:24,326][INFO ][o.e.n.Node ] [xRWzOmS] stopped
[2018-12-10T17:34:24,326][INFO ][o.e.n.Node ] [xRWzOmS] closing ...
[2018-12-10T17:34:24,335][INFO ][o.e.n.Node ] [xRWzOmS] closed
[2018-12-10T17:34:24,337][INFO ][o.e.x.m.j.p.NativeController] [xRWzOmS] Native controller process has stopped - no new native processes can be started
我參考了基本問題,知道這是怎么回事,至於解決方式,就
security 問題
es 從6.3 以后就沒有單獨x-pack 組件了,全是是api, 可以參考官網:xpack-api
而沒有付費是不能享受用戶名密碼登錄了,沒有付費 去看是這樣的
GET _xpack/security/_authenticate
{
"error": {
"root_cause": [
{
"type": "security_exception",
"reason": "current license is non-compliant for [security]",
"license.expired.feature": "security"
}
],
"type": "security_exception",
"reason": "current license is non-compliant for [security]",
"license.expired.feature": "security"
},
"status": 403
}
具體哪些功能開放,哪些功能收費請看: Subscriptions that Go to Work for You