关于在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集群的完整攻略和示例。