CentOS 7.3.1611 Linux安裝全文檢索ElasticSearch7.5.1

本文基於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上啓動部署一個單節點的全文檢索服務,希望可以幫助到需要的小夥伴們!
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章