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

Ubuntu搭建ES8集群+加密通讯+https访问

目录

写在前面

一、前期准备

1.  创建用户和用户组

2.  修改limits.conf文件 

3.  关闭操作系统swap功能

4.  调整mmap上限

二、安装ES

1.下载ES

2.配置集群间安全访问证书密钥

3.配置elasticsearch.yml

4.修改jvm.options

5.启动ES服务

6.修改密码

7.启用外部https调用

8.三台都重启

9.查看集群节点状态


写在前面

        这是一份详细的Ubuntu安装Elasticsearch 8.8.2部署教程,适合刚接触的小伙伴,也能帮上有经验的朋友。从环境准备开始,到安装配置,再到集群搭建,手把手教你怎么操作。包括创建用户、设置权限、优化系统参数、生成证书、配置文件调整等步骤,每一步都清清楚楚。按照这个流程走,相信你很快就能跑起一个稳定的ES集群了,祝你顺利!

一、前期准备

1.  创建用户和用户组

        ES不能使用root启动,所以要新建用户,命令如下:

# 创建组
groupadd elastic# 创建用户
useradd -s /bin/bash -g elastic -m elastic# 修改elastic密码
passwd elastic
New password: [输入你的新密码]

        以上步骤添加名为elastic用户, 并将其添加至elastic组内, 并修改密码。 

        假如elastic准备放在/data/elastic882/下,需要给这个用户这个目录的所有权:

chown elastic /data/elastic882/
chmod 777 /data/elastic882/

2.  修改limits.conf文件 

        为elastic用户调整最大的文件和线程资源数上限:

  vi /etc/security/limits.conf# 添加如下配置elastic – nofile 65536elastic – nproc 4096

        在ubuntu操作系统下,需要确保/etc/pam.d/su文件中,已经开启pam_limits功能,使得上述limits.conf文件生效:

grep pam_limits /etc/pam.d/su# 应如下信息,如果没有就加上
session    required pam_limits.so

3.  关闭操作系统swap功能

        修改/etc/fstab,注释掉所有与swap的功能

vi /etc/fstab# 比如下面这样
/dev/mapper/openeuler_zhrm--es01-root /                       xfs     defaults        0 0
UUID=2c60fc0b-ea0d-43cb-8f8b-bb607b3e49f0 /boot                   ext4    defaults        1 2
# /dev/mapper/openeuler_zhrm--es01-swap none                    swap    defaults        0 0
UUID=1d193d38-969c-4dac-b2ef-b4b26f6f778f /data                   xfs    defaults        0 0

(需要重启才能生效) 

        关闭此功能前的效果:

        生效的后的效果:

4.  调整mmap上限

修改/etc/sysctl.conf 

vi /etc/sysctl.conf 添加如下设置vm.max_map_count=262144 

重启系统,让上面的设置生效。

二、安装ES

        我们以三台服务器为例(假设为node-1、node-2、node-3),使用es8.8.2,es安装在 /data/elastic882 目录。

1.下载ES

​cd /data/elastic882
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-linux-x86_64.tar.gz
tar -zxvf elasticsearch-8.8.2-linux-x86_64.tar.gz

2.配置集群间安全访问证书密钥

        在任意一台执行命令,颁发证书:

cd elasticsearch-8.8.2
# 签发ca证书
./bin/elasticsearch-certutil ca 
`【ENTER】`   什么也不用输入直接回车
`【ENTER】`   什么也不用输入直接回车# 用ca证书签发节点证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  
`【ENTER】`   什么也不用输入直接回车
`【ENTER】`   什么也不用输入直接回车
`【ENTER】`   什么也不用输入直接回车# 将证书放到certs目录(手动创建)
mkdir config/certs
mv elastic-certificates.p12  elastic-stack-ca.p12 config/certs 

        然后把elastic-certificates.p12  elastic-stack-ca.p12两个文件另外两个服务器的相同位置:

/data/elastic882/elasticsearch-8.8.2/config/certs

3.配置elasticsearch.yml

vi /data/elastic882/elasticsearch-8.8.2/config/elasticsearch.yml 添加如下配置,三台都这么做:

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------# Enable security features
xpack.security.enabled: truexpack.security.enrollment.enabled: true# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:enabled: falsekeystore.path: certs/elastic-certificates.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/elastic-certificates.p12truststore.path: certs/elastic-certificates.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
ingest.geoip.downloader.enabled: false
#--------------------- END SECURITY AUTO CONFIGURATION -------------------------

        继续修改elasticsearch.yml

        node-1配置,注意下面的ip1、ip2、ip3要替换成自己实际的ip:

