【服务部署】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服务部署

相关推荐
葫芦的运维日志43 分钟前
从手动部署到GitOps只需四步
架构
sumuve1 小时前
从100行到1行:我是如何重构IoT设备实时数据通信的?
架构·响应式设计
koddnty2 小时前
c++协程控制流深入剖析
后端·架构
Mintopia2 小时前
Vite 与 Uni-App X 的协作原理:从前端开发到多端运行的桥梁
架构
louiX18 小时前
深入理解 Android BLE GATT 回调机制:从“回调地狱”到高可靠 OTA 架构
架构
aircrushin19 小时前
轻量化大模型架构演进
人工智能·架构
天蓝色的鱼鱼19 小时前
你的项目真的需要SSR吗?还是只是你的简历需要?
前端·架构
文心快码BaiduComate19 小时前
百度云与光本位签署战略合作:用AI Agent 重构芯片研发流程
前端·人工智能·架构
JavaTalks1 天前
高并发保护实战:限流、熔断、降级如何配合落地
后端·架构·设计
兆子龙1 天前
别再用 useState / data 管 Tabs 的 activeKey 了:和 URL 绑定才香
前端·架构