ubuntu16.04采用deb包方式安装es7.6.2及部署es集群
一、安装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
至此,集群部署成功结束~~~