在 RHEL8 / CentOS8 上建立多节点 Elastic Stack 集群的方法
Elastic Stack 是一个开源的、分布式的、RESTful 风格的搜索和分析引擎,它包括了多个组件,如 Elasticsearch、Logstash、Kibana 等,在本文中,我们将介绍如何在 RHEL8 / CentOS8 上建立多节点的 Elastic Stack 集群。
1、环境准备
我们需要准备以下环境:
RHEL8 / CentOS8 操作系统
Java 1.8 或更高版本
Elasticsearch、Logstash、Kibana 等组件的安装包
2、安装 Java
在 RHEL8 / CentOS8 上安装 Java 1.8,可以使用以下命令:
sudo yum install java-1.8.0-openjdk-devel
3、下载并解压 Elastic Stack 安装包
从官方网站下载 Elastic Stack 的安装包,然后使用以下命令解压:
tar -xzf elasticsearch-*.tar.gz tar -xzf logstash-*.tar.gz tar -xzf kibana-*.tar.gz
4、配置多节点集群
在每个节点上,修改 elasticsearch
、logstash
、kibana
的配置文件,使其支持多节点集群,以下是一些关键配置项:
elasticsearch.yml
:设置 cluster.name
,确保所有节点的集群名称相同;设置 node.name
,为每个节点分配一个唯一的名称;设置 network.host
,使节点能够相互通信。
logstash.yml
:设置 output.elasticsearch
,指定 Elasticsearch 集群的地址和端口。
kibana.yml
:设置 elasticsearch.url
,指定 Elasticsearch 集群的地址和端口。
5、启动多节点集群
在每个节点上,分别启动 elasticsearch
、logstash
、kibana
服务:
cd elasticsearch-* bin/elasticsearch & cd ../logstash-* bin/logstash -f config/logstash.conf & cd ../kibana-* bin/kibana &
6、验证集群状态
访问 Kibana 的 Web 界面(默认地址为 http://localhost:5601),如果看到类似以下的输出,说明集群已经成功搭建:
{ "name": "my_cluster", "cluster_uuid": "xxxxxxxxxxxxxxxxxx", "version": {...}, "nodes": [{"name": "node1", "uuid": "xxxxxxxxxxxxxxxxxx"}, {"name": "node2", "uuid": "xxxxxxxxxxxxxxxxxx"}], "number_of_nodes": 2, "number_of_data_nodes": 2, "active_primary_shards": ..., "active_shards": ..., "relocating_shards": ..., "initializing_shards": ..., "unassigned_shards": ..., "delayed_unassigned_shards": ..., "number_of_pending_tasks": ..., "number_of_in_flight_fetch": ..., "task_max_waiting_in_queue_millis": ..., "active_shards_percent_as_number": ..., }
7、使用集群进行搜索和分析
现在,我们可以使用 Kibana Web UI 或者 API 对集群中的数据进行搜索和分析了,我们可以创建一个索引,然后向其中添加一些文档:
PUT /my_index/_doc/1?pretty&refresh=true {"title": "Hello World", "content": "This is a test document."}
我们可以使用以下查询语句搜索文档:
GET /my_index/_search?q=content:test&pretty&refresh=true {"hits": {"total": {"value": 1, "relation": "eq"}, "hits": [{"_source": {"title": "Hello World", "content": "This is a test document."}}]}}
问题与解答:
Q1:在搭建多节点集群时,为什么需要修改每个节点上的配置文件?
A1:修改配置文件是为了使每个节点能够识别其他节点,从而形成一个统一的集群,我们需要在每个节点的配置文件中设置相同的 cluster.name
、node.name
、network.host
,以及指定其他节点的地址和端口等信息,这样,当每个节点启动时,它们就能够自动发现并加入集群。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/326866.html