Elasticsearch學習一下載安裝

本教程主要參考Elasticsearch官網文檔,目前網絡上流傳的《Elasticsearch權威指南》就是官網文檔的中文翻譯,但是中文版過於陳舊,因此根據官網上的英文版指南自己編寫的簡易版入門教程。

環境搭建

目前elasticsearch最新版本已經到達7.x,最新的GA版本是6.7.0。本教程基於6.7.0版本,在自己的雲服務器上配置elasticsearch,自己本地使用kibana與elasticsearch交互。

kibana是elasticsearch提供的可免費用於生產環境的監控工具。

環境要求

elasticsearch運行環境需要安裝JDK7。

下載Elasticsearch

windows環境可從https://www.elastic.co/cn/下載zip或msi安裝。

linux或mac環境使用 tar.gz文件,最簡便的方式是使用 wget工具下載。

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

  2. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz.sha512

  3. shasum -a 512 -c elasticsearch-6.7.0.tar.gz.sha512

  4. tar -xzf elasticsearch-6.7.0.tar.gz

  5. cd elasticsearch-6.7.0/

下載、解壓縮即可,不需要安裝。

還可以配置ES_HOME變量,設置到shell環境變量中

啓動Elasticsearch

創建用戶

因爲elasticsearch不允許在root用戶啓動,所以需要新建一個用戶,同時給用戶設置足夠的權限以運行elasticsearch。

  1. #添加一個用戶:elasticsearch

  2. $useradd elasticsearch

  3. #給用戶elasticsearch設置密碼,連續輸入2次

  4. $passwd elasticsearch

  5. #創建一個用戶組 es

  6. groupadd es

  7. #分配 elasticsearch 到 es 組

  8. usermod -G elasticsearch es

  9. #這裏注意下,如果提示用戶“es”不存在,那麼是因爲服務器版本問題,你可以換成 usermod -G es elasticsearch ,也就是用戶和用戶組對調一下使用。

  10. #在elasticsearch 根目錄下,給定用戶權限。-R表示逐級(N層目錄) , * 表示 任何文件

  11. chown -R elasticsearch.es *

  12. #切換到elasticsearch用戶

  13. su elasticsearch

運行elasticsearch

在elasticsearch的安裝目錄下運行如下命令,可以通過參數 -d設置後臺啓動

  1. bin/elasticsearch #前臺啓動方式,通過ctrl+c可終止

  2. bin/elasticsearch -d #後臺啓動方式

  3. bin/elasticsearch -d -p <pid> #後臺啓動方式,指定進程id文件,可以通過pkill -F <pid>關閉進程如果沒有指定 -p參數,只能通過 kill工具關閉elasticsearch。

使用elasticsearch

通過curl工具向 127.0.0.1:9200發送http的get請求,獲得如下信息即說明啓動成功。

  1. curl -X GET "127.0.0.1:9200/"

  2. {

  3. "name" : "xUpgsYd",

  4. "cluster_name" : "elasticsearch",

  5. "cluster_uuid" : "O3PMXWL2Swa59ti-_wKS2A",

  6. "version" : {

  7. "number" : "6.7.0",

  8. "build_flavor" : "default",

  9. "build_type" : "tar",

  10. "build_hash" : "8453f77",

  11. "build_date" : "2019-03-21T15:32:29.844721Z",

  12. "build_snapshot" : false,

  13. "lucene_version" : "7.7.0",

  14. "minimum_wire_compatibility_version" : "5.6.0",

  15. "minimum_index_compatibility_version" : "5.0.0"

  16. },

  17. "tagline" : "You Know, for Search"

  18. }

配置elasticsearch

elasticsearch的默認配置文件位於 $ES_HOME/config/elasticsearch.yml。可以通過配置文件中添加配置。

elasticsearch也可以在命令行中添加配置,使用 -E前綴即可。

  1. ./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

常見錯誤

權限限制

如果報錯信息顯示xxx沒有權限,拒絕執行或者沒有xx權限進行創建、讀取、執行等,說明當前用戶的權限不夠,使用 chmod命令賦予足夠權限即可。

配置外網訪問

因爲elasticsearch配置在了雲服務器上,所以需要設置外網訪問。

elasticsearch.yml文件中配置 network.host:0.0.0.0

本地訪問結果:

提示 vm.max_map_count值過低

[2019-03-31T12:08:40,836][INFO ][o.e.t.TransportService ] [xUpgsYd] publishaddress {172.16.226.15:9300}, boundaddresses {0.0.0.0:9300} [2019-03-31T12:08:40,886][INFO ][o.e.b.BootstrapChecks ] [xUpgsYd] bound or publishing to a non-loopback address, enforcing bootstrap checks ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.maxmapcount [65530] is too low, increase to at least [262144]

可以看到錯誤提示 vm.max_map_count過小,需要至少提高到 262144

  • 臨時提高了vm.maxmapcount的大小,此操作需要root權限:

  1. sudo sysctl -w vm.max_map_count=262144

  2. sysctl -a|grep vm.max_map_count

  • 永久修改vm.maxmapcount:

    1. #需要先切換到root用戶

    2. vi /etc/sysctl.conf

    3. #添加下面配置:

    4. vm.max_map_count=655360

    5. #並執行命令:

    6. sysctl -p

    7. #然後,重新啓動elasticsearch,即可啓動成功。

    Kibana安裝

    從elasticsearch下載kibana,解壓即可

    修改 config/kibana.yml配置文件:

    1. elasticsearch.hosts: ["http://ip:port"]

    本地運行kibana,瀏覽器輸入: localhost:5601/即可使用kibana訪問搭建在遠程雲服務器上的elasticsearch實例。


    相關文章