博客
关于我
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、HAProxy、LVS
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    Nginx中使用expires指令实现配置浏览器缓存
    查看>>
    Nginx之二:nginx.conf简单配置(参数详解)
    查看>>
    Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
    查看>>
    Nginx代理初探
    查看>>
    nginx代理地图服务--离线部署地图服务(地图数据篇.4)
    查看>>
    Nginx代理外网映射
    查看>>
    Nginx代理模式下 log-format 获取客户端真实IP
    查看>>
    Nginx代理解决跨域问题(导致图片只能预览不能下载)
    查看>>
    Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH
    查看>>
    Nginx代理配置详解
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例
    查看>>
    nginx反向代理
    查看>>
    Nginx反向代理
    查看>>
    nginx反向代理、文件批量改名及统计ip访问量等精髓总结
    查看>>
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理及负载均衡实现过程部署
    查看>>