第一部分:過程
第一步:安裝JDK蛤高,elasticsearch運(yùn)行是依賴jdk環(huán)境的,這個(gè)自行了解安裝
第二步:
2.1 下載elasticsearch,可以自行去官網(wǎng)下載,我使用的是7.3.1版本丝蹭,鏈接:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.1-linux-x86_64.tar.gz
2.2? 解壓安裝包命令 tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz
2.3 創(chuàng)建ES用戶和組(創(chuàng)建elsearch用戶組及elsearch用戶),因?yàn)槭褂胷oot用戶執(zhí)行ES程序坪蚁,將會(huì)出現(xiàn)錯(cuò)誤奔穿;所以這里需要?jiǎng)?chuàng)建單獨(dú)的用戶去執(zhí)行ES 文件;命令如下:
命令一:groupadd elsearch
命令二:useradd elsearch -g elsearch
命令三:chown -R elsearch:elsearch elasticsearch-7.3.1? 該命令是更改該文件夾下所屬的用戶組的權(quán)限
2.4 修改ES配置文件敏晤,使用cd命令進(jìn)入到config 文件下贱田,執(zhí)行?vi elasticsearch.yml 命令,如圖所示嘴脾,本人沒有配置集群男摧,只是簡單的配置了一下,詳細(xì)說明可以參考官網(wǎng)
2.4 vim?elasticsearch-7.3.1/config/jvm.options??修改jvm內(nèi)存(這有個(gè)上限32G,默認(rèn)是1G,建議是總內(nèi)存的一半,由于我這個(gè)服務(wù)器本身內(nèi)存較小就隨便設(shè)置一個(gè)先啟動(dòng)再說)
2.5 su elsearch 切換到es用戶统阿,到bin目錄下啟動(dòng)?./elasticsearch彩倚,./elasticsearch -d可以切換為后臺啟動(dòng)筹我,啟動(dòng)后在瀏覽器通過ip:9200可以看到以下結(jié)果
第二部分:問題
問題一:
Exception in thread "main" java.lang.RuntimeException: starting java failed with [137]
output:
error:
at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:111)
at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:79)
at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:57)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:89)
由于服務(wù)器內(nèi)存不足扶平,elasticsearc的jvm默認(rèn)內(nèi)存是1G,可以通過修改elasticsearch的config/jvm.options蔬蕊,上面安裝過程有寫到结澄,請留意看
問題二:
memory locking requested for elasticsearch process but memory is not locked
原因:鎖定內(nèi)存失敗
解決方案:
切換到root用戶,編輯limits.conf配置文件岸夯, 添加類似如下內(nèi)容:
sudo vim /etc/security/limits.conf
添加如下內(nèi)容:
* soft memlock unlimited
* hard memlock unlimited
備注:* 代表Linux所有用戶名稱
保存麻献、退出、重新登錄才可生效
臨時(shí)取消限制
ulimit -l unlimited
問題三
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:最大虛擬內(nèi)存太小
解決方案:切換到root用戶下猜扮,修改配置文件sysctl.conf
sudo vim /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并執(zhí)行命令:
sysctl -p
問題四:
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
到es的config目錄下勉吻,修改elasticsearch.yml的配置
#cluster.initial_master_nodes: ["node-1", "node-2"]
cluster.initial_master_nodes: ["node-1"] 這個(gè)的話,這里的node-1是上面一個(gè)默認(rèn)的記得打開就可以了