前言: 本環境在阿里輕量級服務器(Ubuntu)上 執行
(一) 環境搭建
1.1 java環境
環境:
ES 為 java 語言撰寫, 需要有 java 環境
版本說明:
ES 5 需要 Java 8 及以上的版本
ES 7 開始內置了 Java 環境
apt update
apt install default-jre // 下載jdk環境
驗證輸入: java --version 回傳以下代碼算成功

1.2 Elasticsearch下載
通過官方下載地址挑選你喜歡的下載包
下載地址: https://www.elastic.co/cn/downloads/elasticsearch
或者通過以下命令下載
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1.tar.gz
下載完后解壓
tar -xzvf elasticsearch-7.15.1.tar.gz
解壓完后可以進入對應的解壓后的檔案夾
檔案說明(此說明參照原始碼閱讀網,大曾老師的檔案):
bin:腳本檔案,包括啟動elasticsearch,安裝插件,運行統計資料等
config:集群組態檔,jvm(7.1默認1G),user,role based相關配置(elasticsearch.yml)
jdk:Java運行壞境
data:資料檔案(path.data)
lib:Java類別庫
logs:日志檔案(path.log)
modules:包含所有ES模塊
plugins:包含所有已安裝插件
(二) ElasticSearch啟動
ES默認不能用root用戶啟動,需要創建用戶執行安裝
創建用戶
groupadd esgroup // 添加用戶組
useradd esuser -g esgroup // 添加用戶
passwd esuser // 設定密碼
espwd chown -R esuser:esgroup elasticsearch-7.xx // 設定檔案權限
su esuser // 切換用戶(注: 一定要記得你root用戶的密碼喲,要不切換回root用戶,切不回去了,哈哈哈)
切換到解壓后的檔案夾下 直接運行
./bin/elasticsearch -d
哈哈哈,你可能會發現啟不起來
(三) 啟動和訪問問題描述and解決
3.1 jvm未配置,卡頓
執行完這邊命令后,你服務器可能會卡頓,原因: jvm引數未配置,可能有點飄,導致cpu占太高了(我猜的)
./bin/elasticsearch -d
解決辦法: 進入**/config** 目錄下
修改 jvm.options 檔案命令和配置如下
cd config
vim jvm.options
# 修改引數如下(服務器小,不配大容量)
-Xms256m
-Xmx256m
配置完后,在執行啟動命令
不出意外,它又啟動失敗了
列印日志如下

不知道在哪看日志的,直接到logs檔案夾下 查看 elasticsearch.log 檔案
找到問題,咱就解決問題
3.2 問題一
max number of threads [3458] for user [esuser] is too low, increase to at least [4096]
哈哈哈,問題不會,我找度娘啊
不出意外, 我看到了它 : https://blog.csdn.net/zeorg/article/details/115209262
我先配置了,試試,找到的答案不一定對哦
3.3 問題二
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
我找到了它: https://blog.csdn.net/xcc_2269861428/article/details/100186654
問題正常解決,具體原因未深究
3.4 問題三
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
這個好像是要默認啟動一個節點配置啥的
直接貼路徑了: https://blog.csdn.net/qq_43655835/article/details/104637625
我按照上面邏輯解決辦法操作了下系統,然后重啟了下服務器
問題一,還是有問題
經過思考后,我改了以下內容
我將
elasticsearch soft nproc 65535
elasticsearch hard nproc 65535
改為了
esuser soft nproc 65535
esuser hard nproc 65535
我默認猜測這個引數是給用戶設定執行緒數(其實問題一的博主也沒錯,哈哈哈)
(注: 網上查詢的解決辦法不要一味跟著亂操作,要大概明白原因,才操作,深有體會)
最后可能會出現的問題,就是你訪問默認的9200埠訪問不到,反正我出現了
可以參照: https://blog.csdn.net/yang958554999/article/details/105334505
然后通過ip+9200(默認埠)訪問到以下內容就算搭建成功了

其他命令
查詢行程:
ps -ef | grep elasticsearch
停掉行程:
kill -9 pid
最后的最后,哈哈哈,我下班了,今天下班有點晚了,都要7點半了,拜拜
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336978.html
標籤:其他
