1. 程式人生 > >linux系統下安裝elasticsearch

linux系統下安裝elasticsearch

linux系統下安裝elasticsearch

公司最近環境初步部署完成,本著有新版本不用舊版本的原則,所以剛搭好的基礎環境,又得重新部署一遍。(記筆記真的很重要,不要問我是怎麼知道的)

  • 系統環境:centos7
  • 軟體版本:elasticsearch 6.4.0
es的執行是需要Java的環境的,這裡預設大家已經安裝好了,jdk.
_首先去官網下載es安裝包:
    https://www.elastic.co/downloads/elasticsearch

    也可以直接 wget 加上下載地址。

接著解壓安裝包,用 tar -zxvf 跟上下載下來的檔案就行了
這裡需要注意一點的是:es預設root使用者不能啟動的,所以需要新建一個使用者來啟動es;

建立使用者名稱為 es 的使用者
useradd es
設定 es 使用者的密碼
passwd es

建立 es 的 data 和 logs 目錄
mkdir elasticsearch-5.6.0/data
mkdir elasticsearch-5.6.0/logs 

將 /usr/local/elasticsearch/elasticsearch-6.4.0 的擁有者設定為 es
chown -R es:es /usr/local/elasticsearch/elasticsearch-6.4.0

編輯配置檔案config/elasticsearch.yml
network.host: 你自己的伺服器ip
http.port: 9200

使用su命令來切換使用者;
# su es
bin/elasticsearch -d
注:-d 是後臺啟動,第一次啟動不建議後臺啟動。
第一次啟動的時候一般會報錯,你需要看下日誌
可能遇到的錯誤 1:
    [1]: max file descriptors [4096] for elasticsearch process
is too low, increase to at least [65536]

解決辦法:

    # 切換到root使用者修改
    vim /etc/security/limits.conf

    # 在最後面追加下面內容
    es hard nofile 65536
    es soft nofile 65536

修改完後,切換es使用者使用如下命令檢視是否修改成功:
    ulimit -Hn
    65536
可能遇到的錯誤 2
: [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 解決辦法: # 切換到root使用者 vim /etc/sysctl.conf # 在最後面追加下面內容 vm.max_map_count=262144 # 使用 sysctl -p 檢視修改後的結果 sysctl -p
可能遇到的錯誤 3Java HotSpot(TM) 64-Bit Server VM warning: INFO: 
    os::commit_memory(0x0000000085330000, 2060255232, 0) failed;
    error='Cannot allocate memory' (errno=12)

解決辦法:
    # 由於elasticsearch5.0預設分配jvm空間大小為2g,修改jvm空間分配
    # 如果使用虛擬機器安裝,記憶體最好不小於2G
    # vim config/jvm.options  
    -Xms512m
    -Xmx512m

至此到這裡我的es已經可以成功啟動了;
訪問:10.0.86.202:9200(寫上你的IP加上埠號9200)
頁面出現:
{
"name" : "_HfhMW2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "IIH5LYnaTvOlPEB00qAF8A",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

說明你的ES已經成功啟動了!!!

小尾巴:

本人踏入Java開發的行列不就,這裡寫部落格就是當一個備忘錄使用,
以後再用到的時候看自己部落格就OK了,很省事情有沒有。有什麼意見問題,
大聲的說出來,大家一起討論。
    接下來有時間的話會下一個ik分詞器的文章,有興趣的可以後續關注。。。
    (轉載請註明:CSDN 張益達)