【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)
Elasticsearch系列文章目录
- 【Elasticsearch 基础入门】一文带你了解Elasticsearch!!!
- 【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)
目录
- Elasticsearch系列文章目录
- 前言
- 单机模式
- 1. 安装 Java 依赖
- 2. 下载 Elasticsearch
- 3. 配置 Elasticsearch
- 4. 启动 Elasticsearch
- 5.启动报错 java.lang.RuntimeException: can not run elasticsearch as root
- 报错日志如下
- 解决方式
- 6. 后台启动 Elasticsearch
- 7.验证是否安装成功
- 8.配置防火墙(如需远程访问)
- 9.关闭elasticsearch
- 10.停止后台进程
- 11.设置开机自启动
- 创建 systemd 服务文件
- 重新加载 systemd 配置
- 启动 Elasticsearch 服务
- 启用服务开机自启动
- 停止 Elasticsearch 服务
- 查询 Elasticsearch 启动状态
- 总结
前言
要理解 Elasticsearch,最好的方式就是去运行它,让我们开始吧!!!
我们将介绍如何在 CentOS 7 上安装和配置 Elasticsearch 7.17供开发和测试使用的单机模式。
单机模式
1. 安装 Java 依赖
Elasticsearch 是用 Java 编写的,因此需要 Java 环境。首先安装 JDK(版本 8 或更高版本)。
具体安装过程略
查看当前安装的java 版本
java -version
返回信息如下
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)
2. 下载 Elasticsearch
前往 Elasticsearch 官网 下载最新版本的 Elasticsearch。
选择适合你系统的版本(Linux、Windows 等)。
下载并解压到合适的目录。例如,在 CentOS 上:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.27-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.17.27-linux-x86_64.tar.gz
cd elasticsearch-7.17.27/
3. 配置 Elasticsearch
对于单机模式,你可以稍微修改一下 elasticsearch.yml 配置文件,来指定网络地址和集群名称。
配置文件路径:config/elasticsearch.yml
vim config/elasticsearch.yml
修改以下项:
network.host: 0.0.0.0 # 默认是 127.0.0.1,只允许本地连接,如果希望 Elasticsearch 可供其他机器访问,可以改为 0.0.0.0 或者具体的 IP 地址,允许远程访问
cluster.name: my-cluster # 集群的名字,默认为 elasticsearch。可以根据需要修改。
node.name: node-1 # 设置节点名称。默认为随机生成的名称,可以自定义。
cluster.initial_master_nodes: ["node-1"] # 在首次启动时指定初始主节点,用于集群发现。
4. 启动 Elasticsearch
启动 Elasticsearch 服务:
./bin/elasticsearch
5.启动报错 java.lang.RuntimeException: can not run elasticsearch as root
报错日志如下
[2025-01-26T08:25:59,843][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootat org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:173) ~[elasticsearch-7.17.27.jar:7.17.27]...
解决方式
错误提示表明 Elasticsearch 不能以 root 用户身份启动。为了安全性,Elasticsearch 不允许以 root 用户运行。你需要创建一个非 root 用户来运行 Elasticsearch。
- 创建一个新的用户: 你可以使用以下命令创建一个非 root 用户(例如:elasticsearch):
sudo useradd elasticsearch
sudo passwd elasticsearch # 设置密码
- 更改 Elasticsearch 文件夹的拥有者: 需要将 Elasticsearch 的安装目录以及数据目录的权限更改为新用户。假设你安装 Elasticsearch 的路径为 /home/elasticsearch/elasticsearch-7.17.27,请执行以下命令:
sudo chown -R elasticsearch:elasticsearch /home/elasticsearch/elasticsearch-7.17.27
sudo chown -R elasticsearch:elasticsearch /home/elasticsearch/elasticsearch-7.17.27/data
sudo chown -R elasticsearch:elasticsearch /home/elasticsearch/elasticsearch-7.17.27/logs
- 以新用户身份启动 Elasticsearch: 切换到新创建的 elasticsearch 用户:
su - elasticsearch
- 然后,尝试启动 Elasticsearch:
./bin/elasticsearch
6. 后台启动 Elasticsearch
如果启动 Elasticsearch 服务成功,可以加上-d参数来后台启动:
./bin/elasticsearch -d
7.验证是否安装成功
curl http://localhost:9200
返回信息如下表示成功
{"name" : "node-1","cluster_name" : "my-cluster","cluster_uuid" : "lQQ3Qxd5SlmYpq20mq_YGA","version" : {"number" : "7.17.27","build_flavor" : "default","build_type" : "tar","build_hash" : "0f88dde84795b30ca0d2c0c4796643ec5938aeb5","build_date" : "2025-01-09T14:09:01.578835424Z","build_snapshot" : false,"lucene_version" : "8.11.3","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
浏览器访问 http://localhost:9200
8.配置防火墙(如需远程访问)
如果你打算让其他机器也能访问 Elasticsearch,记得在防火墙中打开 9200 端口:
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
9.关闭elasticsearch
查看es进程
ps aux | grep elasticsearch
显示如下
elastic+ 23343 3.3 35.4 5741876 1376504 pts/0 Sl 08:44 0:23 /usr/java/jdk1.8.0-x64/bin/java -cp /home/elasticsearch/elasticsearch-7.17.27/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
10.停止后台进程
kill pid 停止 Elasticsearch
kill 23343
11.设置开机自启动
创建 systemd 服务文件
创建一个名为 elasticsearch.service 的服务文件,通常放置在 /etc/systemd/system/ 目录下。可以使用以下命令创建并编辑该文件:
sudo vim /etc/systemd/system/elasticsearch.service
在文件中添加以下内容:
[Unit]
Description=Elasticsearch
Documentation=http://www.elastic.co
After=network.target[Service]
Type=simple
User=elasticsearch
ExecStart=/home/elasticsearch/elasticsearch-7.17.27/bin/elasticsearch
Restart=on-failure
LimitMEMLOCK=infinity
LimitNOFILE=65535
LimitNPROC=4096
TimeoutStartSec=75
TimeoutStopSec=75
WorkingDirectory=/home/elasticsearch/elasticsearch-7.17.27[Install]
WantedBy=multi-user.target
重新加载 systemd 配置
创建完服务文件后,需要重新加载 systemd 的配置以识别新服务:
sudo systemctl daemon-reload
启动 Elasticsearch 服务
现在,你应该能够使用 systemctl 来管理 Elasticsearch 服务了。首先启动服务:
sudo systemctl start elasticsearch
启用服务开机自启动
sudo systemctl enable elasticsearch
停止 Elasticsearch 服务
sudo systemctl stop elasticsearch
查询 Elasticsearch 启动状态
sudo systemctl status elasticsearch
总结
通过本教程,你已经学习了如何在 CentOS 7 上安装和配置 Elasticsearch 7.17 版本的单机模式。我们从安装 Java 环境、下载并配置 Elasticsearch,到启动、排查常见错误、验证安装等方面进行了详细介绍。希望这篇文章能够帮助你顺利在本地环境中运行 Elasticsearch,为开发和测试提供便利。
如果你有任何疑问或遇到其他问题,欢迎在评论区留言。
相关文章:

【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)
Elasticsearch系列文章目录 【Elasticsearch 基础入门】一文带你了解Elasticsearch!!!【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机) 目录 Elasticsearch系列文章目录前言单机模式1. 安装 J…...
大模型本地部署使用方法(Ollama脚手架工具、FisherAI浏览器大模型插件、AnythingLLM大模型集成应用平台)
一、Ollama (一)Ollama简介 Ollama是一个专为在本地环境中运行和定制大型语言模型而设计的工具。它提供简单高效的接口,用于创建、运行和管理这些模型,方便用户直接使用,也方便用作后台服务支撑其它应用程序。熟悉网…...
【华为OD-E卷 - 报数游戏 100分(python、java、c++、js、c)】
【华为OD-E卷 - 报数游戏 100分(python、java、c、js、c)】 题目 100个人围成一圈,每个人有一个编码,编号从1开始到100。 他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数&…...