cluster.name: es8
http.cors.enabled: true
http.cors.allow-origin: "*"
action.destructive_requires_name: falsenode.name: node-1
node.roles: [master,data]path.data: /data/elastic882/data
path.logs: /data/elastic882/logsnetwork.host: 0.0.0.0
http.port: 9200
http.publish_host: ip1discovery.seed_hosts: ["ip1:9300","ip2:9300","ip3:9300"]cluster.initial_master_nodes: ["node-1","node-2","node-3"]

        node-2只有下面两个配置不同:

node.name: node-2http.publish_host: ip2

        node-3也是:

node.name: node-3http.publish_host: ip3

4.修改jvm.options

         最大最小堆内存需要根据实际机器情况配置, 上限(不包括)32G,注意这两个参数前不要有空格:

vi jvm.options# 下面两行的注释 打开配置合适的大小
-Xms4g
-Xmx4g

5.启动ES服务

# 三台都启动
./bin/elasticsearch -d -p pid 

6.修改密码

        在任意一台上执行修改密码的命令:

./bin/elasticsearch-reset-password -u elastic -iPlease confirm that you would like to continue [y/N]y
Enter password for [elastic]: [你的ES密码]
Re-enter password for [elastic]: [你的ES密码]

7.启用外部https调用

# 三台都改
vi /data/elastic882/elasticsearch-8.8.2/config/elasticsearch.yml# 将这个参数变为true
xpack.security.http.ssl:enabled: true

8.三台都重启

# 关闭
kill `cat pid`# 启动
./bin/elasticsearch -d -p pid 

9.查看集群节点状态

