1,官網下載安裝包
2,解壓安裝包到指定的目錄
tar -zxvf elasticsearch-6.5.4.tar.gz
3,重命名
mv elasticsearch-6.2.1 elasticsearch
4,創建數據存放路徑(應將設置配置為在Elasticsearch主目錄之外定位數據目錄,以便在不刪除數據的情況下刪除主目錄!)
mkdir -p /home/data/es
5,建立用戶並授權(es不能用root運行)
groupadd es
useradd es -g es
passwd es
chown -R es.es /home/elasticsearch /home/data/es
6,修改elasticsearch配置文件
vi /home/elasticsearch/config/elasticsearch.yml 將配置文件以下內容進行修改:
#集群的名稱
cluster.name: es6.2
#節點名稱,其余兩個節點分別為node-2 和node-3
node.name: node-1
#指定該節點是否有資格被選舉成為master節點,默認是true,es是默認集群中的第一台機器為master,如果這台機掛了就會重新選舉master
node.master: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#允許該節點存儲數據(默認開啟)
node.data: true
#索引數據的存儲路徑
path.data: /home/data/es
#日志文件的存儲路徑
path.logs: /home/data/es/logs
#設置為true來鎖住內存。因為內存交換到磁盤對服務器性能來說是致命的,當jvm開始swapping時es的效率會降低,所以要保證它不swap
bootstrap.memory_lock: true
#綁定的ip地址
network.host: 0.0.0.0
#設置對外服務的http端口,默認為9200
http.port: 9200
# 設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
#Elasticsearch將綁定到可用的環回地址,並將掃描端口9300到9305以嘗試連接到運行在同一台服務器上的其他節點。
#這提供了自動集群體驗,而無需進行任何配置。數組設置或逗號分隔的設置。每個值的形式應該是host:port或host
#(如果沒有設置,port默認設置會transport.profiles.default.port 回落到transport.tcp.port)。
#請注意,IPv6主機必須放在括號內。默認為127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["192.168.8.101:9300", "192.168.8.103:9300", "192.168.8.104:9300"]
#如果沒有這種設置,遭受網絡故障的集群就有可能將集群分成兩個獨立的集群 - 分裂的大腦 - 這將導致數據丟失
discovery.zen.minimum_master_nodes: 3
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
7,啟動
su es
/home/elasticsearch/bin/elasticsearch -d
8,坑問題
啟動發現報錯:
解決方法:
su root
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
vi /etc/sysctl.conf
vm.max_map_count=655360,修改完之后需重新啟動機器,臨時修改
執行命令:
sysctl -w vm.max_map_count=262144
查看結果:
sysctl -a|grep vm.max_map_count
顯示:
vm.max_map_count = 262144
改完之后需要推出終端,重新連接,然后再次啟動es