Elasticsearch 的安裝與簡單配置

本地部署和水平擴展

水平擴展圖

很是容易搭建,在我的電腦上便可進行搭建學習html

:tumbler_glass: 圖中幾個節點的名稱和含義java

master node:維護元數據,管理集羣各個節點的狀態node

coordinate node:協調節點,搜索的數據存儲於不一樣的data node上時進行處理linux

data node:負責數據的查詢和導入shell

hot node:熱數據節點,保留短期內的熱數據,超過期間進行遷移到冷節點json

warm node:冷數據節點,處理只讀索引而且不是常常訪問的數據bootstrap

ml node:(TODO:考察多個文檔,暫未發現該節點做用,後續補充)windows

安裝過程

安裝java

  • 運行es,需安裝並配置JDK
    • 設置$JAVA_HOME
  • 各個版本對jdk版本的依賴

安裝es

注:centos

  • 可一次性將windows和linux的同時下載,在本身電腦上用windows操做,服務器上用linux
  • es全家桶要求各個版本一致,爲方便起見,同時下載Elasticsearch,Kibana,Beats,Logstash,下載地址www.elastic.co/cn/download…

windows安裝

  • 解壓已經安裝的elasticsearch壓縮包,(我本地是7.2.0)
  • 到文件夾 elasticsearch-7.2.0\bin下,雙擊 elasticsearch.bat

linux安裝

  • 解壓tar包
  • elasticsearch-7.3.1/bin/elasticsearch(爲防止出現問題,筆者又用最新版的測試了一下安裝過程)

環境:瀏覽器

centos7

jdk8

[root@node2 download]# tar zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz
[root@node2 download]# mv elasticsearch-7.3.1 /home/elasticsearch-7.3.1
 # 注意:es不能使用root用戶啓動,以前我已經建立過esuser用戶了,故修改用戶組便可,建議建立新用戶
[root@node2 home]# chown -R esuser:esuser /home/elasticsearch-7.3.1
[root@node2 home]# su esuser
[esuser@node2 home]$ cd /home/elasticsearch-7.3.1/
[esuser@node2 elasticsearch-7.3.1]$ bin/elasticsearch
複製代碼

若是沒法訪問9200,請移步本章節的 相關問題-linux出現的問題

驗證es是否安裝成功

  • 打開瀏覽器,輸入地址:http://127.0.0.1:9200,如出現如下輸出,表明elasticsearch啓動正常

linux環境下經過curl查看

{
    "name": "DESKTOP-1AMTS94",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "8KXlt8BSRBmB4GikyjYq0A",
    "version": {
        "number": "7.2.0",
        "build_flavor": "default",
        "build_type": "zip",
        "build_hash": "508c38a",
        "build_date": "2019-06-20T15:54:18.811730Z",
        "build_snapshot": false,
        "lucene_version": "8.0.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}
複製代碼

es插件

  • elasticsearch提供插件機制對系統進行擴展
    • Discovery Plugin
    • Analysis Plugin
    • Security Plugin
    • Management Plugin
    • Ingest Plugin
    • Mapper Plugin
    • Backup Plugin

安裝analysis-icu插件

# 安裝插件
bin/elasticsearch-plugin install analysis-icu
 # 查看插件
bin/elasticsearch-plugin list
 # 瀏覽器查看
http://localhost:9200/_cat/plugins
# 顯示結果DESKTOP-1AMTS94 analysis-icu 7.2.0
複製代碼

elatsicsearch的文件目錄結構

目錄 配置文件 描述
bin 腳本文件,包括啓動elasticsearch,安裝插件,運行統計數據等
config elasticsearch.yml 集羣配置文件,user,role based相關配置
JDK java運行環境
data path.data 數據文件
lib java類庫
modules 日誌文件
plugins 包含全部已經安裝的插件
logs path.log 日誌文件

JVM配置(可選)

  • 修改JVM
    • PATH:config/jvm.options
    • 7.2下載的默認配置是1G
  • 配置建議

相關命令

# 啓動單節點
bin/elasticsearch -E node.name=node0 -E cluster.name=esFirst -E path.data=node0_data
 # 運行多實例方法
#linux
bin/elasticsearch -E node.name=node0 -E cluster.name=esFirst -E path.data=node0_data
bin/elasticsearch -E node.name=node1 -E cluster.name=esFirst -E path.data=node1_data
bin/elasticsearch -E node.name=node2 -E cluster.name=esFirst -E path.data=node2_data
bin/elasticsearch -E node.name=node3 -E cluster.name=esFirst -E path.data=node3_data
# windows
 .\bin\elasticsearch.bat -E node.name=node0 -E cluster.name=esFirst -E path.data=node0_data
 .\bin\elasticsearch.bat -E node.name=node1 -E cluster.name=esFirst -E path.data=node1_data
 .\bin\elasticsearch.bat -E node.name=node2 -E cluster.name=esFirst -E path.data=node2_data
 .\bin\elasticsearch.bat -E node.name=node3 -E cluster.name=esFirst -E path.data=node3_data
 # 刪除進程
ps|grep elastcsearch
kill pid
 # 查看集羣
GET http://localhost:9200
#查看nodes
GET _cat/nodes
GET _cluster/health

複製代碼

相關問題

linux出現的問題

  1. seccomp unavailable 錯誤 解決方法:elasticsearch.yml 配置 bootstrap.memory_lock: false bootstrap.system_call_filter: false

  2. max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 解決方法:修改 /etc/security/limits.conf,配置: hard nofile 80000 soft nofile 80000

    ps:本地測試,修改了limits後,須要重啓系統

  3. max virtual memory areas vm.max_map_count [65530] is too low 解決方法:修改 /etc/sysctl.conf,添加 : vm.max_map_count = 262144 而後 sysctl -p 生效

  4. the default discovery settings are unsuitable...., last least one of [....] must be configured 解決方法:elasticsearch.yml 開啓配置: node.name: node-1 cluster.initial_master_nodes: ["node-1"]

  5. localhost能夠鏈接,固定IP沒法訪問

    解決方法:elasticsearch.yml 開啓配置

    network.host: 0.0.0.0

相關閱讀

相關文章
相關標籤/搜索