当前位置: 首页 > news >正文

搭建 Elasticsearch 集群:完整教程

本文将详细介绍如何在 Linux 环境下搭建一个 Elasticsearch 集群,涵盖环境准备、配置优化、服务启动等多个环节。


一、环境准备

  1. 创建安装目录

    mkdir /es
    cd /es
    
  2. 解压 Elasticsearch 安装包

    tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es
    
  3. 配置环境变量 编辑 ~/.bashrc 文件,加入以下内容:

    export JAVA_HOME=/es/elasticsearch-7.10.1/jdk
    export ES_JAVA_HOME=/es/elasticsearch-7.10.1/jdk
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    

    执行以下命令以生效:

    source ~/.bashrc
    
  4. 创建运行用户和分配权限

    groupadd es
    useradd es -g es -p 12345678
    chown -R es:es /es/elasticsearch-7.10.1/
    

二、配置 Elasticsearch

  1. 修改配置文件 编辑 /es/elasticsearch-7.10.1/config/elasticsearch.yml

    cluster.name: my-application
    node.name: node-2
    path.data: /data/data
    path.logs: /data/logs
    network.host: 0.0.0.0
    network.publish_host: 172.16.0.80
    node.attr.ip: 172.16.0.80
    http.port: 9200
    discovery.seed_hosts: ['172.16.0.80','172.16.0.26','172.16.0.250']
    cluster.initial_master_nodes: ['node-1', 'node-2', 'node-3']
    action.destructive_requires_name: true
    node.roles: [master, data]
    
  2. 挂载数据盘

    lsblk
    mkfs.ext4 /dev/vdb
    mount /dev/vdb /data
    lsblk
    chown -R es:es /data/
    
  3. 调整虚拟内存 编辑 /etc/sysctl.conf 文件,添加以下内容:

    vm.max_map_count = 262144
    

    立即生效:

    sysctl -p
    

三、启动服务

  1. 以运行用户启动 Elasticsearch 切换到 es 用户并启动服务:

    su es
    ./elasticsearch -d
    
  2. 验证集群节点状态 使用以下命令查看节点状态:

    curl -X GET "localhost:9200/_cat/nodes?v&h=ip,node.role,name"
    

四、附加说明

  1. 修复权限问题 如果运行过程中出现权限问题,可以执行以下命令:

    chown -R es:es /es/elasticsearch-7.10.1/
    chown -R es:es /data
    chmod +x /es/elasticsearch-7.10.1/jdk/jre/bin/java
    

通过上述步骤,您应该能够成功搭建并运行一个 Elasticsearch 集群。希望本文对您有所帮助!如有问题,欢迎留言讨论。


http://www.lryc.cn/news/505341.html

相关文章:

  • 如何实现序列化和反序列化?如何处理对象的生命周期管理?
  • WPF+MVVM案例实战与特效(三十八)- 封装一个自定义的数字滚动显示控件
  • docker安装Redis、docker使用Redis、docker离线安装redis、Redis离线安装
  • 单目动态新视角合成
  • STM32--IO引脚复用
  • Python字符串及正则表达式(十):字符串常用操作、字符串编码转换
  • 前端的Python入门指南(完):错误和异常处理策略及最佳实践
  • LeetCode 2475 数组中不等三元组的数目
  • 【和春笋一起学C++】字符串比较
  • HTTP 协议报文结构 | 返回状态码详解
  • .net winform 实现CSS3.0 泼墨画效果
  • LearnOpenGL学习(高级OpenGL - - 实例化,抗锯齿)
  • 大数据与AI:从分析到预测的跃迁
  • 【CC2530开发基础篇】继电器模块使用
  • C05S07-Tomcat服务架设
  • Java stream groupingBy sorted 实现多条件排序与分组的最佳实践
  • JAVA:代理模式(Proxy Pattern)的技术指南
  • 爬取Q房二手房房源信息
  • Ansible自动化运维(五) 运维实战
  • K-means算法的python实现
  • 客户端(浏览器)vue3本地预览txt,doc,docx,pptx,pdf,xlsx,csv,
  • [SZ901]JTAG高速下载设置(53Mhz)
  • docker springboot 运维部署详细实例
  • Linux 查看目录命令 ls 详细介绍
  • React Native状态管理器Redux、MobX、Context API、useState
  • Three.js资源-模型下载网站
  • linux 添加默认网关
  • 【学习笔记】深入浅出详解Pytorch中的View, reshape, unfold,flatten等方法。
  • CTFHUB-web(SSRF)
  • 分解质因数