elasticsearch集群搭建(ES集群搭建)

news2025/3/2 3:58:01

目录

  • 一、下载Elasticsearch
    • 1.选择你要下载的Elasticsearch版本
  • 二、采用通用搭建集群的方法
  • 三、配置三台es
    • 1.上传压缩包到任意一台虚拟机中
    • 2.解压并修改配置文件(配置单台es)
    • 3.配置三台es集群

一、下载Elasticsearch

1.选择你要下载的Elasticsearch版本

es下载地址
在这里插入图片描述
这里我下载的是
在这里插入图片描述
在这里插入图片描述


二、采用通用搭建集群的方法

集群搭建方法


三、配置三台es

1.上传压缩包到任意一台虚拟机中

上传方式有两种
第一种:使用xftp上传
在这里插入图片描述
在这里插入图片描述
直接拖动过去就可以了。

第二种:使用lrzsz
先安装

yum -y install lrzsz

在这里插入图片描述

切换到要上传的位置

cd /opt/module

输入命令

rz

选择你要上传的文件
在这里插入图片描述

等待上传完成即可

2.解压并修改配置文件(配置单台es)

①解压到指定目录下

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /opt/software/

②修改/config下的elasticsearch.yml

cd /opt/software/elasticsearch-7.6.1/config/
vim elasticsearch.yml

加入如下配置

cluster.name: elasticsearch 
node.name: node-1 
network.host: 192.168.11.137 #虚拟机的IP地址
http.port: 9200 
cluster.initial_master_nodes: ["node-1"]

③修改系统的配置文件
修改/etc/security/limits.conf
末尾追加

vim /etc/security/limits.conf 
july soft nofile 65536 
july hard nofile 65536 

修改/etc/security/limits.d/20-nproc.conf

vim /etc/security/limits.d/20-nproc.conf 
july soft nofile 65536
july hard nofile 65536
* hard nproc 4096

在这里插入图片描述

修改/etc/sysctl.conf

vim /etc/sysctl.conf 

追加内容

vm.max_map_count=655360 

在这里插入图片描述
重新加载

sysctl -p

④启动es

cd /opt/software/elasticsearch-7.6.1
bin/elasticsearch

如果出现如下报错
在这里插入图片描述
检查你当前的用户是不是root用户
如果是请执行

su july

检查es这个文件夹是不是july所有者

cd /opt/software
ll

我都是root
在这里插入图片描述
修改为july用户(要在root用户下执行该操作)

chown -R july:july /opt/software/elasticsearch-7.6.1

修改完成后在elasticsearch-7.6.1目录下再次执行

bin/elasticsearch

在这里插入图片描述

测试是否启动成
浏览器访问地址,你的虚拟机地址加端口号

http://192.168.11.137:9200/

在这里插入图片描述
至此,单机的es已经搭建完成。
ctrl+C退出es

3.配置三台es集群

首先在第一台的基础上
修改es配置文件

cd /opt/software/elasticsearch-7.6.1/config/
vim elasticsearch.yml

原来配置的

#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-1 
#ip地址,每个节点的地址不能重复
network.host: july1
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 

使用分发脚本,把es这个文件夹分发到其他虚拟机

 xsync /opt/software/

分发完成之后需要删除/data/目录下删除nodes文件!!!!这一点非常重要,不然后后续启动的时候发现不到其他节点信息,三台都要删除!!!

cd /opt/software/elasticsearch-7.6.1/data
rm -rf nodes/

使用分发脚本把修改系统文件的那些内容分发到其他虚拟机(如果在july用户下不行,切换到root进行分发)

xsync /etc/security/limits.conf
xsync /etc/security/limits.d/20-nproc.conf 
xsync /etc/sysctl.conf 

然后同步修改其他几台虚拟机
只需要把特定名称和ip地址修改成对应虚拟机名称即可

#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-2
#ip地址,每个节点的地址不能重复
network.host: july2
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-2"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 
#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-3
#ip地址,每个节点的地址不能重复
network.host: july3
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-3"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 

分别启动每台虚拟机,每台执行如下命令

bin/elasticsearch

其余两台启动报错
在这里插入图片描述
从报错可以看出
vm.max_map_count = 65530这个还是配置小了
修改配置为(在root用户下修改,然后在july用户下再次启动即可)

vm.max_map_count = 262144

重新加载

sysctl -p

在这里插入图片描述
查询集群状态

http://192.168.11.137:9200/_cat/nodes

在这里插入图片描述
集群搭建结束,设置后台启动和开机自启可自行百度,这里不在赘述了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql架构以及Mysql引擎

Mysql架构1.连接层:负责接收客户端的连接请求最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。2.服务层:sql接口接收s…

【UEFI实战】BIOS与IPMI

KCS KCS全称是Keyboard Controller Style,关于这个名称不用过多的追究,只需要知道它是系统(BIOS和OS)和BMC通信的一种基本方式即可。本文将介绍BIOS下的KCS接口,包括接口使用方式和数据。内容参考自《ipmi-second-gen…

[LeetCode周赛复盘] 第 99 场双周赛20230304

[LeetCode周赛复盘] 第 99 场双周赛20230304 一、本周周赛总结二、 [Easy] 2578. 最小和分割1. 题目描述2. 思路分析3. 代码实现三、[Medium] 2579. 统计染色格子数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 2580. 统计将重叠区间合并成组的方案数1. 题目描述2. 思路分析…

DALL·E 2 论文阅读笔记

