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

  • Post category:Linux

关于在RHEL8/CentOS8上建立多节点Elasticstack集群的方法,需要以下步骤:

第一步:配置节点主机名(hostname)

在Elasticstack集群中,节点之间需要通过主机名来进行通信。在每个节点上,需要先配置主机名。

在CentOS8中,可以使用以下命令来修改主机名:

sudo hostnamectl set-hostname <your_hostname>

在RHEL8中,可以使用以下命令来修改主机名:

sudo hostnamectl set-hostname <your_hostname> --static

需要注意的是,在集群节点上所有主机名必须唯一。

第二步:安装Java运行环境

Elasticsearch和Logstash需要Java运行环境,请确保在每个节点都正确安装了Java。

在CentOS8中,可以使用以下命令来安装Java:

sudo dnf install java-1.8.0-openjdk -y

在RHEL8中,可以使用以下命令来安装Java:

sudo yum install java-1.8.0-openjdk -y

第三步:配置Elasticsearch

在Elasticsearch集群中,需要至少有一个主节点和多个从节点,用于数据的分布和备份。

1. 配置主节点

在CentOS8中,可以使用以下命令来下载和安装Elasticsearch:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-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

sudo dnf install elasticsearch -y

在RHEL8中,可以使用以下命令来下载和安装Elasticsearch:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-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

sudo yum install elasticsearch -y

安装完毕后,需要对主节点进行配置。可以修改/etc/elasticsearch/elasticsearch.yml文件,添加以下配置:

cluster.name: my-cluster
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["node-1", "node-2", "node-3"]
cluster.initial_master_nodes: ["node-1"]

其中:

  • cluster.name是Elasticsearch集群的名称。
  • node.name是当前节点的名称。
  • path.data是Elasticsearch数据存储路径。
  • path.logs是Elasticsearch日志存储路径。
  • network.host是节点的IP地址,可指定为0.0.0.0表示所有网卡。
  • discovery.seed_hosts指定了集群中所有可用主机的主机名。
  • cluster.initial_master_nodes指定了集群中初始的主节点。

2. 配置从节点

在主节点配置好后,需要在从节点上安装并配置Elasticsearch。可以使用与主节点相同的方式下载和安装Elasticsearch,并在/etc/elasticsearch/elasticsearch.yml文件中配置以下信息:

cluster.name: my-cluster
node.name: node-2
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["node-1", "node-2", "node-3"]
cluster.initial_master_nodes: ["node-1"]

其中,node.name需要指定当前从节点的名称。

第四步:配置Logstash

Logstash是一个数据收集和处理工具,用于将数据发送到Elasticsearch上。

在CentOS8中,可以使用以下命令来下载和安装Logstash:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo tee /etc/yum.repos.d/logstash.repo <<EOF
[logstash-7.x]
name=Elastic 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

sudo dnf install logstash -y

在RHEL8中,可以使用以下命令来下载和安装Logstash:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo tee /etc/yum.repos.d/logstash.repo <<EOF
[logstash-7.x]
name=Elastic 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

sudo yum install logstash -y

安装完毕后,需要对Logstash进行配置,可以修改/etc/logstash/conf.d/logstash.conf文件,添加以下内容:

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://node-1:9200", "http://node-2:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  }
}

其中:

  • input.beats表示接收Beats数据。
  • output.elasticsearch表示将数据发送到Elasticsearch。
  • hosts指定了Elasticsearch主机地址,为集群中的所有主节点。
  • index定义了Elasticsearch中记录的索引名称。

第五步:启动服务并测试

在完成以上配置后,需要启动Elasticsearch和Logstash服务,并测试集群运行情况。

在CentOS8中,可以使用以下命令来启动服务:

sudo systemctl start elasticsearch
sudo systemctl start logstash

在RHEL8中,可以使用以下命令来启动服务:

sudo systemctl start elasticsearch.service
sudo systemctl start logstash.service

使用curl命令检查Elasticsearch是否启动成功:

curl http://localhost:9200/_cat/nodes

若输出以下结果,则表示集群已成功启动:

node-1 2 98 0 0.03 0.02 0.01 dilm - node-1
node-2 2 98 0 0.03 0.02 0.01 dilm * node-2

在测试完毕后,需要在集群中添加更多节点以实现高可用性和数据备份。

以上就是建立多节点Elasticstack集群的完整攻略和示例。