本文共 2574 字,大约阅读时间需要 8 分钟。
部署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节点,分别存放在不同的目录下:
cp -R elasticsearch-5.4.0 elasticsearch-5.4.0-node2
确保节点名称不同(如node1和node2)。
编辑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
编辑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.data和path.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:
cd /path/to/kibana-5.4.0./bin/kibana.bat
打开http://localhost:5601,输入集群IP:192.168.25.129,验证你是否可以看到所有节点的数据。
通过以上步骤,你可以在一台服务器上顺利配置并验证两个Elasticsearch节点,实现分布式搜索功能。
转载地址:http://freyk.baihongyu.com/