don't run elasticsearch as root
第一步:liunx建立新用戶node
adduser elasearch
而後給建立的用戶寫密碼 password XXX 輸入兩次密碼。bootstrap
第二步:給新建的 elasearch 用戶 受權限,要用 root 用戶受權限。curl
chown -R XXX /你的elasticsearch安裝目錄。 ( chown -R elasearch /opt/elasticsearch
第三步:切換剛纔建立的用戶 而後執行 elasticsearch 。elasticsearch
su elasearch cd /opt/elasticsearch/bin ./elasticsearch
個人一開始的開發環境的JDK是1.8,在啓動 Elasticsearch7.2.0
的時候,啓動日誌會有以下信息:ide
future versions of Elasticsearch will require Java 11; your Java version from [/opt/jdk1.8.0_211/jre] does not meet this requirement
這是因爲Elasticsearch依賴於JDK ,es 和 JDK 有着對應的依賴關係
ui
聽他人的博客說 Elasticsearch 該版本(7.2) 內置了JDK,而內置的JDK是當前推薦的JDK版本。this
固然若是你本地配置了JAVA_HOME那麼ES就是優先使用配置的JDK啓動ES。(言外之意,你不安裝JDK同樣能夠啓動,他試了能夠的。)url
ES推薦使用LTS版本的JDK(這裏只是推薦,JDK8就不支持),若是你使用了一些不支持的JDK版本,ES會拒絕啓動。
spa
對於 JDK 版本的一個大概說明 官網上有JDK 六、七、八、九、10 對應的版本就是JDK1.六、1.七、1.八、1.九、1.10 因此是JDK10版本更高 不過目前使用最多的是1.8
啓動後,
經過日誌
curl localhost:9200
查看本地是否能夠訪問到
若是本地能夠訪問到,且外網訪問不到,可繼續往下看
修改 /config/elasticsearch.yml
文件
把 network.host 這句話放開,改成
network.host: 0.0.0.0
Elasticsearch 啓動過程當中報錯【1】
ERROR: [1] bootstrap checks failed [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, d iscovery.seed_providers, cluster.initial_master_nodes] must be configured [2019-06-03T07:05:44,761][INFO ][o.e.n.Node ] [hz] stopping ... [2019-06-03T07:05:44,788][INFO ][o.e.n.Node ] [hz] stopped [2019-06-03T07:05:44,788][INFO ][o.e.n.Node ] [hz] closing ... [2019-06-03T07:05:44,801][INFO ][o.e.n.Node ] [hz] closed [2019-06-03T07:05:44,804][INFO ][o.e.x.m.p.NativeController] [hz] Native controller process has stopped - no ne w native processes can be started
解決辦法
修改 config/elasticsearch.yml
放開 node.name: node-1
註釋,可更更名稱 node.name: node-1
放開 cluster.initial_master_nodes: ["node-1"]
#這裏的node-1爲node-name配置的值