目录
一、安装环境
- Linux(Centos 7)
- JDK 8 及以上
二、Elasticsearch下载
官方 比较慢
华为镜像 下载速度不错
我下载的是 elasticsearch-7.12.1
三、ES的安装与启动
用 FinalShell 将下载的安装包上传到云服务器的 /usr/local/src 目录下并解压
tar -xvf elasticsearch-7.12.1.tar.gz
如果直接使用 root 去启动 ElasticSearch 会报错,需要创建新用户并授权。
创建新用户:
useradd elasticUser
授权:
chown -R elasticUser:elasticUser /usr/local/src/elasticsearch-7.12.1
切换到 elasticUser 用户:
su elasticUser
启动 ElasticSearch:
cd
/usr/local/src/elasticsearch-7.12.1
./bin/elasticsearch
这个时候如果直接切换到 elasticUser 用户下去启动 ElasticSearch ,会报一些错误,因为还要配置一些文件:
/usr/local/src/elasticsearch-7.12.1/config 目录下需要修改的配置文件有两个:
- jvm.options
- elasticsearch.yml
1、修改 jvm.options:
vim jvm.options
默认配置的内存占用太大了,根据自己服务器情况适当调整,最好不超过一半:
-Xms512m
-Xmx512m
2、修改 elasticsearch.yml:
network.host: 0.0.0.0
还要加上
cluster.initial_master_nodes: ["node-1"]
不然会出现以下错误( 参考ES启动异常...):
ERROR: [1] bootstrap checks failed [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
配置完 config 下的这两个文件后,切换 elasticUser 用户下去启动 ElasticSearch 还会报错 ( 参考ES安装...):
ERROR: [2] bootstrap checks failed # maxfile descriptors为最大文件描述符,设置其大于65536即可 [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536] # max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,系统默认是65530,修改成262144 [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
此时需要切换 root 用户更改两个配置文件:
su root
然后输入 root 用户的密码,开始更改文件
对于 [1] 修改 /etc/security/limits.conf文件,此文件是 linux 资源使用配置文件,可以用ulimit -a查看,soft 是一个警告值,而 hard 则是一个真正意义的阀值,*表示所有用户
vim /etc/security/limits.conf
在文件最后,增加如下配置:
xxx hard nofile 65536
xxx soft nofile 65536
对于 [2] 修改 /etc/sysctl.conf文件,此文件是 linux 系统控制文件,作用是用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项。
vim /etc/sysctl.conf
在文件最后,增加如下配置:
# 文件包含限制一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认是 65530
vm.max_map_count=262144
配置完之后执行命令:
sysctl -p
然后切换到 elasticUser 用户,启动 ElasticSearch:
su elasticUser
cd /usr/local/src/elasticsearch-7.12.1
./bin/elasticsearch
四、开启访问权限
开放端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
重启防火墙:systemctl restart firewalld.service
另外阿里云里面的安全组也记得配置一下
最后,在浏览器输入:http://你的ip:9200/,出现下面的结果就成功了:
参考博客:
ElasticSearch在Linux下的安装和启动、常见问题解决_殇莫忆的博客-CSDN博客