Elasticsearch集群部署以及认证配置

文档地址:

官网文档地址: https://www.elastic.co/guide/index.html
rpm包/源码下载地址:https://www.elastic.co/cn/downloads

源码安装-环境准备:

node-01       192.168.95.174
node-02       192.168.95.173
node-03       192.168.95.172
 
在每台机器上都下载源码包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-linux-x86_64.tar.gz    # ES的,我用的7.14.0版本
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-linux-x86_64.tar.gz   # Kibana 的,版本要一致,只在node-001上安装
 
 
修改一下解析hosts文件,这一步每台机器都要配置
vim /etc/hosts
192.168.95.174 node-01
192.168.95.173 node-02
192.168.95.172 node-03


修改服务器配置参数
#### 每台ES服务器都需要执行
 
vim /etc/security/limits.conf
 
* soft nofile 65535
* hard nofile 65537
 
vim /etc/sysctl.conf
vm.max_map_count = 655360
vm.swappiness=0
 
sysctl -p
解压ES源码包
每一台ES机器都需要执行
 
# 切到工作目录
mkdir /data/maycur/unzip && cd /data/maycur/unzip
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-linux-x86_64.tar.gz
 
tar -xvzf elasticsearch-7.10.1-linux-x86_64.tar.gz ../
 
cd elasticsearch-7.10.1
修改ES集群配置文件
#集群名称和节点名称
cluster.name: my-es-cluster
node.name: node-1
network.host: 0.0.0.0
# 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP
network.publish_host: 192.168.95.174
node.master: true # 使节点有资格成为主节点
node.data: true # 使节点可以存储数据
#最大集群节点数
node.max_local_storage_nodes: 3
# 列出所有节点的私有IP地址
discovery.seed_hosts: ["192.168.95.174:9300", "192.168.95.173:9300","192.168.95.172:9300"]
# 首次启动时指定的候选主节点列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

#安全认证部分
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
#集群名称和节点名称
cluster.name: my-es-cluster
node.name: node-2
network.host: 0.0.0.0
# 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP
network.publish_host: 192.168.95.173
node.master: true # 使节点有资格成为主节点
node.data: true # 使节点可以存储数据
#最大集群节点数
node.max_local_storage_nodes: 3
# 列出所有节点的私有IP地址
discovery.seed_hosts: ["192.168.95.174:9300", "192.168.95.173:9300","192.168.95.172:9300"]
# 首次启动时指定的候选主节点列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

#安全认证部分
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
#集群名称和节点名称
cluster.name: my-es-cluster
node.name: node-3
network.host: 0.0.0.0
# 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP
network.publish_host: 192.168.95.172
node.master: true # 使节点有资格成为主节点
node.data: true # 使节点可以存储数据
#最大集群节点数
node.max_local_storage_nodes: 3
# 列出所有节点的私有IP地址
discovery.seed_hosts: ["192.168.95.174:9300", "192.168.95.173:9300","192.168.95.172:9300"]
# 首次启动时指定的候选主节点列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

#安全认证部分
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

以上配置文件开启了安装认证,如果不开启认证则可以注释,如果开启则需要执行一下操作步骤:

安全认证操作步骤
在192.168.95.174 node-01节点操作

去到cd /path/elasticsearch-7.10.1/bin

1.生成CA证书
// 生成CA证书,执行命令后,系统还会提示你输入密码,可以直接留空
./elasticsearch-certutil ca

会在config下生成一个elastic-stack-ca.p12文件
ls -al ../config/elastic-stack-ca.p12 
-rw-------. 1 elastic elastic 2527 May 21 14:29 ../config/elastic-stack-ca.p12

2.根据elastic-stack-ca.p12文件 生成elastic-certificates.p12
//生成证书和私钥,系统还会提示你输入密码,你可以输入证书和密钥的密码,也可以留空
./elasticsearch-certutil cert --ca elastic-stack-ca.p12
将节点node-01上生成的两个文件拷贝到另外的节点

scp elastic-stack-ca.p12 node-02:/path/elasticsearch-7.10.1/config/

scp elastic-stack-ca.p12 node-03:/path/elasticsearch-7.10.1/config/

启动ES集群服务
1、创建用户
#### 每台ES服务器都需要执行
 
# 因为ES不允许用root用户启动,所以我就创建一个普通用户来进行管理
groupadd elastic
useradd -g elastic -d /home/elastic elastic
passwd elastic
密码(password)

