很是容易搭建,在我的電腦上便可進行搭建學習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
注:centos
- 可一次性將windows和linux的同時下載,在本身電腦上用windows操做,服務器上用linux
- es全家桶要求各個版本一致,爲方便起見,同時下載Elasticsearch,Kibana,Beats,Logstash,下載地址www.elastic.co/cn/download…
elasticsearch-7.2.0\bin
下,雙擊 elasticsearch.bat
環境:瀏覽器
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出現的問題
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"
}
複製代碼
# 安裝插件
bin/elasticsearch-plugin install analysis-icu
# 查看插件
bin/elasticsearch-plugin list
# 瀏覽器查看
http://localhost:9200/_cat/plugins
# 顯示結果DESKTOP-1AMTS94 analysis-icu 7.2.0
複製代碼
目錄 | 配置文件 | 描述 |
---|---|---|
bin | 腳本文件,包括啓動elasticsearch,安裝插件,運行統計數據等 | |
config | elasticsearch.yml | 集羣配置文件,user,role based相關配置 |
JDK | java運行環境 | |
data | path.data | 數據文件 |
lib | java類庫 | |
modules | 日誌文件 | |
plugins | 包含全部已經安裝的插件 | |
logs | path.log | 日誌文件 |
# 啓動單節點
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
複製代碼
seccomp unavailable 錯誤 解決方法:elasticsearch.yml 配置 bootstrap.memory_lock: false
bootstrap.system_call_filter: false
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後,須要重啓系統
max virtual memory areas vm.max_map_count [65530] is too low 解決方法:修改 /etc/sysctl.conf,添加 : vm.max_map_count = 262144
而後 sysctl -p 生效
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"]
localhost能夠鏈接,固定IP沒法訪問
解決方法:elasticsearch.yml 開啓配置
network.host: 0.0.0.0