本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置
应用 | 版本 | 说明 |
---|---|---|
操作系统 | centos7 | 稳定、高预测性、高管理性、高重复性的Linux平台 |
elasticsearch | 7.9.2 | es7.x的linux版本 |
jdk | 8 | 本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略 |
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz
此种方式可能比较慢,需要耐心等待。官网下载:Elasticsearch 7.9.2
选择Linux的tar包模式下载,然后上传到服务器目录
解压缩命令:
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
注意path.data
和path.logs
需要配置指定的路径
#默认的集群名称,在集群配置多个节点时需要保持一致,单机可暂不关注
cluster.name: elasticsearch
node.name: es-node0
cluster.initial_master_nodes: ["es-node0"]
# 指定数据存储位置
path.data: /data1/elasticsearch-7.9.2/data
#日志文件位置
path.logs: /data1/elasticsearch-7.9.2/logs
#默认只允许本机访问,修改为0.0.0.0后则可以允许任何ip访问
network.host: 0.0.0.0
#设置http访问端口,9200是http协议的RESTful接口,注意端口冲突可修改
http.port: 9200
# 跨域问题配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
1.先创建用户
adduser elasticsearch
2.es用户创建密码
passwd elasticsearch
chown es:es -R /data1/elasticsearch-7.9.2
下面操作5.1和5.2步骤完成后都需要系统重启,可以先按步骤完成后,重启一次即可
防止es用户可创建文件权限过低导致报错
vim /etc/security/limits.conf
添加以下内容:
#句柄
es soft nofile 65536
es hard nofile 65536
#线程
es soft nproc 4096
es hard nproc 4096
保存退出后需要系统重启!
上述配置是为了解决:
报错问题:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
问题描述:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;
重启服务器
后验证
su es
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su
官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的
vim /etc/fstab
vim /etc/sysctl.conf
添加以下内容:
vm.max_map_count=262144
保存退出,刷新配置文件
sysctl -p
验证是否修改成功
sysctl vm.max_map_count
上述配置是为了解决:
报错问题:max virtual memory areas vm.max_map_count [65530] is too low,
increase to at least [262144]
切换用户到es,使用es用户启动elasticsearch,此种方式Ctrl + C 则程序终止
# 切换到es用户,使用root用户启动会报错
su es
# 进入到es的bin目录
cd /data1/elasticsearch-7.9.2/bin
# 执行启动脚本,此种方式Ctrl + C 则程序终止
./elasticsearch
ctrl + c 停止运行
注意:如果root用户启动会报错
报错问题:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootes
问题描述:不能用root用户启动,必须创建es用户来启动
# 切换到es用户,使用root用户启动会报错
su es
# 进入到es的bin目录
cd /data1/elasticsearch-7.9.2/bin
# 执行启动脚本,守护进程方式运行
./elasticsearch -d
关闭ES服务
kill -9 pid
# 创建es启动脚本文件
touch es-start.sh
# 编辑脚本
vim es-start.sh
# 设置用户组
chown es:es es-start.sh
# 设置执行权限
chmod 755 es-start.sh
es-start.sh
cd /data1/elasticsearch-7.9.2
./bin/elasticsearch -d -p pid
# 创建es停止脚本文件
touch es-stop.sh
# 编辑脚本
vim es-stop.sh
# 设置用户组
chown es:es es-stop.sh
# 设置执行权限
chmod 755 es-ststoprt.sh
es-stop.sh
cd /data1/elasticsearch-7.9.2
if [ -f "pid" ]; then
pkill -F pid
fi
#查看防火墙状态
systemctl status firewalld
#查看开放的端口
firewall-cmd --query-port=9200/tcp
#添加端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
#重载防火墙
firewall-cmd --reload
#再次查看端口是否已经开放
firewall-cmd --query-port=9200/tcp
访问es数据库的Chrome插件
先解压到本地目录,然后在chrome中 安装这个插件
选择解压的目录然后安装
输入es连接地址,点击连接,健康值绿色即表示成功启动