ElasticSearch集群环境

ElasticSearch集群环境

1、Linux单机

下载地址:LINUX X86_64 (elastic.co)

下载之后进行解压

tar -zxf elasticsearch-7.8.0-linux-x86_64.tar.gz 

image-20240507095707572

名字太长了改个名字改成es

mv elasticsearch-7.8.0 es

image-20240507095749658

因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要在每个节点中创建新用户es

useradd es
password es

修改es文件的所有者为es

chown -R es:es /opt/es

image-20240507165740327

修改配置文件

修改/es/config/elasticsearch.yml 文件,添加以下配置

cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

image-20240507103642070

修改/etc/security/limits.conf,在文件的尾行增加每个进程可以打开的文件数的限制

es soft nofile 65536
es hard nofile 65536

image-20240507164456424

修改/etc/security/limits.d/20-nproc.conf,和上面的限制一样还是限制每个进程可以打开的文件数以及操作系统级别对每一个用户创建的进程数的限制。

es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称

image-20240507164959626

修改/etc/sysctl.conf

# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

image-20240507165159710

重新加载一下系统配置文件

sysctl -p

image-20240507165820949

先切换为es用户然后到es目录下启动es

su es
bin/elasticsearch

image-20240507170217353

现在虚拟机中的浏览器访问一下9200端口,出现node-1节点的相关信息访问成功

image-20240507171018837

把防火墙关闭之后使用本地的浏览器访问也能显示json串

image-20240507171245863

linux单机的就这样结束

2、Linux集群

linux中开几个文件把端口信息改掉就好

这里因为要重复三次一样的解压、改名、赋予权限的操作太麻烦,直接写一个脚本自动执行。

#!/bin/bash  
#注意:解压缩和命名操作均在当前文件夹下执行
# 检查是否存在要解压的文件  
if [ ! -f "elasticsearch-7.8.0-linux-x86_64.tar.gz" ]; then  
    echo "elasticsearch-7.8.0-linux-x86_64.tar.gz 文件不存在,请检查文件路径。"  
    exit 1  
fi  
# 设置目标用户和组(这里es用户和组已经存在)  
TARGET_USER="es"  
TARGET_GROUP="es"  
  
# 循环两次以创建esnode2和esnode3  
for i in {1..2}; do  
    # 解压缩文件(如果目录已存在,则先删除)  
    if [ -d "elasticsearch-7.8.0" ]; then  
        rm -rf elasticsearch-7.8.0  
    fi  
    tar -zxf elasticsearch-7.8.0-linux-x86_64.tar.gz  
    # 重命名目录  
    NEW_NAME="esnode$(($i+1))"  
    mv elasticsearch-7.8.0 "$NEW_NAME"  
    # 更改目录的所属用户和组  
    chown -R "$TARGET_USER:$TARGET_GROUP" "$NEW_NAME"  
    echo "已成功创建并设置 $NEW_NAME 的所属用户和组为 $TARGET_USER:$TARGET_GROUP"  
done  
echo "所有操作已完成。"

修改/esnode1/config/elasticsearch.yml文件

#集群名称
cluster.name: my-cluster
#节点名称
node.name: "es-node-1"
#定义1为主节点
node.master: true
#定义节点2节点3为数据节点
node.data: true
#访问的IP地址,0.0.0.0表示不限制
network.host: 0.0.0.0
#访问端口号
http.port: 9201
#集群通讯端口号
transport.tcp.port: 9300

#所有节点的ip地址
discovery.zen.ping.unicast.hosts: ["192.168.73.66:9300", "192.168.73.66:9301", "192.168.73.66:9302"]

修改/esnode2/config/elasticsearch.yml文件

#集群名称
cluster.name: my-cluster
#节点名称
node.name: "es-node-2"
#定义1为主节点
node.master: true
#定义节点2节点3为数据节点
node.data: true
#访问的IP地址,0.0.0.0表示不限制
network.host: 0.0.0.0
#访问端口号
http.port: 9202
#集群通讯端口号
transport.tcp.port: 9301

#所有节点的ip地址
discovery.zen.ping.unicast.hosts: ["192.168.73.66:9300", "192.168.73.66:9301", "192.168.73.66:9302"]

修改/esnode3/config/elasticsearch.yml文件

#集群名称
cluster.name: my-cluster
#节点名称
node.name: "es-node-3"
#定义1为主节点
node.master: true
#定义节点2节点3为数据节点
node.data: true
#访问的IP地址,0.0.0.0表示不限制
network.host: 0.0.0.0
#访问端口号
http.port: 9203
#集群通讯端口号
transport.tcp.port: 9302

#所有节点的ip地址
discovery.zen.ping.unicast.hosts: ["192.168.73.66:9300", "192.168.73.66:9301", "192.168.73.66:9302"]

注意: Elasticsearch 默认的 JVM 堆大小是最小/最大 1 GB,所以我使用的虚拟机的内存必须是4G因为你启动了三个服务要确保它们能各分1G正常启动,否则就会报错内存不足无法启动。

