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://www.mzph.cn/diannao/47400.shtml

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

相关文章

vue3+ts+vite项目中使用vite-plugin-pwa搭建 PWA 项目

参考官方github地址: https://github.com/vite-pwa/vite-plugin-pwa 官方文档地址: https://vite-pwa-org.netlify.app/guide MDN地址: https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps 前提概要 最近项目更新需求中&am…

【C++】类和对象·this指针

C中的类与C语言中的结构体有很多的相似的地方,可以说本质上除了结构体只能定义成员变量,以及结构体默认的访问控制权限是public之外与class没啥区别。但是结构体变量每次调用函数的时候需要指针,而类中的成员函数明明被保存在公共代码段&…

30秒学会UML-功能类图

目录 1、类图本体 三部分 修饰符 2、类与类直接关系 泛化关系 实现关系 简单关联关系 依赖关系 组合关系 聚合关系 1、类图本体 三部分 第一层:类名第二层:成员变量(类的属性)第三层:函数方法(类…

水利行业的智慧革命:深度剖析智慧水利解决方案,看其如何以科技力量提升水资源管理效率,保障水生态安全

目录 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心要素 1. 感知层:全面监测,精准感知 2. 网络层:互联互通,信息共享 3. 平台层:数据分析,智能决策 4. 应用层:精准施策&#xff0…

【线程系列之五】线程池介绍C语言

一、基本概念 1.1 概念 线程池(Thread Pool)是一种基于池化技术管理线程的机制,旨在减少线程创建和销毁的开销,提高系统资源的利用率,以及更好地控制系统中同时运行的线程数量。线程池通过预先创建一定数量的线程&am…

3 C 语言运算符深度解析:从基础到实战

目录 1 运算符分类 2 算术运算符与算术表达式 2.1 算术运算符的用法 2.2 左操作数和右操作数 3 关系运算符与关系表达式 3.1 关系运算符的用法 3.2 常量左置防错 3.3 三数相等判断误区 4 逻辑运算符与逻辑表达式 4.1 逻辑运算符的用法 4.2 闰年的判断 4.3 短路运算…

golang单元测试性能测试常见用法

关于go test的一些说明 golang安装后可以使用go test工具进行单元测试 代码片段对比的性能测试,使用起来还是比较方便,下面是一些应用场景 平时自己想做一些简单函数的单元测试,不用每次都新建一个main.go 然后go run main.go相对某个功能做下性能测试 看下cpu/内存…

k8s集群 安装配置 Prometheus+grafana+alertmanager

k8s集群 安装配置 Prometheusgrafanaalertmanager k8s环境如下:机器规划: node-exporter组件安装和配置安装node-exporter通过node-exporter采集数据显示192.168.40.180主机cpu的使用情况显示192.168.40.180主机负载使用情况 Prometheus server安装和配置…

自动驾驶AVM环视算法–全景和标定全功能算法实现和exe测试demo

参考:全景和标定全功能算法实现和exe测试demo-金书世界 1、测试环境 opencv310vs2022 2、使用的编程语言 c和c 3、测试的demo的获取 更新:测试的exe程序,无需解压码就可以体验算法测试效果 百度网盘: 链接:http…

代理IP服务中的代理池大小有何影响?

在当今数字化时代,网络爬虫已经成为获取各类信息必不可少的工具。在大规模数据抓取中,使用单一 IP 地址或同一 IP 代理往往会面临抓取可靠性降低、地理位置受限、请求次数受限等一系列问题。为了克服这些问题,构建代理池成为一种有效的解决方…

基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

VUE3 播放RTSP实时、回放(NVR录像机)视频流(使用WebRTC)

1、下载webrtc-streamer,下载的最新window版本 Releases mpromonet/webrtc-streamer GitHub 2、解压下载包 3、webrtc-streamer.exe启动服务 (注意:这里可以通过当前文件夹下用cmd命令webrtc-streamer.exe -o这样占用cpu会很少&#xff0c…

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

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

深度学习pytorch学到哪种程度就算入门了?

在开始前分享一些pytorch的资料需要的同学评论888即可拿走 是我根据网友给的问题精心整理的PyTorch这个框架,可以读一些入门书。 PyTorch本身是一个极其庞大的框架,里面有数据读取、高性能计算、自动微分、模型导出、分布式训练等等。 我觉得能用这个框…

ELK日志管理与应用

目录 一.ELK收集nginx日志 二.收集tomcat日志 三.Filebeat 一.ELK收集nginx日志 1.搭建好ELKlogstashkibana架构 2.关闭防火墙和selinux systemctl stop firewalld setenforce 0 3.安装nginx [rootlocalhost ~]# yum install epel-release.noarch -y [rootlocalhost …

使用Django框架实现音频上传功能

数据库设计(models.py) class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…

Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBase 正在 章节内容 上节我们完成了: HBase的由…

Apache Paimon 在蚂蚁的应用

摘要 :本文整理自 Apache Paimon Committer 闵文俊老师在5月16日 Streaming Lakehouse Meetup Online 上的分享。内容主要分为以下四个部分: 什么是 Paimon蚂蚁 Paimon 应用场景蚂蚁 Paimon 功能改进未来规划 一、什么是 Paimon 1. 实时更新 Paimon 是…

Hadoop3:HDFS存储优化之小文件归档

一、情景说明 我们知道,NameNode存储一个文件元数据,默认是150byte大小的内存空间。 那么,如果出现很多的小文件,就会导致NameNode的内存占用。 但注意,存储小文件所需要的磁盘容量和数据块的大小无关。 例如&#x…

用户注册业务逻辑、接口设计和实现、前端逻辑

一、用户注册业务逻辑分析 二、用户注册接口设计和定义 2.1. 设计接口基本思路 对于接口的设计,我们要根据具体的业务逻辑,设计出适合业务逻辑的接口。设计接口的思路: 分析要实现的业务逻辑: 明确在这个业务中涉及到几个相关子…