关键词

在 RHEL8 /CentOS8 上建立多节点 Elastic stack 集群的方法

在RHEL8/CentOS8上建立多节点Elasticstack集群的完整攻略如下:

1. 安装Java

首先需要在所有节点上安装Java。在RHEL8/CentOS8上可以使用以下命令安装OpenJDK 11:

sudo dnf install java-11-openjdk-devel

2. 安装Elasticsearch

2.1. 准备Elasticsearch的Yum源

在每个节点上将Elasticsearch的yum源放入 /etc/yum.repos.d/elasticsearch.repo 文件中:

[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

2.2. 安装Elasticsearch

在所有节点上运行以下命令安装Elasticsearch:

sudo dnf install elasticsearch

2.3. 配置Elasticsearch

在主节点上编辑 /etc/elasticsearch/elasticsearch.yml 文件,使其包含以下内容:

cluster.name: mycluster
node.name: mynode1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["mynode1", "mynode2", "mynode3"]
cluster.initial_master_nodes: ["mynode1"]

在备用节点上编辑 /etc/elasticsearch/elasticsearch.yml 文件,使其包含以下内容:

cluster.name: mycluster
node.name: mynode2
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["mynode1", "mynode2", "mynode3"]

注意,在主节点上 cluster.initial_master_nodes 参数的值应该为主节点的名字。

2.4. 启动Elasticsearch

在所有节点上启动 Elasticsearch 服务:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

3. 安装Kibana

3.1. 准备Kibana的Yum源

在每个节点上将Kibana的yum源放入 /etc/yum.repos.d/kibana.repo 文件中:

[kibana-7.x]
name=Kibana 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

3.2. 安装Kibana

在所有节点上运行以下命令安装Kibana:

sudo dnf install kibana

3.3 配置Kibana

在每个节点上编辑 /etc/kibana/kibana.yml 文件,使其包含以下内容:

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://mynode1:9200"]

注意,elasticsearch.hosts 参数的值应该为主节点的地址。

3.4 启动Kibana

在所有节点上启动 Kibana 服务:

sudo systemctl enable kibana
sudo systemctl start kibana

4. 验证集群是否正常工作

在浏览器打开 http://mynode1:5601,如果Kibana的界面正常显示,那么集群配置就完成了。在Kibana中可以进行监控、检索、可视化等操作。

示例1:使用单个节点配置集群

假设有三个节点,其中一个节点被选为主节点。可以将以下内容添加到每个节点的 /etc/elasticsearch/elasticsearch.yml 文件中:

cluster.name: mycluster
node.name: mynode1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["mynode1", "mynode2", "mynode3"]
cluster.initial_master_nodes: ["mynode1"]

在此示例中,我们只在 mynode1 上启动 Elasticsearch 和 Kibana 服务。由于我们已经在 /etc/elasticsearch/elasticsearch.yml 文件中指定了集群中的所有节点,因此只需访问 http://mynode1:5601 即可访问整个集群的Kibana界面。

示例2:使用Nginx作为代理服务器

将以下内容添加到 /etc/nginx/conf.d/kibana.conf 文件中,以将Nginx配置为Kibana的代理服务器:

server {
    listen 80;
    server_name mydomain.com;

    location / {
        proxy_pass http://mynode1:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

在此示例中,Nginx将所有来自 mydomain.com 域名的请求转发给 http://mynode1:5601,并在转发请求时将包含 UpgradeConnectionHost 的头信息传递给Kibana。

总结:

以上就是在RHEL8/CentOS8上建立多节点Elasticstack集群的完整攻略。除了安装Elasticsearch和Kibana,还需要配置参数并验证集群是否正常工作。同时,我们还给出了两个示例,一个是使用单个节点配置集群,另一个是使用Nginx作为代理服务器。

本文链接:http://task.lmcjl.com/news/13705.html

展开阅读全文