elasticsearch7集群Linux部署流程

 更新时间:2026年03月23日 10:36:47   作者:☀Mark_LY  
这篇文章主要介绍了elasticsearch7集群Linux部署流程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、下载并安装ES

1.1创建部署目录

mkdir /data/soft/es

1.2在线下载安装

需要服务器支持外网环境,若不支持,请选择离线安装当时,手动去官网下载安装包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz

离线安装

在es官网自行下载需要的版本,地址:https://www.elastic.co/cn/downloads/elasticsearch

2、ES安装环境配置

2.1指定ES启动时的JDK

cd /data/soft/es/elasticsearch-7.4.0
vi bin/elasticsearch

添加以下内容:

# 指定jdk11
export JAVA_HOME=/data/soft/es/elasticsearch-7.4.0/jdk
export PATH=$JAVA_HOME/bin:$PATH

注意: Elasticsearch-7.4.0及新版本需要在JDK11环境下运行

2.2 系统配置文件修改

  • 【1】修改文件句柄限制
vi /etc/security/limits.conf

在最后添加:

* soft nofile 655360
* hard nofile 655360
  • 【2】修改虚拟内存映射限制
vi /etc/sysctl.conf

添加配置:

vm.max_map_count=655360

执行命令立即生效:

sysctl -p

3、配置ES运行内存

方法一:通过环境变量配置

vi /etc/profile

添加:

export ES_HEAP_SIZE=10g

提示: "10g"根据服务器运行内存配置,通常为服务运行内存的1/3到1/2

立即生效:

source /etc/profile

方法二:启动时传递参数

./bin/elasticsearch -Xmx10g -Xms10g

4、修改ES配置文件

4.1 主节点配置

修改 elasticsearch-7.4.0/config/elasticsearch.yml:

# 集群名称
cluster.name: es
# 节点名称
node.name: node-1
# 是否是主节点
node.master: true
# 是否允许该节点存储索引数据
node.data: true
# 数据目录(自行指定)
path.data: /data/soft/es/data
# 日志目录()
path.logs: /data/soft/es/logs
# 允许远程访问
network.host: 部署机器IP
# 端口
transport.tcp.port: 19300
http.port: 19200
# 集群内同时启动的数据任务个数,默认是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
# 集群主机列表(如果是单机部署,只需要填写一个当前服务器IP,集群部署,有几个集群,就需要填写几个服务器IP)
discovery.seed_hosts: ["集群ip1", "集群ip2"]
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
# 安全配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: none
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
# 配置主节点名称
cluster.initial_master_nodes: ["node-1"]

4.2 次节点配置

修改 elasticsearch-7.4.0/config/elasticsearch.yml:

# 集群名称
cluster.name: es
# 节点名称
node.name: node-2
# 是否是主节点
node.master: false
# 是否允许该节点存储索引数据
node.data: true
# 数据目录
path.data: /data/soft/es/data
# 日志目录
path.logs: /data/soft/es/logs
# 允许远程访问
network.host: 部署机器IP
# 端口
transport.tcp.port: 19300
http.port: 19200
# 集群内同时启动的数据任务个数
cluster.routing.allocation.cluster_concurrent_rebalance: 16
# 添加或删除节点及负载均衡时并发恢复的线程个数
cluster.routing.allocation.node_concurrent_recoveries: 16
# 初始化数据恢复时,并发恢复线程的个数
cluster.routing.allocation.node_initial_primaries_recoveries: 16
# 集群主机列表(如果是单机部署,只需要填写一个当前服务器IP,集群部署,有几个集群,就需要填写几个服务器IP)
discovery.seed_hosts: ["集群ip1", "集群ip2"]
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
# 安全配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: none
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

5、设置用户信息

# 创建用户组es
groupadd es
# 创建新用户es并指定用户组
useradd -g es es
# 更改文件夹权限
chown -R es:es /data/soft/es

6、启用X-Pack验证,生成证书

切换到es用户:

cd /data/soft/es/elasticsearch-7.4.0/
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

重要:

