本文将详细介绍如何在 Linux 环境下搭建一个 Elasticsearch 集群,涵盖环境准备、配置优化、服务启动等多个环节。
一、环境准备
-
创建安装目录
mkdir /es cd /es
-
解压 Elasticsearch 安装包
tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es
-
配置环境变量 编辑
~/.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
-
创建运行用户和分配权限
groupadd es useradd es -g es -p 12345678 chown -R es:es /es/elasticsearch-7.10.1/
二、配置 Elasticsearch
-
修改配置文件 编辑
/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]
-
挂载数据盘
lsblk mkfs.ext4 /dev/vdb mount /dev/vdb /data lsblk chown -R es:es /data/
-
调整虚拟内存 编辑
/etc/sysctl.conf
文件,添加以下内容:vm.max_map_count = 262144
立即生效:
sysctl -p
三、启动服务
-
以运行用户启动 Elasticsearch 切换到
es
用户并启动服务:su es ./elasticsearch -d
-
验证集群节点状态 使用以下命令查看节点状态:
curl -X GET "localhost:9200/_cat/nodes?v&h=ip,node.role,name"
四、附加说明
-
修复权限问题 如果运行过程中出现权限问题,可以执行以下命令:
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 集群。希望本文对您有所帮助!如有问题,欢迎留言讨论。