一、安裝es
1、安裝open-jdk
sudo apt-get install openjdk-8-jdk
2、官網查找需要的es版本
es官網:https://www.elastic.co/cn/downloads/elasticsearch
點擊如下圖【apt-get】
查找自己想要的版本,點擊使用deb方式安裝,如下圖:
3、安裝es-7.6.2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-amd64.deb.sha512 shasum -a 512 -c elasticsearch-7.6.2-amd64.deb.sha512 sudo dpkg -i elasticsearch-7.6.2-amd64.deb
4、修改配置文件elasticsearch.yml
vi /etc/elasticsearch/elasticsearch.yml
5、修改jvm.options
6、啟動es
sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/ #目錄的owner和group改成elasticsearch
systemctl enable elasticsearch.service #設置es開機自啟動 sudo systemctl start elasticsearch.service #啟動es sudo systemctl stop elasticsearch.service #停止es #查看es運行狀態 service elasticsearch status #查看報錯日志 tail -f /var/log/elasticsearch/elasticsearch.log
7、檢查是否運行正常
curl localhost:9200
如下圖:安裝啟動正常
二、部署es集群
備注:這里准備三台ubuntu機器——每台機器都裝了java和es:
192.168.0.11
192.168.0.12
192.168.0.13
1、創建存放es的數據和日志目錄
mkdir -p /elasticsearch/data nkdir -p /elasticsearch/log #賦權限,否則會報錯 chown -R elasticsearch:elasticsearch /elasticsearch/log/ chown -R elasticsearch:elasticsearch /elasticsearch/data/
ps:這里修改的原因是!!!默認未修改es存儲的數據和日志目錄,出現一個問題就是各節點啟動后無法集成為集群,修改后重啟啟動就形成集群,很奇怪~
2、修改每台機器的配置文件
vi /etc/elasticsearch/elasticsearch.yml
修改內容如下:
另外兩台機器主要修改以下內容,其他與上面節點配置一樣:
3、啟動檢查
1)啟動各節點es,執行命令:
serivce elasticsearch start
2)檢查各節點es啟動狀態
service elasticsearch status
3)查看es集群日志
tail -f /elasticsearch/log/es-cluster.log #找到es日志目錄(可在elasticsearch.yml的path.logs找到日志目錄),cd到日志目錄查看:集群名稱.log
4)瀏覽器訪問,查看集群各種狀態:
http://192.168.0.11:9200/_cat/nodes?pretty #查看集群節點狀態
http://192.168.0.11:9200/_cat/health?v #查看集群健康狀態
green:表示正常狀態
4、報錯處理
es集群其中一節點連接不上,查看日志報錯:
java.lang.IllegalStateException: failure when sending a validation request to node
報錯原因是:該節點之前已經啟動過,有歷史數據沒有清理
解決辦法:
——停止es
——刪除此節點data目錄下存儲的數據,重新啟動:可在elasticesearch.yml找到path.data,查找目錄,到目錄下刪除數據
#停止es
service elasticsearch stop
#譬如這里: cd /elasticsearch/data/ rm -rf * #啟動es service elasticsearch start
至此,集群部署成功結束~~~