# 集群各个节点状态,可以看到三个节点的信息
curl -k -u elastic:[你的ES密码] https://127.0.0.1:9200/_cat/nodes?vip             heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
[ip1]            8          22   4    0.81    0.37     0.21 dm        *      node-1
[ip1]            8          22   5    0.56    0.27     0.14 dm        -      node-3
[ip1]            7          26   5    0.53    0.23     0.12 dm        -      node-2# 查看集群的健康状态
curl -k  -u elastic:[你的ES密码]  https://127.0.00.1:9200/_cat/health?vepoch      timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1734652132 23:48:52  es8     green           3         3      2   1    0    0        0             0                  -                100.0%

        注意elasticsearch.yml配置文件要遵循yml格式要求,每一行的开头空格很敏感,不要写错。

        ES8集群部署就介绍到这,关注不迷路,(#^.^#)

  了解更多优质内容,商务合作!!!  搞钱入口》》》

  还在为找工作烦恼吗,用这个宝藏小程序,拿Offer快人一步!Offer入口》》》

相关文章:

Ubuntu搭建ES8集群+加密通讯+https访问

目录 写在前面 一、前期准备 1. 创建用户和用户组 2. 修改limits.conf文件 3. 关闭操作系统swap功能 4. 调整mmap上限 二、安装ES 1.下载ES 2.配置集群间安全访问证书密钥 3.配置elasticsearch.yml 4.修改jvm.options 5.启动ES服务 6.修改密码 7.启用外部ht…...

PC寄存器(Program Counter Register)jvm

在JVM(Java虚拟机)中,PC寄存器(Program Counter Register)扮演着至关重要的角色。以下是对JVM中PC寄存器的详细解释: 一、定义与功能 定义: JVM中的PC寄存器,也被称为程序计数器,是对物理PC寄存器的一种抽象模拟。它用于存储当前线程所执行的字节码指令的地址,即指…...

预览和下载 (pc和微信小程序)

1.微信小程序 预览pdf 或者 图片等 //utils.js 文件//通过接口返回文件链接 打开文档 export default function previewFile({ downLinkUrl, tempFilePath }) {let url "https://" downLinkUrl.replace("http://", "").replace("https:…...

使用 DeepSpeed 微调 OPT 基础语言模型

文章目录 OPT 基础语言模型Using OPT with DeepSpeedmain.py 解析1、导入库和模块2、解析命令行参数3、main 函数3.1 设备与分布式初始化3.2 模型与数据准备3.3 定义评估函数3.4 优化器与学习率调度器设置3.5 使用 deepspeed 进行模型等初始化3.6 训练循环3.7 模型保存 4、dsch…...

BSM和BMS什么区别?

BSM BSM(Battery System Manager)是指用于管理和控制电动车辆的电池系统的设备,其功能包括监测电池状态、控制充放电过程、保护电池安全等。 BMS BMS(Battery Management System)是指用于监测、控制和保护电池组的设…...

使用Maven打包javaagent.jar

1、简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码。 java1.5 之前使用的是JVMTI(jvm tool interface)技术来实现对class的拦截,不过这个是用 C 编写的&#…...

R语言混合模型回归GBTM群组轨迹模型绘图可视化研究

全文链接:https://tecdat.cn/?p38581 在回归分析的广袤领域中,面对具有多条未知函数线的复杂数据时,传统方法常常捉襟见肘。混合模型作为一种强有力的分析手段应运而生,其在处理此类复杂情境时展现出独特的优势与潜力&#xff08…...

【毕业设计】A079-基于Java的影院订票系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...

Vue.js前端框架教程11:Vue监听器watch和watchEffect

文章目录 监听器(watchers)基本用法deep: trueimmediate: true总结 watchEffect基本用法自动追踪依赖停止监听与 watch 的对比性能优化总结 监听器(watchers) 在 Vue 中,监听器(watchers)是一种…...

疾风大模型气象系统:精准预报,引领未来

精准预报,引领未来 在当今快速变化的世界中,天气预报已成为日常生活和社会运行中不可或缺的一部分。从规划日常出行到防范极端天气影响,高精准的气象服务正在重新定义我们的生活方式。而在这一领域,疾风大模型气象系统以其卓越的技术实力和领先的预测能力,正引领气象服务…...

U9应收单拉单生成时找不到退货单

财务说做应收单时抓不到一张退货单。2022年单据。这样的单据让人联想翩翩,胡思乱想。怎么复杂怎么想,钻了牛角尖。分析了1天也没有结果。不知道系统的逻辑,只能用猜想的形式去分析。 问过顾问之后,原来是单据类型错了。从而知道了…...

设计模式--单例模式【创建型模式】

设计模式的分类 我们都知道有 23 种设计模式,这 23 种设计模式可分为如下三类: 创建型模式(5 种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式(7 种)&#xff1…...

挑战一个月基本掌握C++(第七天)了解指针,引用,时间,输入输出,结构体,vector容器,数据结构 - 通用完结

一 指针 每一个变量都有一个内存位置&#xff0c;每一个内存位置都定义了可使用连字号&#xff08;&&#xff09;运算符访问的地址&#xff0c;它表示了在内存中的一个地址。 下面的实例&#xff0c;它将输出定义的变量地址&#xff1a; #include <iostream>using…...

百度面试手撕 go context channel部分学习

题目 手撕 对无序的切片查询指定数 使用context进行子协程的销毁 并且进行超时处理。 全局变量定义 var (startLoc int64(0) // --- 未处理切片数据起始位置endLoc int64(0) // --- 切片数据右边界 避免越界offset int64(0) // --- 根据切片和协程数量 在主线程 动态设…...

Spring事务管理详解

一、什么是事务管理 事务是一个最小的不可再分的工作单元。 一个事务对应一套完整的业务操作。事务管理是指这些操作要么全部成功执行&#xff0c;要么全部回滚&#xff0c;从而保证数据的一致性和完整性。比如银行转账&#xff0c;需要保证转出和转入是一个原子操作。Spring提…...

社区版 IDEA 开发webapp 配置tomcat

1.安装tomcat 参考Tomcat配置_tomcat怎么配置成功-CSDN博客 2.构建webapp项目结构 新建一个普通项目 然后添加webapp的目录结构&#xff1a; main目录下新建 webapp 文件夹 webapp文件夹下新建WEB_INF文件夹 *WEB_INF目录下新建web.xml wenapp文件夹下再新建index.html …...

打 印 菱 形

本题要求你写个程序打印成菱形的形状。例如给定17个符号&#xff0c;要求按下列格式打印 **** *********所谓“菱形形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;符号数从1开始先从小到大顺序递增&#xff…...

ffmpeg翻页转场动效的安装及使用

文章目录 前言一、背景二、选型分析2.1 ffmpeg自带的xfade滤镜2.2 ffmpeg使用GL Transition库2.3 xfade-easing项目 三、安装3.1、安装依赖&#xff08;[参考](https://trac.ffmpeg.org/wiki/CompilationGuide/macOS#InstallingdependencieswithHomebrew)&#xff09;3.2、获取…...

[RocketMQ] 发送重试机制与消费重试机制~

发送重试 RocketMQ 客户端发送消息时&#xff0c;由于网络故障等因素导致消息发送失败&#xff0c;这时客户端SDK会触发重试机制&#xff0c;尝试重新发送以达到调用成功的效果。 触发条件 客户端消息发送请求失败或超时。服务端节点处于重启或下线状态。服务端运行慢造成请…...

基于Redis的网关鉴权方案与性能优化

文章目录 前言一、微服务鉴权1.1 前端权限检查1.2 后端权限检查1.3 优缺点 二、网关鉴权2.1 接口权限存储至Redis2.2 网关鉴权做匹配 总结 前言 在微服务架构中&#xff0c;如何通过网关鉴权结合Redis缓存提升权限控制的效率与性能。首先&#xff0c;文章对比了两种常见的权限…...

计算机网络-L2TP VPN基础概念与原理

一、概述 前面学习了GRE和IPSec VPN&#xff0c;今天继续学习另外一个也很常见的VPN类型-L2TP VPN。 L2TP&#xff08;Layer 2 Tunneling Protocol&#xff09; 协议结合了L2F协议和PPTP协议的优点&#xff0c;是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN&…...

Node.js day-01

01.Node.js 讲解 什么是 Node.js&#xff0c;有什么用&#xff0c;为何能独立执行 JS 代码&#xff0c;演示安装和执行 JS 文件内代码 Node.js 是一个独立的 JavaScript 运行环境&#xff0c;能独立执行 JS 代码&#xff0c;因为这个特点&#xff0c;它可以用来编写服务器后端…...

vue el-dialog实现可拖拉

el-dialog实现拖拉&#xff0c;每次点击度居中显示&#xff0c;以下贴出代码具体实现&#xff0c;我是可以正常拖拉并且每次度显示在中间&#xff0c;效果还可以&#xff0c;需要的可以丢上去跑跑 组件部分&#xff1a; <el-dialog:visible.sync"dialogVisible"…...

go配置文件

https://github.com/spf13/viper viper golang中常用的配置文件工具为viper库&#xff0c;是一个第三方库。viper功能&#xff1a; 解析JSON、TOML、YAML、HCL等格式的配置文件。监听配置文件的变化(WatchConfig)&#xff0c;不需要重启程序就可以读到最新的值。...

C++ OpenGL学习笔记(2、绘制橙色三角形绘制、绿色随时间变化的三角形绘制)

相关文章链接 C OpenGL学习笔记&#xff08;1、Hello World空窗口程序&#xff09; 目录 绘制橙色三角形绘制1、主要修改内容有&#xff1a;1.1、在主程序的基础上增加如下3个函数1.2、另外在主程序外面新增3个全局变量1.3、编写两个shader程序文件 2、initModel()函数3、initS…...

项目搭建+删除(单/批)

一 : 删除没有单独的页面,在列表页面写 二 : 删除在列表的页面 1.删除(单/双)的按钮 ① : 在列表文档就绪函数的ajax里面,成功回调函数追加数据里写删除按钮 注意点 : 删除/修改/回显都是根据id来的,记得传id ② : 批删给批删按钮,定义批删的方法 one : 示例(单删) : //循环追…...

《小米创业思考》

《小米创业思考》是小米创始人雷军对小米创业历程的系统梳理和深度思考&#xff0c;蕴含着许多宝贵的创业经验与智慧&#xff0c;以下是主要内容&#xff1a; 创业初心与梦想 - 源于热爱与使命感&#xff1a;雷军及团队怀着对科技的热爱和让每个人享受科技乐趣的使命感创立小米…...

多种注意力机制详解及其源码

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

VMWare 的克隆操作

零、碎碎念 VMWare 的这个克隆操作很简单&#xff0c;单拎出来成贴的目的是方便后续使用。 一、操作步骤 1.1、在“源”服务器上点右键&#xff0c;选择“管理--克隆” 1.2、选择“虚拟机的当前状态”为基础制作克隆&#xff0c;如下图所示&#xff0c;然后点击“下一页” 1.3、…...

Y3编辑器教程7:界面编辑器

文章目录 一、简介1.1 导航栏1.2 画板1.3 场景界面1.4 控件1.4.1 空节点1.4.2 按钮1.4.3 图片1.4.4 模型1.4.5 文本1.4.6 输入框1.4.7 进度条1.4.8 列表 1.5 元件1.5.1 简介1.5.2 差异说明1.5.3 元件实例的覆盖、还原与禁止操作1.5.4 迷雾控件 1.6 属性1.7 事件&#xff08;动画…...