Linux 下 ElasticSearch 集群部署

目录

1. ElasticSearch下载

2. 环境准备

3. ElasticSearch部署

3.1 修改系统配置

3.2 开放端口

3.3 安装 ElasticSearch

4. 验证


本文将以三台服务器为例,介绍在 linux 系统下ElasticSearch的部署方式。

1. ElasticSearch下载

    下载地址:Past Releases of Elastic Stack Software | Elastic

    选择需要的介质下载,这里以 elasticsearch-7.17.3 为例

2. 环境准备

   部署 ElasticSearch 需要先部署JDK ,JDK部署可以参考Linux下JDK 安装-CSDN博客 。

3. ElasticSearch部署

注:以下操作三台机器均需要修改

3.1 修改系统配置

(1)编辑 limits.conf文件

         vi /etc/security/limits.conf

  加入以下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096* soft memlock unlimited
* hard memlock unlimited

(2)编辑 sysctl.conf 文件

         vi /etc/sysctl.conf

 加入以下内容

vm.max_map_count=262144
vm.swappiness=0

(3)配置立即生效

         sysctl –p

3.2 开放端口

ElasticSearch 默认需要开通节点 9200 和 9300 端口。

(1)查看防火墙状态

        systemctl status firewalld

(2)开放端口

       firewall-cmd --zone=public --add-port=9200/tcp --permanent  

       firewall-cmd --zone=public --add-port=9300/tcp --permanent

(3)防火墙重新加载配置

       firewall-cmd --reload  

(4) 查看防火墙所有开放的端口

       firewall-cmd --zone=public --list-ports

3.3 安装 ElasticSearch

(1) 创建用户

       adduser es

       passwd es

(2) 创建数据目录

       mkdir -p /data/elasticsearch/data

       mkdir -p /data/elasticsearch/logs

       chown es:es -R /data/

(3) 解压

       上传elasticsearch介质(elasticsearch-7.17.3-linux-x86_64.tar.gz)到 /opt 目录

       tar zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz

(4) 目录授权给 es 用户

       chown es:es -R /opt/elasticsearch-7.17.3

(5) 修改配置文件

       vi /opt/elasticsearch-7.17.3/config/elasticsearch.yml

# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#集群名
cluster.name: es 
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#节点名称,其余两个节点分别为node-2 和node-3
node.name: node-1
#
# Add custom attributes to the node:
#
# 指定该节点是否有资格被选举成为master节点,默认为true
node.master: true
# 允许该节点存储数据(默认开启)
node.data: true
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
# 索引数据的存储路径
path.data: /data/elasticsearch/data
# Path to log files:
#
# 日志文件的存储路径
path.logs: /data/elasticsearch/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#当前机器节点的IP地址
network.host: IP
#当前机器节点的IP地址
network.publish_host: IP
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
#设置对外服务的http端口
http.port: 9200
# 设置节点间交互的tcp端口,默认为9300
transport.tcp.port: 9300
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#集群的所有机器节点的IP地址
discovery.seed_hosts: ["IP1","IP2","IP3"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#
# ---------------------------------- Security ----------------------------------
#
#                                 *** WARNING ***
#
# Elasticsearch security features are not enabled by default.
# These features are free, but require configuration changes to enable them.
# This means that users don’t have to provide credentials and can get full access
# to the cluster. Network connections are also not encrypted.
#
# To protect your data, we strongly encourage you to enable the Elasticsearch security features. 
# Refer to the following documentation for instructions.
#
# https://www.elastic.co/guide/en/elasticsearch/reference/7.16/configuring-stack-security.html#通过配置大多数节点(符合主节点数/ 2 + 1)来防止分裂。
discovery.zen.minimum_master_nodes: 2#设置为true锁住内存。因为内存交换到磁盘对服务器性能是致命的
bootstrap.memory_lock: true

(6) 配置 jvm.option

       vi /opt/elasticsearch-7.17.3/config/jvm.options

      配置ES占用物理内存大小

      -Xms10g

      -Xmx10g

     修正CVE-2021-44228漏洞

     -Dlog4j2.formatMsgNoLookups=true

(7)启动

       一定要切换到 es 用户

       su es

       cd /opt/elasticsearch-7.17.3

       bin/elasticsearch -d -p pid

4. 验证

(1) 验证启动

       jps 

出现如下内容说明已经启动 

(2) 验证集群状态

       查询集群所有节点及主节点信息

       curl -XGET 'http://IP:9200/_cat/nodes?pretty'

        查询集群状态信息

        集群状态:

       -green正常,表示集群一切正常。

       -yellow黄表示集群不可靠但可用,一般单节时候就是这个状态。

       -red红表示集群不可用,有故障

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

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

相关文章

vue使用audio 音频实现播放与关闭(可用于收到消息给提示音效)

这次项目中因为对接了即时通讯 IM,有个需求就是收到消息需要有个提示音效,所以这里就想到了用HTML5 提供的Audio 标签,用起来也是很方便,首先让产品给你个提示音效,然后你放在项目中,使用Audio 标签&#x…

在mybatis-plus中关于@insert注解自定义批处理sql导致其雪花算法失效而无法自动生成id的解决方法

受到这位作者的启发 > 原文在点这里 为了自己实现批量插入&#xff0c;我在mapper层使用insert注解写了一段自定义sql //自定义的批量插入方法 Insert("<script>" "insert into rpt_material_hour(id,sample_time,rounding_time,cur_month,machine_no…

【Powershell】超越限制:获取Azure AD登录日志

你是否正在寻找一种方法来追踪 Azure Active Directory&#xff08;Azure AD&#xff09;中用户的登录活动&#xff1f; 如果是的话&#xff0c;查看Azure AD用户登录日志最简单的方法是使用Microsoft Entra管理中心。打开 https://entra.microsoft.com/&#xff0c;然后进入 监…

idea Apipost 插件导出接口文档字段类型全部是string

idea版本&#xff1a;2023.2.1 Apipost-Helper-2.0插件版本&#xff1a; 联系官方客服后&#xff0c;更换插件版本&#xff0c;问题解决。更换后的插件版本为&#xff1a; 插件链接放在文章首部了&#xff0c;可直接下载&#xff0c;使用idea直接安装这个zip包&#xff0c;无需…

【扩散模型(五)】IP-Adapter 源码详解3-推理代码

系列文章目录 【扩散模型&#xff08;一&#xff09;】中介绍了 Stable Diffusion 可以被理解为重建分支&#xff08;reconstruction branch&#xff09;和条件分支&#xff08;condition branch&#xff09;【扩散模型&#xff08;二&#xff09;】IP-Adapter 从条件分支的视…

excel 图表切片器-操作教程

学习怎么用excel 图表切片器&#xff1a; 切片器提供按钮&#xff0c;你可以单击这些按钮来筛选 表或 数据透视表。 除了快速筛选外&#xff0c;切片器还指示当前筛选状态&#xff0c;以便轻松了解当前显示的确切内容。 具体 学习见 微软网站 操作步骤&#xff1a; 1.打开 E…

【BUG】已解决:java.lang.IllegalStateException: Duplicate key

已解决&#xff1a;java.lang.IllegalStateException: Duplicate key 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市…

MySQL1

新建产品库mydb6_product: mysql> create database mydb6_product; mysql> use mydb6_product; 建立employees表&#xff1a; mysql> create table employees(id int primary key, name varchar(50) not null, age int, gender varchar(10) not null default unknow…

39.简易频率计(基于等精度测量法)(2)

&#xff08;1&#xff09;Verilog代码实现&#xff1a; module freq_meter_calc (input clk ,input reset_n ,input clk_test ,output reg [31:0] freq );reg [26:0] cnt0;reg gata_r;reg gata_t;reg [47:0] cnt_clk_test;reg gata_t_test_r…

20240718 每日AI必读资讯

大模型集体失智&#xff01;9.11和9.9哪个大&#xff0c;几乎全翻车了 - AI处理常识性问题能力受限&#xff0c;9.11&#xff1e;9.8数学难题暴露了AI短板。 - 训练数据偏差、浮点精度问题和上下文理解不足是AI在数值比较任务上可能遇到的困难。 - 改进AI需优化训练数据、Pr…

实验07 接口测试postman

目录 知识点 1 接口测试概念 1.1为什么要做接口测试 1.2接口测试的优点 1.3接口测试概念 1.4接口测试原理和目的 2 接口测试内容 2.1测什么 2.1.1单一接口 2.1.2组合接口 2.1.3结构检查 2.1.4调用方式 2.1.5参数格式校验 2.1.6返回结果 2.2四大块 2.2.1功能逻辑…

C++ Qt 登录界面 Login

效果: 核心代码: #include "simpleapp.h" #include "ui_simpleapp.h" #include <QMessageBox>SimpleApp::SimpleApp(QWidget *parent): QMainWindow(parent), ui(new Ui::SimpleApp) {ui->setupUi(this); }SimpleApp::~SimpleApp() {delete ui; …

jquery中pdf在页面的显示和导出

jquery中pdf在页面的显示和导出 01 显示pdf01 .pdf结尾在线接口显示到页面 &#xff08;pdf.js库怎么安装及使用&#xff09;&#xff1a;只显示一页02 如何用PDF.JS显示整个PDF (而不仅仅是一页)&#xff1f;03 jQuery实现在线预览PDF文件(通过a标签链接跳转)&#xff1a; 02 …

Docker构建LNMP环境并运行Wordpress平台

1.准备Nginx 上传文件 Dockerfile FROM centos:7 as firstADD nginx-1.24.0.tar.gz /opt/ COPY CentOS-Base.repo /etc/yum.repos.d/RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make && \useradd -M -s /sbin/nologin nginx && \cd /o…

RK3588读取不到显示器edid

问题描述 3588HDMIout接老的显示器或者HDMI转DVI接DVI显示器显示不了或者显示内容是彩色条纹,但是这种显示器测试过如果接笔记本或者主机是可以直接显示的。这一类问题是HDMI下的i2c与显示器通讯没成功,读取不到设备的edid。问题包括全志的H3 、AML的S905都有遇到 测试环境…

科普文:详解23种设计模式

概叙 设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four&#xff08;GoF&#xff09;的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途我们又可以分为三大类&#xff0c;分别为创建型模式…

【C++11】(lambda)

C11中的lambda与线程。 目录 Lambda&#xff1a;仿函数的缺点&#xff1a;Lambda语法&#xff1a;Lambda使用示例&#xff1a;两数相加&#xff1a;两数交换&#xff1a;解决Goods排序问题&#xff1a; Lambda原理&#xff1a; Lambda&#xff1a; 假设我们有一个商品类&…

住宅IP解析:动态住宅IP和静态住宅IP区别详解

在互联网连接的世界中&#xff0c;IP地址是我们识别和访问网络资源的关键。住宅IP地址&#xff0c;特别是动态住宅IP和静态住宅IP&#xff0c;是两种不同类型的IP分配方式&#xff0c;它们在使用和功能上存在显著差异。 1. IP地址的稳定性 动态住宅IP&#xff1a;这种IP地址是…

小程序图片下载保存方法,图片源文件保存!

引言 现在很多时候我们在观看到小程序中的图片的时候&#xff0c;想保存图片的原文件格式的话&#xff0c;很多小程序是禁止保存的&#xff0c;即使是让保存的话&#xff0c;很多小程序也会限制不让保存原文件&#xff0c;只让保存一些分辨率很低的&#xff0c;非常模糊的图片…

LabVIEW 与 PLC 通讯方式

在工业自动化中&#xff0c;LabVIEW 与 PLC&#xff08;可编程逻辑控制器&#xff09;的通信至关重要&#xff0c;常见的通信方式包括 OPC、Modbus、EtherNet/IP、Profibus/Profinet 和 Serial&#xff08;RS232/RS485&#xff09;。这些通信协议各有特点和应用场景&#xff0c…