##修改es程序所有者和权限
chown -R elastic:elastic /maycur/elasticsearch-7.10.1
2、启动
su elastic
cd ...../elasticsearch-7.10.1/bin/
./elasticsearch -d

配置systemd服务启动es

cat > /etc/systemd/system/elasticsearch.service << EOF
[Unit]
Description=Elasticsearch service
After=syslog.target network.target

[Service]
Type=simple
User=elastic
Group=elastic
ExecStart=/data/maycur/elasticsearch-7.10.1/bin/elasticsearch
Restart=always
StandardOutput=syslog
StandardError=syslog
LimitNOFILE=65535
LimitMEMLOCK=infinity

[Install]
WantedBy=multi-user.target
EOF
设置es密码

在其中一台机器上执行,我这里在 192.168.95.174 node-01节点机器操作,我这里密码全部设置为(123456)

cd cd /path/elasticsearch-7.10.1/bin
./elasticsearch-setup-passwords interactive

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
用过用户名密码验证集群状态

curl -u elastic 'http://192.168.95.174:9200/_cat/health?v'

curl -u elastic 'http://192.168.95.174:9200/_cat/nodes?v'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/636351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Helm安装kafka3.7.0无持久化(KRaft 模式集群)

文章目录 2.1 Chart包方式安装kafka集群 5.开始安装2.2 命令行方式安装kafka集群 搭建 Kafka-UI三、kafka集群测试3.1 方式一3.2 方式二 四、kafka集群扩容4.1 方式一4.2 方式二 五、kafka集群删除 参考文档 [Helm实践---安装kafka集群 - 知乎 (zhihu.com)](https://zhuanlan.…

docker ps显示的参数具体是什么意思

1&#xff0c;运行一个容器 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"这段命令的作用是使用 docker run 命令运行一个基于 ubuntu:15.10 镜像的 Docker 容器&#xff0c;并在容器中执行一个无限循环的命令。 具体解…

LeetCode700二叉搜索树中的搜索

题目描述 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 null 。 解析 最基本的二叉搜索树的应用&#xff0c;递归或者while循环都可以…

dll文件是什么?电脑丢失某个dll文件有什么解决办法

Dll文件是什么&#xff1f;这个文件在电脑中是什么样的地位&#xff1f;如果电脑提示丢失了某个dll文件那么有什么办的解决这个问题呢&#xff1f;如何将丢失的dll文件进行修复呢&#xff1f;今天这篇文章将按就来教大家几种修复丢失dll文件问题的方法。 DLL 文件&#xff0c;全…

docker三种自定义网络(虚拟网络) overlay实现原理

docker提供了三种自定义网络驱动&#xff1a;bridge、overlay、macvlan。 bridge驱动类似默认的bridge网络模式。 overlay和macvlan是用于创建跨主机网络。 支持自定义网段、网关&#xff0c;docker network create --subnet 172.77.0.0/24 --gateway 172.77.0.1 my_n…

el-table-column两种方法处理特殊字段,插槽和函数

问题&#xff1a;后端返回的字段为数字 解决办法&#xff1a; {{ row[item.prop] 1 ? "启用" : "禁用" }} {{ row[item.prop] }} 最终果&#xff1a; 另外&#xff1a;如果多种状态时可用函数 {{ getStatus(row[item.prop]) }} {{ row[item.prop…

开源RAG,本地mac启动 dify源码服务

一、Dify文档 参考官方文档来操作&#xff0c;基本没太大的问题。一些细节&#xff0c;我在本篇文章中补充了出来。 这篇文章主要讲以源码的方式启动后端服务&#xff0c;前端服务使用容器启动。 dify 文档地址 欢迎使用 Dify | 中文 | Dify Dify 本地源码部署文档&#xff…

Flume 的基本介绍和安装部署

一、Flume 概述 Flume 是 Cloudera 提供的一个高可用的&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的框架服务 Flume 基于流式架构&#xff0c;灵活简单&#xff0c;能够实时读取服务器本地磁盘的数据&#xff0c;将数据写入到 HDFS 二、Flume 基础架构…

react实现把pc网站快捷添加到桌面快捷方式

文章目录 1. 需求2. 实现效果3. 核心逻辑4. 完整react代码 1. 需求 这种需求其实在国外一些游戏网站和推广网站中经常会用到&#xff0c;目的是为了让客户 快捷方便的保存网站到桌面 &#xff0c;网站主动尽量避免下次找不到网站地址了&#xff0c;当然精确的客户自己也可以使…

再次学习History.scrollRestoration

再次学习History.scrollRestoration 之前在react.dev的源代码中了解到了这个HIstory的属性&#xff0c;当时写了一篇笔记来记录我对它的理解&#xff0c;现在看来还是一知半解。所以今天打算重新学习一下这个属性&#xff0c;主要从属性以及所属对象的介绍、使用方法&#xff0…

基于BERT的中文命名实体识别识别实战

数据与代码链接见文末 bert开源项目解读:谷歌开源项目BERT源码解读与应用实例-CSDN博客 基于BERT的中文情感分析实战:基于BERT的中文情感分析实战-CSDN博客 1.命名实体识别任务 命名实体识别的主要目的是从文本中自动检测并分类出具有特定意义的命名实体,如人名、地名、组…

Stable Diffusion 模型演进:LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo 等

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

【openlayers系统学习】1.4 交互-绘制新要素

四、绘制新要素 Drawing new features 绘制新要素 我们的特征编辑器现在可用于加载数据和修改特征。接下来&#xff0c;我们将添加 Draw​ 交互&#xff0c;以允许人们绘制新功能并将其添加到我们的源中。 首先&#xff0c;导入 Draw​ 交互&#xff08;在 main.js​ 中&…

Qt笔记:动态处理多个按钮点击事件以更新UI

问题描述 在开发Qt应用程序时&#xff0c;经常需要处理多个按钮的点击事件&#xff0c;并根据点击的按钮来更新用户界面&#xff08;UI&#xff09;&#xff0c;如下图。例如&#xff0c;你可能有一个包含多个按钮的界面&#xff0c;每个按钮都与一个文本框和一个复选框相关联…

论文AIGC降重

在这个人工智能横行的时代&#xff0c;AI写作工具被使用到论文写作中也已是常态。可AI写出来的东西怎么能逃得过AIGC检测呢&#xff1f;让我带大家了解&#xff0c;如何让你的论文在AI的包围下依旧保持那份独特的“人类气息”&#xff0c;成功通过AIGC检测。 AI写作工具是个好…

vue.js基础组件4--下

1.动态组件 1.定义动态组件 利用动态组件可以动态切换页面中显示的组件。使用<component>标签可以定义动态组件&#xff0c;语法格式如下。 <component is"要渲染的组件"></component>上述语法格式中&#xff0c;<component>标签必须配合i…

实战之快速完成 ChatGLM3-6B 在 GPU-8G的 INT4 量化和本地部署

ChatGLM3 (ChatGLM3-6B) 项目地址 https://github.com/THUDM/ChatGLM3大模型是很吃CPU和显卡的&#xff0c;所以&#xff0c;要不有一个好的CPU&#xff0c;要不有一块好的显卡&#xff0c;显卡尽量13G&#xff0c;内存基本要32GB。 清华大模型分为三种(ChatGLM3-6B-Base&…

海山数据库(He3DB)从方法到实践,构建以场景为中心的体验管理体系

编者按&#xff1a;体验优化的过程中设计师经常会遇到几个阶段&#xff0c;发现问题、定义问题、优化问题、查看反馈&#xff0c;但在产品快速迭代的过程中&#xff0c;体验的问题经常被归类到“不紧急”需求中&#xff0c;并逐步转为长尾问题&#xff0c;这些不被重视的问题聚…

区块链钱包如果丢失了私钥或助记词,资产还能恢复吗?

如果你丢失了区块链钱包的私钥或助记词&#xff08;通常是用于恢复钱包的短语或种子&#xff09;&#xff0c;那么你的资产在大多数情况下是无法恢复的。私钥是访问和控制你在区块链上资产的唯一凭证&#xff0c;而助记词&#xff08;如BIP39标准中的12、18、24个单词的短语&am…

​16种常用的数据分析方法-时间序列分析

​时间序列&#xff08;time series&#xff09;是系统中某一变量的观测值按时间顺序&#xff08;时间间隔相同&#xff09;排列成一个数值序列&#xff0c;展示研究对象在一定时期内的变动过程&#xff0c;从中寻找和分析事物的变化特征、发展趋势和规律。它是系统中某一变量受…