分别用es用户身份启动它们

image-20240511135028867

获取每个节点的信息

主节点es-node-1

image-20240511141235648

es-node-2

image-20240511141302381

es-node-3

image-20240511141314703

3、windows集群

创建 elasticsearch-cluster 文件夹,在内部复制三个 elasticsearch 服务

image-20240511160311941

修改集群文件目录中每个节点的 config/elasticsearch.yml 配置文件

node-1001 节点:

#节点 1 的配置信息:
#集群名称,节点之间要保持一致
cluster.name: my-elasticsearch
#节点名称,集群内要唯一
node.name: node-1001
node.master: true
node.data: true
#ip 地址
network.host: localhost
#http 端口
http.port: 1001
#tcp 监听端口
transport.tcp.port: 9301
#discovery.seed_hosts: ["localhost:9301", "localhost:9302","localhost:9303"]
#discovery.zen.fd.ping_timeout: 1m
#discovery.zen.fd.ping_retries: 5
#集群内的可以被选为主节点的节点列表
#cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#跨域配置
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

node-1002 节点:

#节点 2 的配置信息:
#集群名称,节点之间要保持一致
cluster.name: my-elasticsearch
#节点名称,集群内要唯一
node.name: node-1002
node.master: true
node.data: true
#ip 地址
network.host: localhost
#http 端口
http.port: 1002
#tcp 监听端口
transport.tcp.port: 9302
discovery.seed_hosts: ["localhost:9301"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
#集群内的可以被选为主节点的节点列表
#cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#跨域配置
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

node-1003 节点:

#节点 3 的配置信息:
#集群名称,节点之间要保持一致
cluster.name: my-elasticsearch
#节点名称,集群内要唯一
node.name: node-1003
node.master: true
node.data: true
#ip 地址
network.host: localhost
#http 端口
http.port: 1003
#tcp 监听端口
transport.tcp.port: 9303
#候选主节点的地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
#集群内的可以被选为主节点的节点列表
#cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#跨域配置
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

如果节点中有data目录需要先删除再逐一启动。

image-20240511161816546

查看一下集群

image-20240511161930994

localhost:1001/_cluster/health

image-20240511162031377
向主节点中添加一个索引user

image-20240511162817264

分别在节点2和3中查询一下

image-20240511163018436

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

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

相关文章

基于单片机的空气质量检测系统设计(51+4G版)-设计说明书

设计摘要: 本设计是基于单片机的空气质量检测系统设计涉及以下主要功能,旨在监测甲烷和一氧化碳的浓度,并在浓度过高时采取相应措施,以确保室内空气质量的安全。该系统使用传感器对甲烷和一氧化碳的浓度进行检测。传感器将收集到…

虚拟化技术 安装和配置StartWind iSCSI目标服务器

一、实验内容 安装StartWind iSCSI目标服务器配置StartWind iSCSI目标服务器 二、实验主要仪器设备及材料 安装有64位Windows操作系统的台式电脑或笔记本电脑,建议4C8G或以上配置已安装vSphere Client已创建虚拟机并在其上安装CentOS6.5StarWind安装介质starwind.…

主机和ubuntu连接

在这里插入图片描述 提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 最近在hw使用Clion连接服务器,就想把自己的电脑配置好,翻出来正点原子的教程,【正点原子】…

Springboot集成Netflix-ribbon、Enreka实现负载均衡-12

Netflix Ribbon简介 Netflix Ribbon是Netflix发布的云中间层服务开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。 具体来说,Ribbon是一个客户端负载均衡器,可以在配置文件中列出所有的服务…

Golang | Leetcode Golang题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; func largestRectangleArea(heights []int) int {n : len(heights)left, right : make([]int, n), make([]int, n)for i : 0; i < n; i {right[i] n}mono_stack : []int{}for i : 0; i < n; i {for len(mono_stack) > 0 &&am…

PMOS和NMOS

一. MOS管简介 MOS管是场效应管的一种&#xff0c;主要有两种结构形式&#xff1a;N沟道和P沟道&#xff0c;又根据场效应原理的不同&#xff0c;分为耗尽型&#xff08;当栅压为零时有较大漏极电流&#xff09;和增强型&#xff08;当栅压为零&#xff0c;漏极电流也为零&…

通过物联网管理多台MQTT设备-基于米尔T527开发板

本篇测评由电子工程世界的优秀测评者“JerryZhen”提供。 本文将介绍基于米尔电子MYD-LT527开发板的网关方案测试。 一、系统概述 基于米尔-全志 T527设计一个简易的物联网网关&#xff0c;该网关能够管理多台MQTT设备&#xff0c;通过MQTT协议对设备进行读写操作&#xff0c;…

CMakeLists.txt语法规则:改变行为的变量说明一

一. 简介 前面一篇文章学习了 CMakeLists.txt语法中的 部分常量变量&#xff0c;具体学习提供信息的变量&#xff0c;文章如下&#xff1a; CMakeLists.txt语法规则&#xff1a;提供信息的变量说明一-CSDN博客 CMakeLists.txt语法规则&#xff1a;提供信息的变量说明二-CSD…

【JavaEE网络】HTTPS详解:从对称与非对称加密到证书认证

目录 HTTPSHTTPS 是什么“加密” 是什么HTTTPS 的工作过程引入对称加密引入非对称加密引入证书完整流程总结 HTTPS HTTPS 是什么 HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层. HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现…

大数据Scala教程从入门到精通第八篇:Scala在IDEA中编写Hello World

一&#xff1a;Scala在IDEA中编写Hello World object HelloWorld {def main(args: Array[String]): Unit {println("hello world")}}这个对象也单例的。 特殊的Java类库需要import

利用一下Chat-GPT写两段处理字符串的简单样例ABAP程序。这样可以大大提高工作效率。Chat-GPT的能力真是让人震撼。

我让Caht-GPT写两段ABAP 程序&#xff0c;第一段程序要求如下&#xff1a; 判读字符串里面是否含有特殊字符&#xff0c;这里说的特殊字符不包括键盘上能够输入的字符&#xff0c;如果有这样的特殊字符则输出来。 DATA: lv_string TYPE string VALUE 你的字符串,lv_result TYP…

08.2.grafana插件安装

grafana插件安装 官方网站下载地址(可自定义选择版本)&#xff1a; https://grafana.com/grafana/download/6.3.0?pgget&plcmtselfmanaged-box1-cta1 清华源下载grafana的rpm包 https://mirror.tuna.tsinghua.edu.cn/grafana/yum/el7/ 直接命令行安装,或者包下载下来本地…

docker runc升级1.1.12

上传runc-1.1.12制品至中控机 874e970eaa932a97de9888344ae08f24 runc.arm64 将所有节点的runc文件备份 所有节点(包括master+node) vim host [all] 10.1.0.183 ansible_password=Bigdata@Ksyun123 ansible_user=root ansible_port=22 10.1.0.249 ansible_password=Bigdata…

AcwingWeb应用课学习笔记

y总Web课链接&#xff1a; VSCode自动格式化 选中Format On Save不起作用 在设置中搜索default formatter&#xff0c;修改成Prettier-Code formatter 标签 文本标签虽然很多&#xff0c;但大部分可看成是预定好样式的<div>和<span>。&#xff08;div也是由sp…

电脑nvidia驱动和合适版本的duda--自用 回忆版

参考文献&#xff1a;http://t.csdnimg.cn/ecDuG 内容很多抄的这个&#xff0c;主要害怕链接失效 一、Ubuntu 18.04 安装NVIDIA显卡驱动 1、查看本机显卡能够配置的驱动信息 ubuntu-drivers devices所以可以看出&#xff0c;推荐 nvidia-driver-530 - distro non-free 2、安…

使用SPI驱动串行LCD的驱动实现(STM32F4)

目录 概述 1. 硬件介绍 1.1 ST7796-LCD 1.2 MCU IO与LCD PIN对应关系 2 功能实现 2.1 使用STM32Cube配置Project 2.2 STM32Cube生成工程 3 代码实现 3.1 SPI接口实现 3.2 LCD驱动程序实现 3.3 测试程序实现 4 测试 源代码下载地址&#xff1a; https://gitee.com/mf…

2024年最新趋势跨境电商平台开发需了解的新技术

随着数字化技术的不断演进和全球市场的日益融合&#xff0c;跨境电商平台开发将面临前所未有的挑战和机遇。为了更好地适应并引领这一发展&#xff0c;开发者需要密切关注2024年最新的技术趋势&#xff0c;以确保他们的平台能够在竞争激烈的市场中脱颖而出。本文将对跨境电商平…

音视频-H264编码封装- MP4格式转Annex B格式

目录 1&#xff1a;H264语法结构回顾 2&#xff1a;H264编码补充介绍 3&#xff1a;MP4模式转Annex B模式输出到文件示例 1&#xff1a;H264语法结构回顾 在之前文章里介绍过H264的语法结构。 传送门: 视音频-H264 编码NALU语法结构简介 2&#xff1a;H264编码补充介绍 H…

镓未来助力联想笔记本GaN适配器标配化,赋能高效用户体验

镓未来赋能笔记本电脑GaN适配器标配化 据悉&#xff0c;Lenovo 2024年推出搭配的多款新型笔记本原装适配器电源ADL100UDGC3A&#xff0c;采用了镓未来集成型Cascode技术氮化镓功率器件G1N65R150PB。新款方案相较上一代工艺&#xff0c;体积减小23%&#xff0c;重量降低18%&…

JavaScript之数据类型(3)——object进阶

前言&#xff1a; 利用基础知识来构建对象会发现十分复杂&#xff0c;我们可以结合其他的知识点来为我们object的构建进行优化。 <1>工厂法&#xff1a; 基本格式&#xff1a; function creatObject(属性值1,属性值2,属性值3,...,属性值n) {var 对象名 new Object();对…