证书保存路径为 /data/soft/es/elasticsearch-7.4.0/config,集群中所有节点的 elastic-certificates.p12 证书必须保持一致。

在主节点上生成证书后,需要拷贝到次节点对应的路径下。

7、启动Elasticsearch

切换到es用户:

后台启动:./elasticsearch -d

8、手动设置密码

在es用户下执行:

cd /data/soft/es/elasticsearch-7.4.0/bin
./elasticsearch-setup-passwords interactive

设置以下用户密码(示例密码均为:eom@123):

elastic
apm_system
kibana
logstash_system
beats_system
remote_monitoring_user

9、防火墙配置

# 查看防火墙状态
systemctl status firewalld.service
# 查询端口是否开放
firewall-cmd --query-port=19200/tcp
# 开放19200端口
firewall-cmd --zone=public --add-port=19200/tcp --permanent
# 移除端口
firewall-cmd --permanent --zone=public --remove-port=19200/tcp
# 重启防火墙
firewall-cmd --reload
# 查看开放的端口号
firewall-cmd --zone=public --list-ports

10、浏览器验证

访问服务器ip:es端口:输入账号密码访问

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux下配置jdk环境的方法

    Linux下配置jdk环境的方法

    这篇文章主要介绍了Linux下配置jdk环境的方法,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • 在 CentOS 7 中安装 MySQL 8 的教程详解

    在 CentOS 7 中安装 MySQL 8 的教程详解

    这篇文章主要介绍了在 CentOS 7 中安装 MySQL 8 的教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • 一文详解Linux journal日志大小限制与管理

    一文详解Linux journal日志大小限制与管理

    在使用基于systemd的Linux系统时,日志系统默认采用journald来管理系统日志,journald支持更高效的二进制格式存储、时间范围检索等高级功能,不过,也因此带来一个问题:日志文件可能会不断增长,最终占满磁盘空间,本文将详细介绍如何查看、限制和清理journald日志大小
    2025-07-07
  • centos 7系统下安装Jenkins的步骤详解

    centos 7系统下安装Jenkins的步骤详解

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,下面这篇文章主要给大家介绍了关于在centos 7系统下安装Jenkins的步骤,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • CentOS 7 安装 MySQL 5.6遇到的各种问题小结

    CentOS 7 安装 MySQL 5.6遇到的各种问题小结

    在一测试服务器(CentOS Linux release 7.2.1511)上安装MySQL 5.6(5.6.19 MySQL Community Server)时遇到了很多奇葩问题,今天小编给大家总结了关于entOS 7 安装 MySQL 5.6遇到的各种问题,需要的朋友一起看看吧
    2016-11-11
  • Linux磁盘挂载、分区、扩容操作的实现方法

    Linux磁盘挂载、分区、扩容操作的实现方法

    这篇文章主要介绍了Linux磁盘挂载、分区、扩容操作的实现方法,详细的介绍了这些基础概念及其实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 关于Windows 不能在 本地计算器 启动 Apache2(phpstudy)

    关于Windows 不能在 本地计算器 启动 Apache2(phpstudy)

    今天在自己的本子上准备放多个虚拟站点。用的是#phpstudy#。在软件自身的站点设置中,根据提示添加的多站点无效不知道是否和我的系统是Win7有关
    2012-09-09
  • CentOS 6.3安装配置Weblogic-10方法

    CentOS 6.3安装配置Weblogic-10方法

    这篇文章主要介绍了CentOS 6.3安装配置Weblogic-10方法,需要的朋友可以参考下
    2014-11-11
  • centos6.7 安装python2.7、pip2.7、easy_install-2.7的方法

    centos6.7 安装python2.7、pip2.7、easy_install-2.7的方法

    这篇文章主要介绍了centos6.7 安装python2.7、pip2.7、easy_install-2.7的方法,需要的朋友可以参考下
    2017-03-03
  • Linux IO多路复用之epoll网络编程

    Linux IO多路复用之epoll网络编程

    今天小编就为大家分享一篇关于Linux IO多路复用之epoll网络编程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论