深入理解Spring框架:从基础到实践
前言 Spring框架是一个开源的企业级应用开发框架,它为Java开发者提供了灵活的架构支持,特别是在依赖注入(IOC)和面向切面编程(AOP)方面。本文将通过具体的示例,带你从Spring框架的概述、IOC容器…...

一觉醒来全球编码能力下降100000倍,新手小白的我决定科普C语言——函数
1. 函数的概念 数学中我们其实就⻅过函数的概念,⽐如:⼀次函数 y kx b ,k和b都是常数,给⼀个任意的 x,就得到⼀个y值。其实在C语⾔也引⼊函数(function)的概念,有些翻译为…...
CentOS 上安装 Go (Golang)
1. 检查系统环境 确保系统为 CentOS 7 或 CentOS 8,或者其他兼容的 Linux 发行版。 cat /etc/os-release2. 安装依赖 安装一些必要的工具: sudo yum update -y sudo yum install -y wget tar3. 下载 Go 从 Go 官方下载页面获取适用于 Linux 的最新版…...

软件模拟I2C案例前提须知——EEPROM芯片之M24C02
引言 了解了I2C的基础知识后,我们将来使用一个I2C案例实践来深入理解I2C通讯,即软件模拟I2C。顾名思义,就是利用软件方式通过模拟I2C协议要求的时序或者说一些相关规定来实现一个I2C通讯协议,然后利用模拟出的I2C协议来实现两个设…...

