本文基於Linux環境部署和啓動ElasticSearch7.5全文檢索服務,相關步驟中做了一些在Linux上的注意事項和配置。
一、部署環境
1、Linux系統版本:CentOS 7.3.1611
2、ElasticSearch7.5.1安裝包:elasticsearch-7.5.1-linux-x86_64.tar.gz
3、使用ES內置的JDK
二、安裝和啓動
1、準備好ElasticSearch7.5.1的Linux版本的安裝包,這裏上傳到/opt/media目錄下:
elasticsearch-7.5.1-linux-x86_64.tar.gz
2、在Linux上安裝ElasticSearch需要用一個普通賬戶,用root賬戶存在問題,需要創建指定的用戶去啓動和部署ElasticSearch,用戶名稱不一定必須叫elasticsearch,如下:
useradd elasticsearch
passwd elasticsearch
3、使用root高權限用戶,設置該用戶的ulimit設置,輸入如下命令編輯文件:
vi /etc/security/limits.conf
在文件後面,設置elasticsearch用戶的系統資源限制
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
4、修改linux內核文件,設置vm.max_map_count參數,相關命令如下所示:
vi /etc/sysctl.conf
在文件的最後增加
vm.max_map_count=655360
保存退出後,執行如下命令使內核修改生效
sysctl -p
如果不設置用戶的ulimit設置和系統內核參數,會出現類似如下錯誤提示:
[1]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
或:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
5、創建存儲解壓後的目錄,並賦予所屬權限,然後切換到elasticsearch用戶後,解壓安裝介質包
mkdir es7.5
chown elasticsearch:elasticsearch es7.5
chown elasticsearch:elasticsearch elasticsearch-7.5.1-linux-x86_64.tar.gz
mv elasticsearch-7.5.1-linux-x86_64.tar.gz es7.5/
su - elasticsearch
cd /opt/media/es7.5
tar -zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz
6、更改ElasticSearch配置文件默認JDK引用的位置爲內置的路徑,操作命令如下:
vi /opt/media/es7.5/elasticsearch-7.5.1/bin/elasticsearch-env
修改大概39行附近的讀取java的相關代碼,修改下方的第2行和第三行,更改爲如下類似:
if [ ! -z "$JAVA_HOME" ]; then
JAVA="$JAVA_HOME/bin/java"
JAVA_TYPE="JAVA_HOME"
else
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled jdk"
fi
7、更改config文件夾下的elasticsearch.yml文件,可以根據需要修改默認端口9200爲其他,由於目前爲單節點,主要需要設置如下參數,
network.host: 0.0.0.0
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]
否則會出現如下提示:
network.host: 0.0.0.0
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]
8、最後輸入如下命令啓動,當啓動命令中不指定-d參數時爲前臺啓動,窗口關閉則退出服務,如下:
bin/elasticsearch
或後臺方式啓動
bin/elasticsearch -d
9、啓動成功後,在瀏覽器中訪問http://ip:9200/,如果出現類型結果,則證明安裝成功!
{
"name" : "mydc-es-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "_na_",
"version" : {
"number" : "7.5.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
"build_date" : "2019-12-16T22:57:37.835892Z",
"build_snapshot" : false,
"lucene_version" : "8.3.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
這樣就簡單的在Linux上啓動部署一個單節點的全文檢索服務,希望可以幫助到需要的小夥伴們!