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 (重启防火墙)

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

相关推荐
Maki Winster几秒前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
守望时空332 分钟前
Linux下KDE桌面创建自定义右键菜单
linux
l0sgAi23 分钟前
vLLM在RTX50系显卡上部署大模型-使用wsl2
linux·人工智能
麟城Lincoln2 小时前
【RHCSA-Linux考试题目笔记(自用)】servera的题目
linux·笔记·考试·rhcsa
Java烘焙师2 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
寻月隐君2 小时前
保姆级教程:Zsh + Oh My Zsh 终极配置,让你的 Ubuntu 终端效率倍增
linux·后端·命令行
XM-54582 小时前
2025微信小程序wxapkg解包全攻略
linux·运维·小程序
朗晴3 小时前
文本编辑器VIM的使用方法!
linux·运维·服务器
东林牧之3 小时前
CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
docker·gitlab·jenkins
2401_8260976210 小时前
JavaEE-Linux环境部署
java·linux·java-ee