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

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

相关推荐
wdxylb6 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20077 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪7 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk9 小时前
Linux 正则表达式
linux·运维
Fireworkitte10 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil90011 小时前
ubuntu常见问题汇总
linux·ubuntu
颜如玉11 小时前
ElasticSearch关键参数备忘
后端·elasticsearch·搜索引擎
ac.char11 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
健康平安的活着12 小时前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr
淮北也生橘1213 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习