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

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

相关推荐
KYGALYX5 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
余—笙6 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509286 小时前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器
IDOlaoluo6 小时前
OceanBase all-in-one 4.2.0.0 安装教程(CentOS 7/EL7 一键部署详细步骤)
linux·centos·oceanbase
catoop7 小时前
在 WSL 的 Ubuntu 中安装和配置 SSH 服务
linux·ubuntu·ssh
Hard but lovely7 小时前
linux: centos 软件包管理 yum源
linux·运维·centos
悲伤小伞7 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
安全不再安全8 小时前
免杀技巧 - 早鸟注入详细学习笔记
linux·windows·笔记·学习·测试工具·web安全·网络安全
pursue.dreams8 小时前
Ubuntu安装Jenkins完整教程
linux·ubuntu·jenkins
城南花开时8 小时前
CICD工具,Jenkins or Tekton or Arbess一文全面对比评测
jenkins·tekton