当前位置: 首页 > news >正文

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索引,有三种方式;

  1. postman直接请求;
  2. cur请求
  3. 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/目录下(任意目录都行&#…...

字节Trae使用感想(后端)

前言 昨天分享了字节哥的Trae从0到1创作模式构建一个vue前端项目,今天又来试试她的后端项目能力。不是我舔,不得不说确实不错。可惜现在曾经没有好好学习,进不了字节。既然进不了字节,那我就用字节哥的产品吧。 后面有惊喜…...

国产编辑器EverEdit - 二进制模式下观察Window/Linux/MacOs换行符差异

1 换行符格式 1.1 应用场景 稍微了解计算机历史的人都知道, 计算机3大操作系统: Windows、Linux/Unix、MacOS,这3大系统对文本换行的定义各不相同,且互不相让,导致在文件的兼容性方面存在一些问题,比如它们…...

文心一言4月起全面免费,6月底开源新模型:AI竞争进入新阶段?

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、文心一言免费化的背后:AI成本与应用的双重驱动1️⃣成本下降,推动文心一言普及2…...

解锁机器学习算法 | 线性回归:机器学习的基石

在机器学习的众多算法中,线性回归宛如一块基石,看似质朴无华,却稳稳支撑起诸多复杂模型的架构。它是我们初涉机器学习领域时便会邂逅的算法之一,其原理与应用广泛渗透于各个领域。无论是预测房价走势、剖析股票市场波动&#xff0…...

如何使用Three.js制作3D月球与星空效果

目录 1. 基本设置2. 创建星空效果3. 创建月球模型4. 添加中文3D文字5. 光照与相机配置6. 动画与控制7. 响应式布局8. 结语 在本文中,我们将一起学习如何利用Three.js实现一个3D月球与星空的效果,并添加一些有趣的元素,比如中文3D文字和互动功…...

SQL语句语法

SQL数据库的结构为 库database 表table 段segment 行row 列column 或field SQL 语句主要分为以下几类: 数据定义语言(DDL):用于定义数据库对象,如数据库、表、视图、索引等。数据操作语言(DML)&…...

github上文件过大无法推送问题

GitHub 对文件大小有限制,超过 100 MB 的文件无法直接推送到仓库中。 解决思路: 使用 Git Large File Storage (Git LFS) 来管理大文件不上传对应的大文件 使用Git LFS: 1. 安装 Git LFS 首先,你需要安装 Git LFS。可以按照以…...

微信小程序的请求函数封装(ts版本,uniapp开发)

主要封装函数代码: interface HttpOptions {url: string;method?: string;headers?: { [key: string]: string };data?: any; }class Http {private timeout: number;private baseUrl: string;public constructor() { this.timeout 60 * 1000;this.baseUrl ht…...

Visual Studio Code支持WSL,直接修改linux/ubuntu中的文件

步骤1 开始通过 WSL 使用 VS Code | Microsoft Learn 点击远程开发扩展包。 步骤2 Remote Development - Visual Studio Marketplace 点击install, 允许打开Visual Studio Code。 步骤3 共有4项,一齐安装。 步骤4 在WSL Linux(Ubuntu)中&#xf…...

openAI最新o1模型 推理能力上表现出色 准确性方面提升 API如何接入?

OpenAI o1模型在回答问题前会进行深入思考,并生成一条内部推理链,使其在尝试解决问题时可以识别并纠正错误,将复杂的步骤分解为更简单的部分,并在当前方法无效时尝试不同的途径。据悉,o1不仅数学水平与美国奥林匹克竞赛…...

GC 基础入门

什么是GC(Garbage Collection)? 内存管理方式通常分为两种: 手动内存管理(Manual Memory Management)自动内存管理(Garbage Collection, GC) 手动内存管理 手动内存管理是指开发…...

Go语言协程Goroutine高级用法(一)

什么协程 在Go语言中,协程就是一种轻量的线程,是并发编程的单元,由Go来管理,所以在GO层面的协程会更加的轻量、高效、开销更小,并且更容易实现并发编程。 轻量级线程 Go语言中协程(线程)与传…...

DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

1 DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强,如果不能在企业的自有业务上产生助益,那基本也是一无是处。将企业的自有业务上传到线上训练,那是脑子进水的做法&#xff…...

【鸿蒙HarmonyOS Next实战开发】lottie动画库

简介 lottie是一个适用于OpenHarmony和HarmonyOS的动画库,它可以解析Adobe After Effects软件通过Bodymovin插件导出的json格式的动画,并在移动设备上进行本地渲染。 下载安裝 ohpm install ohos/lottieOpenHarmony ohpm 环境配置等更多内容&#xff0c…...

PAT乙级真题 — 1084 外观数列(java)

外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始,序列的第 n1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对…...

从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地

导读:日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到…...

STM32——HAL库开发笔记19(串口中断接收实验)(参考来源:b站铁头山羊)

本实验,我们以中断的方式使得串口发送数据控制LED的闪烁速度,发送1,慢闪;发送2,速度正常;发送3,快闪。 一、电路连接图 二、实现思路&CubeMx配置 1、实现控制LED的闪烁速度 uint32_t bli…...

清影2.0(AI视频生成)技术浅析(二):自然语言处理

清影2.0(AI视频生成)中的自然语言处理(NLP)技术是其核心组件之一,负责将用户输入的自然语言文本转化为机器可以理解的语义表示,从而指导后续的视频生成过程。 一、基本原理 1. 目标 清影2.0的NLP技术旨在将用户输入的自然语言文本转化为机器可以理解的语义表示,从而指…...

Unity序列化多态数组

文档 Json序列化 脚本序列化 问题 Unity序列化数组时,只能存储基类内容,子类内容缺少。 Unity版本 2019.4.40 原因:Unity序列化不支持多态 测试类 将testarray类序列化时,多态列表personlist只转换了基类数据,子类…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...