Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)
Linux下ElasticSearch7.9.2安装配置
- 前言
- 1.下载安装
- 1.1 使用wget的方式下载
- 1.2 官网下载
- 2.上传到服务器并解压
- 3.修改es配置文件
- 3.1 es目录简介
- 3.2 修改配置文件
- 4. 创建用户并赋权
- 5. 服务器修改配置
- 5.1 修改文件句柄数和线程数
- 5.2 关闭swapping
- 5.3 修改虚拟内存
- 6. 启动es
- 6.1 前台运行启动es(不推荐)
- 6.2 后台守护进程方式运行(推荐)
- 6.3 自定义启动与关闭脚本(推荐)
- 创建启动脚本
- 创建停止脚本
- 7.开放防火墙端口
- 8. 安装chrome可视化head插件
前言
本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置
| 应用 | 版本 | 说明 |
|---|---|---|
| 操作系统 | centos7 | 稳定、高预测性、高管理性、高重复性的Linux平台 |
| elasticsearch | 7.9.2 | es7.x的linux版本 |
| jdk | 8 | 本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略 |
1.下载安装
1.1 使用wget的方式下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz

1.2 官网下载
此种方式可能比较慢,需要耐心等待。官网下载:Elasticsearch 7.9.2
选择Linux的tar包模式下载,然后上传到服务器目录

2.上传到服务器并解压
解压缩命令:
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz

3.修改es配置文件
3.1 es目录简介
- bin:下面存放着Es启动文件 elasticsearch.bat/elasticsearch
- config:配置目录
- data: 数据目录
- jdk、lib:Java运行环境以及依赖包
- logs:日志目录
- modules、plugins:模块及插件目录,head插件可以存放在plugins目录下
3.2 修改配置文件
注意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
4. 创建用户并赋权
1.先创建用户
adduser elasticsearch
2.es用户创建密码
passwd elasticsearch

3.创建所属组
chown es:es -R /data1/elasticsearch-7.9.2

5. 服务器修改配置
下面操作5.1和5.2步骤完成后都需要系统重启,可以先按步骤完成后,重启一次即可
5.1 修改文件句柄数和线程数
防止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
5.2 关闭swapping
官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的
vim /etc/fstab
注释含有swap一行

保存退出后需要系统重启!
注释前:

注释后:

5.3 修改虚拟内存
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]
6. 启动es
6.1 前台运行启动es(不推荐)
切换用户到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用户来启动

6.2 后台守护进程方式运行(推荐)
# 切换到es用户,使用root用户启动会报错
su es# 进入到es的bin目录
cd /data1/elasticsearch-7.9.2/bin# 执行启动脚本,守护进程方式运行./elasticsearch -d
关闭ES服务
kill -9 pid

6.3 自定义启动与关闭脚本(推荐)
创建启动脚本
# 创建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
启动与关闭

7.开放防火墙端口
#查看防火墙状态
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
8. 安装chrome可视化head插件
访问es数据库的Chrome插件
先解压到本地目录,然后在chrome中 安装这个插件

选择解压的目录然后安装

输入es连接地址,点击连接,健康值绿色即表示成功启动

