Es搭建——单节点——Linux
Es搭建——单节点——Linux
一、安装
下载安装包:
官网下载地址:https://www.elastic.co/downloads/elasticsearch
上传包到linux 切换到安装目录下
解压:tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz
重命名安装文件夹 mv elasticsearch-7.17.1 es
cd xxxx(es安装目录)/es
二、配置文件修改
注意:冒号后面有个空格,否则会导致配置文件格式错误,启动时报错
1、elasticsearch.yml
cd config
vi elasticsearch.yml
集群相关设置
-------------------------------Cluster-------------------------------
cluster.name: 设置你的集群名称(例es-test)
节点相关设置
-------------------------------Node----------------------------------
node.name: 设置你的节点名称(例estest-node-1)
网络相关设置
-------------------------------Network----------------------------------
network.host: 部署该节点的服务器IP
http.port: 9200 (es服务对外的端口,默认即可) (设置0.0.0.0时,允许任何ip访问)
集群发现相关设置
-------------------------------Discovery----------------------------------
#初始主节点列表,集群自动发现选举master
cluster.initial_master_nodes: Node中设置的该节点名称(例estest-node-1)
三:启动ES
1、测试启动服务
cd xxxx(es安装目录)/es/bin
./elasticsearch
2、后台启动
./elasticsearch -d
四:依次解决报错
1、es本身自带的jdk版本与服务器所安装jdk版本冲突
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [xxxxx/jdk1.8.0/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
报错原因:
elasticsearch默认启动时
先找系统安装的jdk,若未安装jdk则使用es自带的jdk,系统无需再安装jdk
若系统已安装jkd且与es所需jdk版本不一致,则es启动报错jdk版本问题
见es/bin 中的elasticsearch-env 的jdk判断代码
报错信息和echo输出内容符合,说明走的是:"elif [ ! -z “$JAVA_HOME” ]; then"分支
# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; thenJAVA="$ES_JAVA_HOME/bin/java"JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then# fallback to JAVA_HOMEecho "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2JAVA="$JAVA_HOME/bin/java"JAVA_TYPE="JAVA_HOME"
else# use the bundled JDK (default)if [ "$(uname -s)" = "Darwin" ]; then# macOS has a different structureJAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"elseJAVA="$ES_HOME/jdk/bin/java"fiJAVA_TYPE="bundled JDK"
fi
即:【补流程图】
解决方案:
系统不重新安装es所需jdk版本时,使用es内置jdk
方法a、配置 ES_JAVA_HOME路径
因为没有识别到ES_JAVA_HOME,故需配置ES_JAVA_HOME
#编辑配置文件
vi ~/.bashrc
#在末尾添加以下内容
export ES_JAVA_HOME=xxxx(es安装目录)/es/jdk
#使命令生效
source ~/.bashrc
#检查配置是否成功
echo $ES_JAVA_HOME
方法b、修改配置 指定系统的JAVA_HOME为es的jdk路径
cd xxxx(es安装目录)/es/bin
vi ./elasticsearch 【此处需再确认---方法是否正确】
#添加以下配置
# 将jdk修改为es中自带jdk的配置目录
export JAVA_HOME=xxxx(es安装目录)/es/jdk
export PATH=$JAVA_HOME/bin:$PATHif [ -x "$JAVA_HOME/bin/java" ]; thenJAVA="xxxx(es安装目录)/es/jdk/bin/java"
elseJAVA=`which java`
fi
方法c、删除系统jdk的判断,直接启用Es自带的java
cd xxxx(es安装目录)/es/bin
vi elasticsearch-env 【此处需再确认---方法是否正确,修改判断后,仍然没有ES_HOME,试下会成功吗】
# now set the path to java
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled jdk"
方法d、将启动时系统jdk路径指定为es自带的jdk
cd xxxx(es安装目录)/es/bin
vi elasticsearch-env
首行代码set -e -o pipefail下
添加JAVA_HOME指向es自带jdk的位置:export JAVA_HOME =xxxx(es安装目录)/es/jdk。
set -e -o pipefail
#添加下行配置:使用es自带的jdk
export JAVA_HOME =xxxx(es安装目录)/es/jdk
参考:
https://blog.csdn.net/smilehappiness/article/details/118466378
https://www.cnblogs.com/zhuhuibiao/p/16446105.html
2、root用户启动es失败
java.lang.RuntimeException: can not run elasticsearch as root
报错原因
es因为安全问题拒绝使用root用户启动
解决方案:
添加系统用户用来启动es
groupadd es
useradd es -g es -p password # -g 指定组 -p 密码
chown es:es -R xxxx(es安装目录)/es/ # -R 处理指定目录以及其子目录下的所有文件
#切换到es用户
su es
#启动es
./elasticsearch
参考:
https://blog.csdn.net/fwdwqdwq/article/details/124241935
3、max virtual memory areas vm.max_map_count [65530] is too low
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
报错原因:
Elasticsearch在启动时会检查操作系统的配置,若vm.max_map_count的值太低,就会报错。
vm.max_map_count是Linux系统中一个内核参数,它限制了每个进程可以拥有的内存区域(memory areas)数量。Elasticsearch可能需要比默认更多的内存区域,如果这个值太低,Elasticsearch就会报错。
注:262144是一个常用的值,可根据需求调整,评估可能对系统稳定性造成的影响
解决方案:
永久修改该配置
#切换至root用户
su root
#编辑/etc/sysctl.conf文件
vi /etc/sysctl.conf
#添加配置
vm.max_map_count=262144
#保存退出后
#刷新配置文件使改动立即生效
sudo sysctl -p
参考:
https://blog.csdn.net/jane_xing/article/details/139790289
#继续切换es用户,重新启动es
su es
cd xxxx(es安装目录)/es/bin
./elasticsearch
4、其他问题待更新
基本解决思路:先使用 ./elasticsearch 方式启动,找到日志的error关键字,百度相关报错信息
五、判断是否启动成功
方法1、检查es进程
ps -ef|grep elasticsearch
方法2、访问url
http://部署该节点的服务器IP:9200/
六、设置es的用户名密码
编辑elasticsearch.yml配置文件
vi xxxx(es安装目录)/es/config/elasticsearch.yml
#在末尾添加下面两行
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
#保存退出后,重启es(重启后配置才生效)
设置用户名密码
cd xxxx(es安装目录)/es/bin
elasticsearch-setup-passwords interactive
#依次设置elastic、kibana、logstash等的访问密码
再次url再次访问验证是否生效,出现弹窗则生效
参考:
https://blog.csdn.net/smilehappiness/article/details/118466378
七、单节点关闭es
1、若后台启动,找到对应进程号,直接杀进程即可
ps -ef|grep elasticsearch
kill -9 进程号
2、若控制台启动,直接ctrl+c
相关文章:
Es搭建——单节点——Linux
Es搭建——单节点——Linux 一、安装 下载安装包: 官网下载地址:https://www.elastic.co/downloads/elasticsearch 上传包到linux 切换到安装目录下 解压:tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz 重命名安装文件夹 mv elastics…...
Python自动化测试之线上流量回放:录制、打标、压测与平台选择
在自动化测试中,线上流量回放是一项关键技术,可以模拟真实用户的请求并重现线上场景,验证系统的性能和稳定性。本文将介绍Python自动化测试中的线上流量回放技术,并提供实战代码,帮助你了解流量的录制、打标、压测发起…...

k-Means聚类算法 HNUST【数据分析技术】(2025)
1.理论知识 K-means算法,又称为k均值算法。K-means算法中的k表示的是聚类为k个簇,means代表取每一个聚类中数据值的均值作为该簇的中心,或者称为质心,即用每一个的类的质心对该簇进行描述。K-Means算法接受参数K;然后将…...

STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器
STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器 1、按键控制 LED 按键:常见的输入设备,按下导通,松手断开 按键抖动:由子按键内部使用的是机械式弹簧片来进行通断的、所以在按下和松手的瞬间会伴随有一连串的抖动 按键控制LED接线图: 要有工程…...
VUE前端实现防抖节流 Lodash
方法一:采用Lodash工具库 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。 (1)采用终端导入Lodash库 $ npm i -g npm $ npm i --save lodash (2)应用 示例:搜索框输入防抖 在这个示例…...

Ubuntu20.04 交叉编译Qt5.15.15 for rk3588
rk3588编译Qt搞了我大半年了,一直困惑特别鸣谢:qq1033878279的网友远程帮我编译演示了一遍。 一、vmware 安装基础工具 sudo apt install -y build-essential net-tools openssh-server vim openssl libssl-dev 二、vmware 下载 cmake和Qt源码 下载cm…...

Unity编译Android apk包进度奇慢或gradle报错的解决方案
最近遇到Unity编译Android apk进度卡在"Calling IPostGenerateGradleAndroidProject callbacks"进度一直不变,如下图: 最后提示编译失败,类似错误如下: Picked up JAVA_TOOL_OPTIONS: -Dfile.encodingUTF-8FAILURE: Bu…...

【Qt】多元素控件:QListWidget、QTableWidget、QTreeWidget
目录 QListWidget 核心属性: 核心方法: 核心信号: 例子: QListWidgetItem QTableWidget 核心方法: 核心信号 QTableWidgetItem 例子: QTreeWidget 核心方法: 核心信号:…...

Docker基础知识 Docker命令、镜像、容器、数据卷、自定义镜像、使用Docker部署Java应用、部署前端代码、DockerCompose一键部署
目录 1.Docker 2.镜像和容器 2.1 定义 2.2 开机自动启动容器 3.docker命令 3.1 docker run 参数说明 3.2 常见命令 3.3 命令演示 3.4 命令别名 4.Docker命令详解 5.数据卷 5.1 定义 5.2 数据卷的相关命令 5.3 数据卷命令 5.4 挂载本地目录或文件 5.4.1 定义 5.4.2 mysql容器目录…...

Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
文章目录 一、Qt For Android运行示例二、个人理解及情况解析三、配置Android相关配置项3.1 安装简述3.2 安装Qt1.安装Qt第一步:启动Qt安装包程序2.Qt账号(注册)登录3.了解Qt开源使用义务4.指定Qt安装目录5.选择Qt安装内容6.接受“许可协议”…...

低代码开发中 DDD 领域驱动的页面权限控制
在低代码开发的领域中,应用安全与灵活性是两大关键考量因素。领域驱动设计(DDD)作为一种在软件设计领域广泛应用且颇具影响力的方法论,正逐渐在低代码开发的页面权限控制方面展现出其独特的价值与潜力。本文旨在客观地探讨如何借助…...

如果你的网站是h5网站,如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈
如果你的网站是h5网站,如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈 h5如何转小程序 如果当年你们开发网站是用的h5但是没有开发小程序,也没有使用uniapp这样的混开框架,但是目前根据业务需…...

docker redis安装
一.镜像拉取 docker pull redis:5.0新建文件 touch /home/redis/redis.conf touch /home/redis/redis_6379.pid # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1protected-mode noport 6379tcp-backlog 511requirepass roottimeout 0tcp-keepali…...

apisix的hmac-auth认证
目录 1、apisix的hmac认证Authorization头信息 2、signature的lua生成源码 3、java生成签证的简单示例 4、postman调用如下 apisix的hmac-auth认证,介绍可以看官方文档 hmac-auth | Apache APISIX -- Cloud-Native API Gateway 照着官方文档,发现生…...

elementPlus消息组件多按钮案例
let customClass zsl-el-message-box efb.messageBox({title: 操作提示,showConfirmButton: false,customClass,message: efb.VNode(div, null, [efb.VNode(style, null, .${customClass} .el-message-box__message {width: 100%;}),efb.VNode(div, null, hello world),efb.VN…...

计算机视觉目标检测-2
文章目录 摘要abstract1.Fast R-CNN1.1 RoI pooling1.2 End-to -End model1.3 多任务损失-Multi-task loss1.4 R-CNN、SPPNet、Fast R-CNN效果比对 2.Faster R-CNN2.1 RPN原理2.2 效果对比2.3 Faster R-CNN总结 3.总结4.参考文献 摘要 本周学习了Fast R-CNN和Faster R-CNN算法…...
爬虫数据存储:Redis、MySQL 与 MongoDB 的对比与实践
爬虫的核心任务是从网络中提取数据,而存储这些数据是流程中不可或缺的一环。根据业务需求的不同,存储的选择可能直接影响数据处理的效率和开发体验。本文将介绍三种常用的存储工具——Redis、MySQL 和 MongoDB,分析它们的特点,并提…...

深入解析MySQL索引结构:从数组到B+树的演变与优化
前言: 在数据库查询中,索引是一种关键的性能优化工具。然而,索引的失效可能导致查询效率大幅下降。为了更好地理解索引的工作原理及规避其失效,深入了解索引结构的演变过程尤为重要。 MySQL 的索引数据结构从简单到复杂࿰…...

【疑难杂症】 HarmonyOS NEXT中Axios库的响应拦截器无法拦截424状态码怎么办?
今天在开发一个HarmonyOS NEXT的应用的时候,发现http接口如果返回的状态码是424时,我在axios中定义的拦截器失效了。直接走到了业务调用的catch中。 问题表现: 我的拦截器代码如下: 解决办法: 先说解决办法ÿ…...

jmeter并发用户逐步递增压测找性能拐点
jmeter并发用户逐步递增压测找性能拐点 目的: 使用逐层递增的并发压力进行测试,找到单功能的性能拐点(一般需要包含四组测试结果,拐点前一组,拐点一组,拐点后两组),统计响应时间、…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目
应用场景: 1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
MyBatis-Plus 常用条件构造方法
1.常用条件方法 方法 说明eq等于 ne不等于 <>gt大于 >ge大于等于 >lt小于 <le小于等于 <betweenBETWEEN 值1 AND 值2notBetweenNOT BETWEEN 值1 AND 值2likeLIKE %值%notLikeNOT LIKE %值%likeLeftLIKE %值likeRightLIKE 值%isNull字段 IS NULLisNotNull字段…...

Spring是如何实现无代理对象的循环依赖
无代理对象的循环依赖 什么是循环依赖解决方案实现方式测试验证 引入代理对象的影响创建代理对象问题分析 源码见:mini-spring 什么是循环依赖 循环依赖是指在对象创建过程中,两个或多个对象相互依赖,导致创建过程陷入死循环。以下通过一个简…...