ElasticSearch部署

Elasticsearch 7.17.0 +

ES默认web端口:9200

ES默认节点端口:9300

部署ElasticSearch

1.查看环境匹配版本

2.了解目录结构

3.创建ES用户

4.下载Elasticsearch,并授权ES用户

5.添加环境变量

6.修改配置文件

7.启动

8.验证

9.其他,可能遇到的报错

第一步,查看环境匹配版本

官网环境依赖对应关系表:https://www.elastic.co/cn/support/matrix#matrix_ivm

每个版本的es对应不同版本的jdk,所以安装es版本要先查看匹配的jdk版本!

注:从es7.0之后开始内置了java环境!

第二步,了解目录结构

主配置文件:ES解压目录/config/elasticsearch.yml

jvm配置文件:ES目录/config/jvm.option

注:java虚拟机最大内存不能超过32G,Xms初始内存,Xmx最大内存

第三步,创建ES用户

elasticsearch程序不能在root用户下运行,所以需要为其创建一个普通用户

1
useradd es

第四步,下载Elasticsearch,并授权ES用户

官网下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

1
2
3
4
5
6
7
8
#下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz

#解压
 tar -xzvf elasticsearch-7.17.0-linux-x86_64.tar.gz -C /usr/local

#授权
chown -R es:es /usr/local/elasticsearch-7.17.0

第五步,添加环境变量

添加ES_HOME环境变量,就是刚刚解压的目录

1
2
3
4
5
6
7
8
#添加环境变量
echo '
export ES_HOME=/usr/local/elasticsearch-7.17.0
export PATH=$PATH:$ES_HOME/bin
'>> /etc/profile

#生效
source /etc/profile

查看bin/elasticsearch-env文件文件中有标识环境变量!

ES解压目录/config/elasticsearch.yml中涉及修改端口及请求限制的选项

第六步,修改配置文件

修改配置文件:ES解压目录/config/elasticsearch.yml

1
2
#接受被请求的IP范围多个使用,好分隔
sed 's/network.host:/c network.host: 0.0.0.0/' ES解压目录/config/elasticsearch.yml

第七步,启动

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#再次确认权限是否遗漏或文件权限被修改
chown -R es:es /usr/local/elasticsearch-7.17.0

#切换es用户
su - es


#直接启动并打印日志
elasticsearch

#后台运行
elasticsearch -d

第八步,验证

打开web验证:http://ip:9200

能看到如下信息则表示安装成功!

其他,可能遇到的错误

问题1:bootstrap check failure [1] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

产生原因:

虚拟内存问题

解决方法:

1
2
3
4
5
6
#第一种解决方案:临时设置虚拟内存
sudo sysctl -w vm.max_map_count=262144

#第二种解决方案:修改内核文件/etc/sysctl.conf
echo 'vm.max_map_count=262144' >/etc/sysctl.conf
sysctl -p

问题1.bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

产生原因:

配置文件中"[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]"3个选项都没有配置内容所以报错

解决方法:

1
2
3
#修改配置文件:ES解压目录/config/elasticsearch.yml
#追加一个3个选项中的任意一项即可,以增加本机地址为例
discovery.seed_hosts: ["127.0.0.1"]