相关文章:
Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)
Linux下ElasticSearch7.9.2安装配置 前言1.下载安装1.1 使用wget的方式下载1.2 官网下载 2.上传到服务器并解压3.修改es配置文件3.1 es目录简介3.2 修改配置文件 4. 创建用户并赋权5. 服务器修改配置5.1 修改文件句柄数和线程数5.2 关闭swapping5.3 修改虚拟内存 6. 启动es6.1 …...
JS 之 事件Event对象详解(属性、方法、自定义事件)
一、Event对象 1、简介 事件event对象是指在浏览器中触发事件时,浏览器会自动创建一个event对象,其中存储了本次事件相关的信息,包括事件类型、事件目标、触发元素等等。浏览器创建完event对象之后,会自动将该对象作为参数传…...
65寸电视长宽多少厘米
65寸电视的长和宽分别是多少 65寸电视机尺寸是不确定的,要看电视的品牌和具体型号。一般来说,16:9屏幕比例下,65英寸电视的长宽分别为143.90厘米和80.94厘米。电视尺寸指的是电视屏幕对角线的长度,目前电视尺寸普遍以英…...
Python爬取影评并进行情感分析和数据可视化
Python爬取影评并进行情感分析和数据可视化 文章目录 Python爬取影评并进行情感分析和数据可视化一、引言二、使用requestsBeautifulSoup进行影评的爬取1、分析界面元素2、编写代码 三、情感分析1、数据预处理2、情感分析3、数据可视化 一、引言 前几天出了《航海王࿱…...
ubuntu22.04.2安装onlyoffice(不更改默认端口版)
目录 一、配置阿里源 二、postgresql数据库 (一)安装postgresql (二)创建postgresql数据库和用户 三、安装 rabbitmq 四、安装nginx-extras 五、安装ONLYOFFICE Docs (一)Add GPG key (…...
企业如何有效制定企业信息化发展规划?(附信息化模板)
如何有效制定企业信息化发展规划?企业信息化发展规划是一个宏大而又复杂的命题,这篇来掰开揉碎讲一下企业应该如何有效制定信息化发展规划。 这里不给大家灌鸡汤,也不给大家画大饼,就说些实在的。 如果你想找经验方法࿰…...
计算机网络填空题
我会写下自己的答案和理解 希望自己可用在学习中体会到快乐,而不是麻木。 1. 网络协议三要素中语义是指 需要发出何种控制信息,完成何种动作以及做出何种响应 1.在计算机网络中要做到有条不紊的交换数据,就必须遵守一些事…...
【HashMap】为什么用自定义的类做HashMap的Key时需要重写hashcode方法和equals方法
【HashMap】为什么用自定义的类做HashMap的Key时需要重写hashcode方法和equals方法 【一】为什么有这个问题【二】Object类的中的hashcode方法和equals方法【三】重写hashcode【四】重写equals方法【五】hashmap中使用hashcode和equals方法 【一】为什么有这个问题 因为HashMa…...
Flutter自定义对话框返回相关问题汇总
Flutter自定义对话框返回相关问题汇总,详细解释 Flutter是一款流行的移动应用开发框架,它提供了很多内置的对话框,但是有时候我们需要自定义对话框来满足特定需求。在使用自定义对话框时,可能会遇到一些问题,下面是一…...
002docker 安装
官网安装https://docs.docker.com/engine/install/ 系统要求 Centos7 Linux 内核:官方建议 3.10 以上查看Linux内核版本 用于打印当前系统的相关信息(内核版本号,硬件架构,主机名称和操作系统类型等 cat /proc/version uname -a 更新YUM源 生产环境中此步操作…...
软件工程师,全面思考问题很重要
为什么要全面思考问题 □ 在软件开发中,对一个问题思考得越全面,编写出的代码就会越严谨,出现bug的几率就越低;反之,如果没有对一个问题进行全面而深入的思考,编写出的代码就会漏洞百出,出现各种莫名其妙、无法复现的bug的几率也就急剧增加。 □ 软件就是数据加逻辑,数…...
1.Apollo部署-linux
一.官方文档 https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 二.环境准备 1.MySql 5.6.51.单独服务器192.168.2.13 https://downloads.mysql.com/archives/installer/ 2.JDK 1.8.X https://www.oracle.com/java/technologies/downloads/ 三.Apollo部署…...
【HTML】form标签
<form> 标签用于创建 HTML 表单,它是用于收集用户输入的重要元素。表单可以包含各种输入字段、按钮和其他交互元素,用于向服务器发送用户输入数据。 下面是一个简单的 <form> 标签的示例: <form action"/submit-form&q…...
基于SPAD / SiPM技术的激光雷达方案
激光雷达(LiDAR)是一种测距技术,近年来越来越多地用于汽车先进驾驶辅助系统(ADAS)、手势识别和3D映射等应用。尤其在汽车领域,随着传感器融合的趋势,LiDAR结合成像、超声波、毫米波雷达,互为补足,为汽车提供全方位感知…...
使用MATLAB工具模拟单/双频GPS和载波相位差分GPS
第一部分:介绍和背景 在我们的日常生活中,全球定位系统(GPS)发挥了重要的作用。无论是在我们的手机中,还是在各种应用中,GPS都是实现精确位置定位的关键技术。然而,有时候我们可能需要对GPS进行…...
当社恐成为技术面试官
前言 在被不知道多少个面试官拒绝之后,毕业四年之际,我这个社恐也成为了一位面试官。至于社恐为什么能成为面试官,我想放到文末讲,感觉不是重点。 之前被面试,最讨厌的话就是:请简单介绍一下自己 我的内心…...
Jetpack Compose:使用PagerIndicator和Infinity实现滚动的HorizontalPager
Jetpack Compose:使用PagerIndicator和Infinity实现滚动的HorizontalPager 可能你已经知道,Jetpack Compose 默认不包含内置的ViewPager组件。然而,我们可以通过在 build.gradle 文件中添加 accompanist 库依赖,将 ViewPager 功能…...
2023年杭州/广州/东莞/深圳软考(中/高级)认证,618报名特惠
软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成…...
springboot项目外卖管理 day03-公共字段填充与新增删除分类
文章目录 一、公共字段自动填充1.1、问题分析1.2、代码实现1.2.1、在实体类的属性上加入TableField注解,指定自动填充的策略1.2.2按照框架要求编写元数据对象处理器,在此类中统一为公共字段赋值,此类需要实现MetaObjectHandler接口1.2.3 功能…...
Nginx:Tomcat部署及优化(一)
Nginx:Rewrite 一、Tomcat介绍1.1 Tomcat 简介1.2 Tomcat 核心的组件1.2.1 什么是 servlet1.2.2 什么是 JSP 1.3 Tomcat 功能组件结构1.3.1 Container 结构分析 1.4 Tomcat 请求过程 二、Tomcat 服务部署三、Tomcat 虚拟主机配置四、Tomcat多实例部署 一、Tomcat介绍…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
