博客
关于我
ELK学习笔记(三)单台服务器多节点部署
阅读量:807 次
发布时间:2023-01-24

本文共 2574 字,大约阅读时间需要 8 分钟。

在一台服务器上部署多个Elasticsearch节点的完整指南:以2个节点为例

部署Elasticsearch多节点集群时,可以在多个端口上运行多个节点,而无需使用虚拟机。下面详细说明如何在一台服务器上配置并验证两个Elasticsearch节点。

环境配置

  • 安装Java环境

    首先,确保服务器上安装了OpenJDK 8或更高版本:

    sudo apt update && sudo apt install openjdk-8

    检查版本:

    java -version
  • 安装Elasticsearch

    下载并安装Elasticsearch(以5.4.0为例):

    wget -O elasticsearch-5.4.0.zip https://artifacts.elastic.co/downloads/elastic-search/logstash/logstash-elastic-transport-client-oss.oracle_11unzip elasticsearch-5.4.0.zip

    注意:根据你的系统,可能需要调整路径,以免与系统目录冲突。

  • 配置环境变量

    为Elasticsearch设置环境变量:

    export ES_PATH=/path/to/dataexport ES_LOGS=/path/to/logs

    替换/path/to/data/path/to/logs为实际的数据和日志存储路径。

  • 设置系统服务启动时的参数

    编辑nano ~/.bashrc:

    echo 'set -o HISTCTRL' >> ~/.bashrcecho 'export ES_PATH=/path/to/data' >> ~/.bashrcecho 'export ES_LOGS=/path/to/logs' >> ~/.bashrc
  • 复制并配置Elasticsearch节点

    复制Elasticsearch文件夹

    在同一台服务器上创建两个独立的Elasticsearch节点,分别存放在不同的目录下:

    cp -R elasticsearch-5.4.0 elasticsearch-5.4.0-node2

    确保节点名称不同(如node1和node2)。

    修改配置文件

    节点1配置

    编辑elasticsearch-5.4.0=node1/config/elasticsearch.yml

    # 集群设置cluster.name: elk-cluster# 节点名称node.name: node1node.master: truenode.attr.rack: r1# 网络配置network.host: 192.168.25.129http.port: 9200# 提供给其他节点的初始主节点列表discovery.zen.ping.unicast.hosts: ["192.168.25.129:9300"]discovery.zen.minimum_master_nodes: 1# 数据存储路径path.data: /path/to/datapath.logs: /path/to/logs# 内存设置bootstrap.memory_lock: true# 磁盘内存管理gateway.recover_after_nodes: 3action.destructive_requires_name: true

    节点2配置

    编辑elasticsearch-5.4.0=node2/config/elasticsearch.yml

    # 集群设置cluster.name: elk-cluster# 节点名称node.name: node2node.master: falsenode.attr.rack: r1# 网络配置network.host: 192.168.25.129http.port: 9201# 提供给其他节点的初始主节点列表discovery.zen.ping.unicast.hosts: ["192.168.25.129:9300"]discovery.zen.minimum_master_nodes: 1# 数据存储路径path.data: /path/to/data-node2path.logs: /path/to/logs-node2# 内存设置bootstrap.memory_lock: true# 磁盘内存管理gateway.recover_after_nodes: 3action.destructive_requires_name: true

    注意:确保path.datapath.logs为每个节点独特的子目录,以防止数据冲突。

    启动节点

    首先启动节点1:

    cd elasticsearch-5.4.0/node1./elasticsearch.bat

    稍后启动节点2:

    cd elasticsearch-5.4.0/node2./elasticsearch.bat

    等待启动完成后,使用curl命令检查状态:

    curl -XGET http://localhost:9200/_cluster/health

    验证节点间通信

    确保节点2可以发现节点1:

    curl -XGET http://localhost:9201/_cluster/health

    如果节点间通信失败,检查网络配置、防火墙设置和端口开放情况。

    使用Kibana验证集群

    安装并启动Kibana:

    cd /path/to/kibana-5.4.0./bin/kibana.bat

    打开http://localhost:5601,输入集群IP:192.168.25.129,验证你是否可以看到所有节点的数据。

    注意事项

  • 数据整洁性:确保两个节点的数据目录完全独立,避免数据混合或覆盖。
  • 内存管理:确保Elasticsearch有足够的内存,避免swap压力。
  • 防火墙设置:检查防火墙是否开放了9300和9200端口。
  • 日志监控:配置监控工具(如Logstash、Filebeat)收集和分析日志,帮助故障排除。
  • 通过以上步骤,你可以在一台服务器上顺利配置并验证两个Elasticsearch节点,实现分布式搜索功能。

    转载地址:http://freyk.baihongyu.com/

    你可能感兴趣的文章
    Nginx学习总结(13)——Nginx 重要知识点回顾
    查看>>
    Nginx学习总结(14)——Nginx配置参数详细说明与整理
    查看>>
    Nginx学习总结(15)—— 提升 Web 应用性能的十个步骤
    查看>>
    Nginx学习总结(8)——Nginx服务器详解
    查看>>
    nginx学习笔记002---Nginx代理配置_案例1_实现了对前端代码的方向代理_并且配置了后端api接口的访问地址
    查看>>
    Nginx安装SSL模块 nginx: the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx
    查看>>
    nginx安装stream模块配置tcp/udp端口转发
    查看>>
    nginx安装Stream模块配置tcp/udp端口转发
    查看>>
    Nginx安装与常见命令
    查看>>
    nginx安装与配置
    查看>>
    Nginx安装及配置详解
    查看>>
    nginx安装并配置实现端口转发
    查看>>
    nginx安装配置
    查看>>
    Nginx实战之1.1-1.6 Nginx介绍,安装及配置文件详解
    查看>>
    Nginx实战经验分享:从小白到专家的成长历程!
    查看>>
    nginx实现二级域名转发
    查看>>
    Nginx实现动静分离
    查看>>
    Nginx实现反向代理负载均衡
    查看>>
    nginx实现负载均衡
    查看>>
    Nginx将https重定向为http进行访问的配置(附Demo)
    查看>>