【服务部署】ELFK架构篇之Elasticsearch

文章目录

一、单点部署

1.环境准备

bash 复制代码
系统环境:Ubuntu Server 22.04
服务版本:Elasticsearch 7.17.29

服务下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.29-amd64.deb

2.软件包安装

shell 复制代码
[root@elfk01 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb 

3.修改配置文件

shell 复制代码
[root@elfk01 ~]# egrep -v "^.*#|^$" /etc/elasticsearch/elasticsearch.yml 
cluster.name: elfk-single
network.host: 0.0.0.0
discovery.type: single-node

4.启动服务

shell 复制代码
[root@elkf01 ~]# systemctl daemon-reload 
[root@elkf01 ~]# systemctl enable --now elasticsearch.service 
[root@elkf01 ~]# ss -ntl | egrep "92|300"
LISTEN 0      4096               *:9200            *:*          
LISTEN 0      4096               *:9300            *:*          

5.访问测试

shell 复制代码
[root@elfk01 ~]# curl 10.0.0.91:9200
{
  "name" : "elfk01",
  "cluster_name" : "elfk-single",
  "cluster_uuid" : "qrS21bRfSfGdqEIjcSTj3A",
  "version" : {
    "number" : "7.17.29",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "580aff1a0064ce4c93293aaab6fcc55e22c10d1c",
    "build_date" : "2025-06-19T01:37:57.847711500Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[root@elfk01 ~]# curl 10.0.0.91:9200/_cat/nodes
10.0.0.91 31 97 14 0.39 0.17 0.06 cdfhilmrstw * elfk01

二、ES集群部署实战

1.停止ES单点

bash 复制代码
[root@elfk01 ~]# systemctl stop elasticsearch.service 
[root@elfk01 ~]# ss -ntl | egrep "92|300"

2.修改配置文件

bash 复制代码
[root@elfk01 ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml 
cluster.name: elfk-cluster
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["10.0.0.91", "10.0.0.92","10.0.0.93"]
cluster.initial_master_nodes: ["10.0.0.91", "10.0.0.92","10.0.0.93"]
#discovery.type: single-node  把单点模式注释掉

3.清理旧数据

bash 复制代码
[root@elfk01 ~]# rm -rf /var/{log,lib}/elasticsearch/*
[root@elfk01 ~]# ll /var/{log,lib}/elasticsearch/
/var/lib/elasticsearch/:
total 8
drwxr-s---  2 elasticsearch elasticsearch 4096 Oct 29 11:36 ./
drwxr-xr-x 61 root          root          4096 Oct 29 10:08 ../
​
/var/log/elasticsearch/:
total 8
drwxr-s---  2 elasticsearch elasticsearch 4096 Oct 29 11:36 ./
drwxrwxr-x 10 root          syslog        4096 Oct 29 10:08 ../

4.分发软件包

bash 复制代码
[root@elfk01 ~]# scp elasticsearch-7.17.29-amd64.deb 10.0.0.92:~
[root@elfk01 ~]# scp elasticsearch-7.17.29-amd64.deb 10.0.0.93:~

5.多节点安装ES服务

bash 复制代码
[root@elfk02 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb 
[root@elfk03 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb 

6.同步配置文件

bash 复制代码
[root@elfk01 ~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.92:/etc/elasticsearch/
[root@elfk01 ~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.93:/etc/elasticsearch/

7.多节点需同时启动ES服务

bash 复制代码
[root@elfk01 ~]# systemctl enable --now elasticsearch.service
[root@elfk01 ~]# ss -ntl | egrep "92|300"
LISTEN 0      4096               *:9200            *:*          
LISTEN 0      4096               *:9300            *:*          

[root@elfk02 ~]# systemctl enable --now elasticsearch.service 
[root@elfk02 ~]# ss -ntl | egrep "92|300"
LISTEN 0      4096               *:9300            *:*          
LISTEN 0      4096               *:9200            *:*          
​
[root@elfk03 ~]# systemctl enable --now elasticsearch.service 
[root@elfk03 ~]# ss -ntl | egrep "92|300"
LISTEN 0      4096               *:9300            *:*          
LISTEN 0      4096               *:9200            *:*          

8.验证集群状态

bash 复制代码
[root@elfk01 ~]# curl 10.0.0.91:9200/_cat/nodes
10.0.0.92 21 97 12 0.33 0.31 0.14 cdfhilmrstw - elfk02
10.0.0.91 29 97 16 0.31 0.17 0.06 cdfhilmrstw * elfk01
10.0.0.93 23 97 52 0.89 0.34 0.12 cdfhilmrstw - elfk03

[root@elfk01 ~]# curl 10.0.0.92:9200/_cat/nodes
10.0.0.91 29 97  1 0.29 0.17 0.06 cdfhilmrstw * elfk01
10.0.0.93 23 97 50 0.90 0.36 0.13 cdfhilmrstw - elfk03
10.0.0.92 22 97  1 0.30 0.31 0.14 cdfhilmrstw - elfk02

[root@elfk01 ~]# curl 10.0.0.93:9200/_cat/nodes
10.0.0.93 23 97 55 0.90 0.36 0.13 cdfhilmrstw - elfk03
10.0.0.92 22 97  4 0.30 0.31 0.14 cdfhilmrstw - elfk02
10.0.0.91 29 97  0 0.29 0.17 0.06 cdfhilmrstw * elfk01

[root@elfk01 ~]# curl 10.0.0.93:9200
{
  "name" : "elfk03",
  "cluster_name" : "elfk-cluster",
  "cluster_uuid" : "Gcu4sGGlTO25jN2uTPjcHg",
  "version" : {
    "number" : "7.17.29",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "580aff1a0064ce4c93293aaab6fcc55e22c10d1c",
    "build_date" : "2025-06-19T01:37:57.847711500Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

下期分享:Kibana服务部署

相关推荐
是你的小橘呀2 小时前
零基础也能懂!React Hooks实战手册:useState/useEffect上手就会,告别类组件
前端·架构
ICT技术最前线2 小时前
企业 ICT 标准化传输架构规范
架构
踏浪无痕3 小时前
JobFlow:时间轮与滑动窗口的实战优化
后端·架构·开源
ModestCoder_3 小时前
Git 版本管理教程
大数据·git·elasticsearch
老前端的功夫5 小时前
TypeScript 类型守卫:从编译原理到高级模式
前端·javascript·架构·typescript
希望_睿智6 小时前
实战设计模式之中介者模式
c++·设计模式·架构
Dxy12393102166 小时前
ES8.13.4数据类型简介
elasticsearch
golang学习记6 小时前
Facebook 为什么不用 Git?
git·elasticsearch·facebook
5G全域通6 小时前
面向5G复杂性的下一代运维技术体系:架构、工具与实践
大数据·运维·人工智能·5g·架构
GIS阵地7 小时前
git拉取时报错
大数据·git·elasticsearch