《Hierarchical Text-Conditional Image Generation with CLIP Latents》Paper: https://cdn.openai.com/papers/dall-e-2.pdfProject: https://openai.com/product/dall-e-2Author: OpenAI闲言碎语时间线:2021.01推出DALLE,2021年底推出GLIDE&#xff0…

锦正茂风冷系列电源JCP-10-80的技术参数

JCP-10-80为高稳定度的双极性恒流电源,广泛应用于电磁铁、亥姆霍兹线圈等感性负载的励磁。电源采用线性电源结构,输出电流稳定度高,纹波和噪声低。电源输出电流可在正负额定电流*值之间连续变化,电流平滑连续过零,可使…

引出生命周期、生命周期_挂载流程、生命周期_更新流程、生命周期_销毁流程、生命周期_总结——Vue

目录 一、引出生命周期 二、生命周期_挂载流程 三、生命周期_更新流程 四、生命周期_销毁流程 五、生命周期_总结 一、引出生命周期 生命周期: 1.又名:生命周期回调函数、生命周期函数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调…

centos安装 jenkins

目录 一、安装 jdk 二、安装 maven 三、安装 jenkins 官网地址:Jenkins 一、安装 jdk 首先检索包含 java 的列表 yum list java* 检索1.8的列表 yum list java-1.8* 安装 1.8.0 的所有文件 yum install java-1.8.0-openjdk* -y使用命令检查是否安装成功 …

Git图解-IDEA中的Git操作

目录 一、配置Idea 二、项目克隆 三、文件状态识别 四、Git操作 4.1 git add--添加暂存区 4.2 git commit--提交本地仓库 4.3 git push--推送远程仓库 4.4 git pull--更新本地仓库 五、完整开发流程 5.1 步骤1:克隆项目 5.2 步骤2:创建自己开发…

呆头鹅批量剪辑软件,一天制作1000+视频过审神器,0基础批量操作

当我们需要处理大量的视频时,怎么样才能够让工作变得更加简单?可以来试试呆头鹅批量剪辑软件,软件功能非常强大,支持批量剪辑视频,剪辑的过程中可以设置输出的位置和分辨率,同时可以对视频进行一些编辑处理…

CentOS定时任务——crontab

crontab Linux crontab 是用来定期执行程序的命令。 crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你…

软件测试16

在桌面上打开终端窗口, 执行如下操作: 将根目录下所有文件的详细信息输出到 demo 文件中查看 demo 文件前 5 行内容查看 demo 文件后 5 行内容将 ping www.itheima.com 的信息输出到 ping_log 文件中重新开启一个终端窗口, 动态查看 ping_log 文件中的信息 查看日志文件内容…

unity3D基础操作之01--unity3d窗口界面介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录最常使用5种窗口1、Scene场景编辑窗口2、Game游戏运行窗口需要注意的是3、Hierarchy场景物体列表窗口4、Project项目资源列表窗口需要注意的是5、Inspector属性编辑列…

4.Spring Cloud (Hoxton.SR8) 学习笔记—Nacos微服务治理、Nacos配置管理

本文目录如下:一、Nacos微服务治理Nacos 下载 与 启动Spring Cloud 集成 NacosIDEA 同一个 Application 启动多次Nacos - 配置集群Nacos - 设置负载均衡Nacos - 设置服务实例的权重二、Nacos 配置管理Nacos - 合理的把配置信息迁移到 Nacos 中Nacos - 如何使用 Naco…

自然语言处理中数据增强(Data Augmentation)技术最全盘点

与“计算机视觉”中使用图像数据增强的标准做法不同,在NLP中,文本数据的增强非常少见。这是因为对图像的琐碎操作(例如将图像旋转几度或将其转换为灰度)不会改变其语义。语义上不变的转换的存在是使增强成为Computer Vision研究中…

【Java开发】设计模式 03:建造者模式

1 建造者模式介绍建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。📌 场景当一个类的构造函数参数超过4个,而且这些参数有些是…

【论文研读 上】基于开源软件的无人机飞行仿真 鹿珂珂,刘登攀,王超

基于开源软件的无人机飞行仿真 摘 要 飞行控制算法设计和仿真是无人机研制的关键步骤。为了缩短无人机飞行控制算法设计周期和试验成本,对无人 机纵向和侧向控制算法进行了设计,并基于开源软件开发了固定翼无人机可视化的飞行仿真系统, 固定…

Kafka入门教程

1 Kafka安装 1.1 压缩包安装 1.1.1 JDK环境安装 Kafka是依赖JDK环境的,所以需要事先安装好JDK 下载JDK安装包: Oracle JDK8下载SSH上传到想要安装的目录,比如 /opt.然后使用tar -zxvf jdk-8u351-linux-x64.tar.gz命令解压 添加环境变量 vi /etc/profile,输入如下内容保存后…

【9.数据页结构】

概述 InnoDB 的数据是按「数据页」为单位来读写的,也就是说,当需要读一条记录的时候,并不是将这个记录本身从磁盘读出来,而是以页为单位,将其整体读入内存。数据库的 I/O 操作的最小单位是页,InnoDB 数据页…

【Linux内核三】网络丢包debug案例

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 目录 前言 测试环境 测试现象 ​编辑 定位过程 ​编辑 优化手段 1、加大ring buffer …

X86ARM @Linux平台cache eviction功能测试

经典的ARM处理器高速缓存工作原理: 高速缓存内部结构: