CentOS环境搭建Elasticsearch集群

61 阅读2分钟

搭建Elasticsearch集群是一个较为专业的Linux操作主题,本文将介绍如何在CentOS环境下部署和配置Elasticsearch集群。希望通过这篇文章,您可以轻松理解并掌握Elasticsearch集群的配置过程。

  1. 系统环境准备

在开始搭建时,请确保您的操作系统是CentOS(推荐使用CentOS 7.x或更高版本)。安装操作前,请将系统更新至最新:

sudo yum update

2. 安装Java

Elasticsearch需要Java运行环境。建议安装OpenJDK 11,可通过以下命令进行安装:

sudo yum install java-11-openjdk-devel -y
​

安装完成后,使用以下命令检查Java版本:

java -version
​

3. 添加Elasticsearch仓库

首先安装Elasticsearch的GPG密钥:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

接下来创建YUM Elasticsearch仓库:

sudo tee /etc/yum.repos.d/elasticsearch.repo <<-EOF
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
​

4. 安装Elasticsearch

安装Elasticsearch:

sudo yum install elasticsearch -y
​

5. 配置Elasticsearch

要配置Elasticsearch集群,请编辑 /etc/elasticsearch/elasticsearch.yml文件。需要对以下几个参数进行修改或添加:

cluster.name: my-es-cluster
node.name: node-1
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["node1-ip", "node2-ip", "node3-ip"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

请分别修改每个节点的 node.name,并根据实际情况替换 discovery.seed_hosts和 cluster.initial_master_nodes中的节点IP和节点名称。

  1. 设置Elasticsearch内存限制

编辑文件 /etc/elasticsearch/jvm.options,找到以下两行:

-Xms1g
-Xmx1g

这里设置了Elasticsearch堆内存告警处理的初始和最大值,建议将其设置为您实际物理内存的一半。例如,如果您有16GB的内存,将其设置为8GB:

-Xms8g
-Xmx8g

7. 启动和配置自启动

启动Elasticsearch:

sudo systemctl start elasticsearch
​

设置开机自启动:

sudo systemctl enable elasticsearch
​

8. 验证Elasticsearch集群状态

使用以下命令检查集群状态:

curl -X GET 'http://localhost:9200/_cluster/health?pretty'

您将看到类似这样的输出,表示集群已正确部署并运行:

{
  "cluster_name" : "my-es-cluster",
  "status" : "green",
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 4,
  "active_shards" : 8,
}

至此,您已成功在CentOS环境下搭建了Elasticsearch集群。通过以上介绍和步骤,相信您对部署Elasticsearch集群有了充分的了解。最后祝您在使用Elasticsearch集群的过程中顺利开展工作!