GIS教程:全国数码商城系统
文章目录 注册高德地图API普通网页中测试地图加载地图添加标记地图配置点标记 Marker添加弹框创建vue项目并添加高德地图创建项目加载高德地图项目首页布局封装axios和配置代理服务器获取城市热门信息获取城市区县信息获取区县商城信息获取指定城市区县的经纬度坐标将地图缩放到…...

BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机
BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机 BroadCom-RDMA 博通网卡Baumer-RDMA 万兆网相机Baumer工业相机RDMA功能的技术背景BroadCom-RDMA博通网卡如何进行驱动安装和设置具有RDMA功能一、安装ZVA-BroadCom-RDMA网卡二、设备管理器…...
分布式微服务系统架构第90集:现代化金融核心系统
#1.1 深化数字化转型,核心面临新挑战 1、架构侧:无法敏捷协同数字金融经营模式转型。 2、需求侧:业务需求传导低效始终困扰金融机构。 3、开发侧:创新产品上市速度低于期望。 4、运维侧:传统面向资源型监控体系难以支撑…...

进阶数据结构——双向循环链表
目录 前言一、定义与结构二、特点与优势三、基本操作四、应用场景五、实现复杂度六、动态图解七、代码模版(c)八、经典例题九、总结结语 前言 这一期我们学习双向循环链表。双向循环链表不同于单链表,双向循环链表是一种特殊的数据结构&…...

记录一次,PyQT的报错,多线程Udp失效,使用工具如netstat来检查端口使用情况。
1.问题 报错Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 932, in _bootstrap_inner File "threading.py", line 870, in run File "main.py", line 456, in udp_recv IndexError: list…...

安装anaconda3 后 电脑如何单独运行python,python还需要独立安装吗?
安装anaconda3 后 电脑如何单独运行python,python还需要独立安装吗? 电脑第一此安装anaconda用于jupyter notebook使用。 但是在运行cmd的时候,输入python --version 显示未安装或跳转商店提示安装。 明明我可以运行python但是为什么cmd却说我没安装呢…...

电子电气架构 --- 汽车电子拓扑架构的演进过程
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…...
ASP.NET Core 中使用依赖注入 (DI) 容器获取并执行自定义服务
目录 一、ASP.NET Core 中使用依赖注入 (DI) 容器获取并执行自定义服务 1. app.Services 2. GetRequiredService() 3. Init() 二、应用场景 三、依赖注入使用拓展 1、使用场景 2、使用步骤 1. 定义服务接口和实现类 2. 注册服务到依赖注入容器 3. 使用依赖注入获取并…...

leetcode——验证二叉搜索树(java)
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入…...
搜索引擎快速收录:关键词布局的艺术
本文来自:百万收录网 原文链接:https://www.baiwanshoulu.com/21.html 搜索引擎快速收录中的关键词布局,是一项既精细又富有策略性的工作。以下是对关键词布局艺术的详细阐述: 一、关键词布局的重要性 关键词布局影响着后期页面…...

VLN视觉语言导航基础
0 概述 视觉语言导航模型旨在构建导航决策模型 π π π,在 t t t时刻,模型能够根据指令 W W W、历史轨迹 τ { V 1 , V 2 , . . . , V t − 1 } \tau\{V_1,V_2,...,V_{t-1}\} τ{V1,V2,...,Vt−1}和当前观察 V t { P t , R t , N ( V t ) } V_…...

4 Hadoop 面试真题
4 Hadoop 面试真题 1. Apache Hadoop 3.0.02. HDFS 3.x 数据存储新特性-纠删码Hadoop面试真题 1. Apache Hadoop 3.0.0 Apache Hadoop 3.0.0在以前的主要发行版本(hadoop-2.x)上进行了许多重大改进。 最低要求的Java版本从Java 7增加到Java 8 现在&…...

java练习(2)
回文数(题目来自力扣) 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...