Linux 环境下 安装 Elasticsearch 7.13.2

Linux 环境下 安装 Elasticsearch 7.13.2

前言

借公司的 centos 7 服务器,搭建一个 Es,正好熟悉熟悉 Linux 下的安装流程。

镜像下载(国内镜像地址)

https://mirrors.huaweicloud.com/elasticsearch/

进去选择自己要安装的 Es 版本下载即可,这里我选择 7.13.2

解压安装包

将下载到的包进行解压到当前文件夹下面

javascript 复制代码
tar -zxvf /Users/zhangzixing/Downloads/elasticsearch-7.13.2-linux-x86_64.tar.gz

当然你也可以添加 -C 参数,后面指定解压路径,解压到指定文件夹下面

这里贴一张我司服务器上 es 的安装位置

修改配置文件用 Es 自带Jdk 运行

由于我司的项目没用 Jdk11(读者服务器用的Jdk11 可以忽略此章节),因此需要修改 es 配置文件使用自带的 Jdk 11 运行。修改 elasticsearch-env 文件。

修改文件前养成良好的习惯先备份,备份的文件内容是这样的

将我圈红的这些删掉,默认用绑定的 Jdk11 即可。

这里有俩种修改方式

  1. vim 编辑器
  2. 文件拷贝到本地,修改后上传

vim 编辑器实在是垃圾要一个个字母删很除容易出错,但是这里也介绍一下 vim 命令基础用法吧。

  1. 选择要编辑的文件
javascript 复制代码
vim /usr/local/es/elasticsearch-7.13.2/bin/elasticsearch-env
  1. 键盘按 i 进入编辑模式
  2. 编辑完成后键盘按 esc 后,键盘输入 :wq 。代表保存后退出。也可以输入 :q! 只读强制退出。

配置 Es 可被远程访问

如果读者无需 Es 被远程访问的话,可跳过此章节。elasticsearch.yml 修改下面这三个地方即可

然后启动

切换到 Es 的 bin 目录下面输入 ./elasticsearch-7.13.2 -d ,表示后台运行如下图

启动后发现有 Error

javascript 复制代码
ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/es/elasticsearch-7.13.2/logs/elasticsearch.log

修改 etc 目录下的 sysctl.conf 文件文件末尾追加,然后输入 sysctl -p 保存

javascript 复制代码
vm.max_map_count=655360

修改 etc/security/limits.conf 文件,文件末尾追加,然后重新登录 Linux

javascript 复制代码
* soft nofile 65536
* hard nofile 65536

接着启动

root 用户启动不了,因此创建一个非 root 用户,一下命令在 root 用户下进行

javascript 复制代码
adduser es
passwd es(后面回车输入密码、然后确认密码即可)
chown -R es:es /usr/local/es/elasticsearch-7.13.2 (对 es 用户授予文件夹访问权限)
su es

切换到 es 用户后启动 elasticsearch-7.13.2,发现启动成功了。

本地测试一下能不能连 Es

发现连不上说什么网络错误,检查一下 linux 防火墙有没有开放 9200 端口,发现端口没有开放,开放一下然后重启防火墙。

javascript 复制代码
firewall-cmd --state(查看防火墙是否开启)
systemctl start firewalld.service(开启防火墙)
firewall-cmd --zone=public --add-port=9200/tcp --permanent(永久开启 9200 端口)
systemctl restart firewalld.service (重启防火墙)

本地再次连测试服发现成功启动。

相关推荐
酷可达拉斯13 分钟前
Linux操作系统-磁盘空间使用率100%如何处理?
linux·运维·服务器·云计算·bash
AIgorithmGEEK1 小时前
Linux 权限管理:从「Permission Denied」到「畅行无阻」
linux·权限·chmod·粘滞位·umask·文件权限的构成
BullSmall1 小时前
scanoss-engine 本地最简部署 & 扫描命令(Linux/Anolis OS)
linux·运维·服务器
heimeiyingwang2 小时前
【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解
ci/cd·pipeline·jenkins
bellus-2 小时前
Ubuntu 26.04 Miniforge3 安装与配置完整指南
linux·运维·ubuntu
Elasticsearch2 小时前
一次编辑,更新所有仪表板:使用 Terraform 大规模管理 Kibana 可观测性配置
elasticsearch
Elasticsearch3 小时前
足够接近就是足够快:ES|QL Fast 模式如何让 Kibana 仪表板速度提升最高 100 倍
elasticsearch
用什么都重名3 小时前
Ubuntu 24.04 安装 NVIDIA 驱动:解决 “NVIDIA-SMI has failed“ 报错全记录
linux·运维·ubuntu
Industio_触觉智能4 小时前
瑞芯微ISP内核驱动深度解析|RKISP39从架构到Probe初始化全流程(上篇)
linux·嵌入式硬件·硬件架构·摄像头·isp·瑞芯微·rk3576
有续技术4 小时前
三菱 (Mitsubishi) 机床 设置查看 IP 地址
linux·服务器·网络