Linux上Elasticsearch 集群部署指南
Es 集群部署
- Es 集群部署
Es 集群部署
准备好三台服务器。示例使用:110.0.5.141/142/143
1、es用户和用户组创建,使用root账号
groupadd esuseradd -g es es
2、将es安装包和ik分词器上传到:/home/es/目录下(任意目录都行),并解压
cd /home/estar -zxvf elasticsearch-7.17.5-linux-x86_64.tar.gz
3、将ik解压后目录下的整个(ik分词器插件)上传到/home/es/elasticsearch-7.17.5/plugins
4、配置es的java环境变量(ES包里自带了jdk直接使用即可)。使用es用户。
cd /home/esvim /etc/profile
export PATH
export ES_JAVA_HOME=/home/es/elasticsearch-7.17.5/jdk
export CLASSPATH=.:$ES_JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
export PATH=$ES_JAVA_HOME/bin:$PATH
配置完刷新一下 source /etc/profile
5、修改elasticsearch.yml
cd /home/es/elasticsearch-7.17.5/config
vi elasticsearch.yml (改配置都注释了,放开注释直接配置,跨域访问配置需要添加在末尾)
141服务器:
cluster.name: my-es
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["110.0.5.141", "110.0.5.142", "110.0.5.143"]
cluster.initial_master_nodes: ["110.0.5.141"]
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
142服务器:
cluster.name: my-es
node.name: node-2
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["110.0.5.141", "110.0.5.142", "110.0.5.143"]
cluster.initial_master_nodes: ["110.0.5.141"]
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
143服务器:
cluster.name: my-es
node.name: node-2
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["110.0.5.141", "110.0.5.142", "110.0.5.143"]
cluster.initial_master_nodes: ["110.0.5.141"]
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
6、配置ca证书
1.新增配置
每个集群节点都需要设置,编辑 elasticsearch.yml 文件:
cd /home/isearch/es
vi es-cluster-01/config/elasticsearch.yml
vi es-cluster-02/config/elasticsearch.yml
vi es-cluster-03/config/elasticsearch.yml
# 设置启用了X-Pack安全特性,包括身份验证、授权、加密通信和审计等功能
xpack.security.enabled: true
# 设置指定了使用基本类型的自生成许可证
xpack.license.self_generated.type: basic
# 设置启用了节点间通信的SSL/TLS加密
xpack.security.transport.ssl.enabled: true# 设置定义了SSL/TLS通信时的证书验证模式
xpack.security.transport.ssl.verification_mode: certificate
# 设置指定了包含SSL密钥和证书的PKCS#12文件(.p12)的路径
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
# 设置指定了包含受信任证书集合的PKCS#12文件的路径
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
2.生成CA证书,es的bin目录下
cd /home/isearch/es/es-cluster-01/bin./elasticsearch-certutil ca
Please enter the desired output file [elastic-stack-ca.p12]: // 设置文件生成名称(可回车跳过,默认为elastic-stack-ca.p12)
Enter password for elastic-stack-ca.p12 : // 设置证书密码(如不设置也可回车跳过)
3.对生成的CA证书进行验证
依次执行以下命令
# 依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)
./elasticsearch-certutil cert --ca elastic-stack-ca.p12 #并输入第一步输入的密码
./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password #并输入第一步输入的密码
./elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
执行完命令后会得到三个文件,如不设置文件名称,则是elastic-certificates.p12、elasticsearch.keystore、elastic-stack-ca.p12
其中(我的设置完路径如下)elastic-certificates.p12、elastic-stack-ca.p12在es根路径,elasticsearch.keystore在config目录下
将这三个文件都拷贝到config目录下,然后在之前的xpack配置后增加:
cd /home/isearch/es/es-cluster-01mv elastic-certificates.p12 ./config/mv elastic-stack-ca.p12 ./config/
将节点 1 上的证书依次拷贝到其他节点:
配置修改完成,重启es服务
6、修改jvm配置
cd /home/es/elasticsearch-7.17.5/configvi jvm.options
内存大小按照实际情况修改。默认为4g
-Xms1g
-Xmx1g
7、文件数和句柄数修改
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
8、vm.max_map_count参数修改
vim /etc/sysctl.conf
##文件末尾添加并保存
vm.max_map_count=262144
执行一下命令刷新下配置 sysctl -p
9、配置都修改完毕后,需要将用户目录权限全部给到es用户。(因为elasticSearch不能使用root用户启动)
chown -R es:es /home/es
10、切换到es用户然后,启动es
su escd /home/es/elasticsearch-7.17.5/bin./elasticsearch (后台启动命令./elasticsearch -d)
ES 集群不启动,下面的添加密码操作执行不了,所以依次启动 3 个节点。
~/es/es-cluster-01/bin/elasticsearch -d~/es/es-cluster-02/bin/elasticsearch -d~/es/es-cluster-03/bin/elasticsearch -d
11、es设置密码访问
1)修改es根目录下的elasticsearch.yml配置文库,写入下面配置。
cd /home/es/elasticsearch-7.17.5/config/elasticsearch.yml
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
修改完成后重启elastic
2)设置密码,进入bin目录下执行命令。在任意一台es机器执行设置用户名和密码(uxun2024)的命令
cd /home/isearch/es/es-cluster-01/bin./elasticsearch-setup-passwords interactive
浏览器访问:168.165.34.44:9200;
用户密码登录=> 用户名:elastic 密码:自己设置的密码(2025);
13、创建ES索引,有三种方式;
- postman直接请求;
- cur请求
- kibana请求
1.通过postman请求Elasticsearch 的 RESTFul API 创建索引;
2.登录es,账号:elastic 密码:2025;
3.复制登陆后Authorization信息使用postman的PUT请求ES;
4.找到索引文件,只需要执行mapping类文件,复制里面内容,如果包含_doc则去掉;
5.es请求后缀如第一个文件为order,put请求内容地址为:192.168.5.142:9200/order;
6.若执行错误内容,讲put请求改为delete请求即可删除;
后记
👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹
相关文章:
Linux上Elasticsearch 集群部署指南
Es 集群部署 Es 集群部署 Es 集群部署 准备好三台服务器。示例使用:110.0.5.141/142/143 1、es用户和用户组创建,使用root账号 groupadd esuseradd -g es es2、将es安装包和ik分词器上传到:/home/es/目录下(任意目录都行&#…...
【系统架构设计师】虚拟机体系结构风格
目录 1. 说明2. 解释器体系结构风格3. 规则系统体系结构风格4. 例题4.1 例题1 1. 说明 1.p263。2.虚拟机体系结构风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。3.虚拟机体…...
Python 字典思维导图
在本章中,你将学习能够将相关信息关联起来的Python字典。你将学习如何访问和修改字典中的信息。鉴于字典可存储的信息量几乎不受限制,因此我们会演示如何遍 历字典中的数据。另外,你还将学习存储字典的列表、存储列表的字典和存储字典的字典。…...
前台、后台、守护进程对比,进程组的相关函数
前台进程,后台进程,守护进程的对比 在前面我们已经了解了前台进程,后台进程,守护进程。 直接在终端中输入命令: 这是最常见的启动前台进程的方式。例如,在终端中输入 ./myprogram 就可以启动 myprogram 程…...
openAI最新o1模型 推理能力上表现出色 准确性方面提升 API如何接入?
OpenAI o1模型在回答问题前会进行深入思考,并生成一条内部推理链,使其在尝试解决问题时可以识别并纠正错误,将复杂的步骤分解为更简单的部分,并在当前方法无效时尝试不同的途径。据悉,o1不仅数学水平与美国奥林匹克竞赛…...
跨平台键鼠共享免费方案--Deskflow!流畅体验用MacBook高效控制Windows设备
在混合办公场景中,多设备协同已成为提升效率的关键需求。对于同时使用Mac与Windows设备的用户,如何通过一套键盘和触控板实现无缝切换,避免桌面空间浪费与操作冗余?本文将基于开源工具Deskflow,提供一套专业级解决方案…...
CAS单点登录(第7版)27.开发人员
如有疑问,请看视频:CAS单点登录(第7版) 开发人员 Javadocs文档 group org.apereo.cas has published 42 artifact(s) with total 8210 version(s) org.apereo.cas org apereo.cas 小组已出版 42 件作品,共 8210 个版…...
算法与数据结构(多数元素)
题目 思路 方法一:哈希表 因为要求出现次数最多的元素,所以我们可以使用哈希映射存储每个元素及其出现的次数。每次记录出现的次数若比最大次数大,则替换。 方法二:摩尔算法 摩尔的核心算法就是对抗,因为存在次数多…...
【2.10-2.16学习周报】
文章目录 摘要Abstract一、理论方法介绍1.模糊类增量学习2.Rainbow Memory(RM)2.1多样性感知内存更新2.2通过数据增强增强样本多样性(DA) 二、实验1.实验概况2.RM核心代码3.实验结果 总结 摘要 本博客概述了文章《Rainbow Memory: Continual Learning with a Memory of Divers…...
python包的管理
管理python包 python能跻身最欢迎编程语言前列的一个主要原因是python有着活跃的社区提供丰富的包,诸如numpy,pandas,scikit-learn等等。 python的包都存放PyPI中,PyPI即Python Package Index,是python的软件仓库。所…...
我用 Cursor 开发了一款个人小记系统
https://note.iiter.cn 项目背景 在日常工作和学习中,我们经常需要快速记录一些想法、收藏一些有用的链接或者保存一些重要的文本、图片内容。虽然市面上已经有很多笔记软件,但我想要一个更轻量、更简单的工具,专注于快速记录和智能检索。于是我开发了这款个人小记系统。 系统…...
安全测试中的身份认证与访问控制深度解析
第一部分:基本概念与核心问题 1. 身份认证与访问控制基础 1.1 身份认证三要素 知识因素(密码、PIN码)持有因素(硬件令牌、手机)生物因素(指纹、面部识别)1.2 访问控制模型 DAC(自主访问控制)MAC(强制访问控制)RBAC(基于角色的访问控制)2. 关键安全机制 2.1 会话…...
代码随想录-训练营-day30
今天我们要进入动态规划的背包问题,背包问题也是一类经典问题了。总的来说可以分为: 今天让我们先来复习0-1背包的题目,这也是所有背包问题的基础。所谓的0-1背包问题一般来说就是给一个背包带有最大容量,然后给一个物体对应的需要…...
全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售
要闻 近日,科沃斯全新发布的GOAT A Series 和 GOAT O Series割草机器人,将在多国市场正式上市发售。作为业界最强的割草机器人产品之一,GOAT致力为割草机带来基于机器人视觉的专业定位解决方案。科沃斯GOAT全新系列产品全平台搭载地瓜机器人…...
Bob the Canadian
1:around the house Hi! Bob the Canadian here! Let’s learn English around the house. Come on in! Hi, Bob the Canadian here. Welcome to this video. If this is your first time here, don’t forget to click the subscribe button below, and give…...
RocketMQ与kafka如何解决消息积压问题?
前言 消息积压问题简单来说,就是MQ存在了大量没法快速消费完的数据,造成消息积压的原因主要在于“进入的多,消费的少”,或者生产的速度过快,而消费速度赶不上,基于这一问题,我们主要介绍如何通过…...
Node.js中Express框架使用指南:从入门到企业级实践
目录 一、Express快速入门 1. 项目初始化 2. 基础服务搭建 3. 添加热更新 二、核心功能详解 1. 路由系统 动态路由参数 路由模块化 2. 中间件机制 自定义中间件 常用官方中间件 3. 模板引擎集成 三、企业级最佳实践 1. 项目结构规范 2. 错误处理方案 3. 安全防护…...
自定义组件数据监听器案例,纯数据字段,自定义组件生命周期,页面的生命周期,插槽
1.自定义组件数据监听器案例 1.1基础案例模板 1.2定义button事件的处理函数 1.3监听对象中属性的变化,并且为fullColor赋值 使用通配符监听所有属性变化 2.自定义组件的纯数据字段 、 3.自定义组件的生命周期 4.组件所在页面的生命周期 5.自定义组件插槽 5.1单个插…...
mybatis-lombok工具包介绍
Lombok是一个实用的]ava类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。 使用前要加入Lombok依赖...
LDO技术:线性调整率与负载调整率全解析
LDO(Low Dropout Regulator)低压差线性稳压器,其结构比较简单、纹波和噪声比DCDC小、成本也优于DCDC,缺点是在输入电压和输出电压的压差比较大时,效率低些,但在小电流电源电路上被广泛使用。现在输入电压和输出电压的压差可做到10…...
SpringBoot 集成 Caffeine 实现本地缓存
目录 1、Caffeine 简介 1.1、Caffeine 简介1.2、对比 Guava cache 的性能主要优化项1.3、常见的缓存淘汰算法1.4、SpringBoot 集成 Caffeine 两种方式 2、SpringBoot 集成 Caffeine 方式一 2.1、缓存加载策略 2.1.1、手动加载2.1.2、自动加载【Loading Cache】2.1.3、异步加载…...
AF3 from_pdb_string和from_mmcif_string函数解读
AlphaFold3的from_pdb_string和from_mmcif_string函数分别用来解析蛋白质PDB和mmCIF 格式结构数据并转换为 Protein 数据类。它通过 Biopython 提供的 PDBParser 和 MMCIFParser 解析 PDB/mmCIF 文件,再通过调用_from_bio_structure函数从 Biopython 解析出的 Structure 提取 …...
【练习】图论
F. Friendly Group 图中选择一个点-1 边两端点都选择1 边一个端点选择-1 添加链接描述 #include<iostream> using namespace std; #include<vector> #include<cstring> const int N300010; int n,m; vector<int> G[N]; int temp1,temp2; bool vis[N…...
2025-02-15 禅修-若分别性,离尘无体,斯则前尘分别影事
摘要: 心执着于外镜,诸多境界,贪婪,嗔恨,痴愚,见诸多境界,诸多历练,被外物所扰,心迷性乱。将外部诸多事物,诸多境象,反而认为是自己的一部分。外部一切变动无…...
使用EVE-NE-锐捷实现NAT+ACL服务限制
一、项目拓扑 二、项目实现 1.NET配置 点击左侧的NetWorks,设置与图相同的配置,实现实验环境桥接到物理网络 2.GW配置 进入特权模式 enable进入全局模式 configure terminal 更改名称为GW hostname GW进入g0/0接口 interface g0/0将g0/0接口IP地址配置为192.168.…...
变相提高大模型上下文长度-RAG文档压缩-2.带早停机制的map-refine
我试过用map-refine方法来精炼上下文,由于它是线性的,运行时间随着文档数量线性增长。所以可以考虑通过判断上下文是否可以满足QA来提前结束过程。 import os import json from langchain_core.documents import Documentdata [] file_path ./data/da…...
大模型训练为什么依赖GPU
近年来,随着人工智能技术的飞速发展,特别是深度学习领域的进步,大模型的训练逐渐成为研究和工业界的热点。作为大模型训练中的核心硬件,GPU(图形处理单元)扮演了至关重要的角色。那么,为什么大模…...
二叉树链式结构:数据结构中的灵动之舞
目录 前言 一、 前置说明 二、二叉树的遍历 2.1前序遍历 2.2中序遍历 2.3 后序遍历 2.4层序遍历 三、二叉树的遍历的应用 3.1二叉树节点个数: 3.2二叉树的高度 3.3 二叉树第k层的节点的个数 3.4二叉树的查找 总结 前言 在数据结构的世界里,二叉…...
【kafka系列】Kafka如何保证消息不丢失?
目录 1. 生产者端:确保消息成功发送到Broker 核心机制: 关键步骤: 2. Broker端:持久化与副本同步 核心机制: 关键源码逻辑: 3. 消费者端:可靠消费与Offset提交 核心机制: 关…...
新建github操作
1.在github.com的主页根据提示新建一个depository。 2.配置用户名和邮箱 git config --global user.name "name" git config --global user.email "email" 3.生成ssh秘钥 ssh-keygen -t rsa 找到public key 对应的文件路径 cat /root/.ssh/id_rsa 复制显…...
