【Elastic (ELK) Stack 实战教程】02、Elastic Search 集群部署和 Kibana 部署
创始人
2025-05-29 13:08:54

目录

一、集群基础环境初始化

1.1 准备虚拟机

1.2 环境初始化

1.3 修改 sshd 服务优化

1.4 配置集群免密登录及同步脚本

二、ElasticSearch 单点部署

2.1 下载指定的 ES 版本

2.2 单点部署 ElasticSearch 

2.2.1 安装服务

2.2.2 修改配置⽂件

2.2.3 启动服务

2.2.4 查看集群信息

三、ElasticSearch 分布式集群部署

3.1 elk102、103 安装 ES

3.2 elk101 修改配置⽂件

3.3 同步配置⽂件到集群的其他节点

3.4 elk101 节点删除之前的临时数据

3.5 所有节点启动服务

3.6 验证集群是否正常

四、部署 Kibana 服务

4.1 安装 Kibana

4.2 修改 Kibana 的配置⽂件 

4.3 启动 Kibana 服务

4.4 访问 kibana 的 WebUI


 

一、集群基础环境初始化

1.1 准备虚拟机

操作系统 Centos 7.9: 

主机名IPCPU内存磁盘集群角色
elk101192.168.170.1322 core4 G30 GES node
elk102192.168.170.1332 core4 G30 GES node
elk103192.168.170.1342 core4 G30 GES node

1.2 环境初始化

按照我的这篇文章来操作:(7条消息) CentOS 7 初始化系统_centos7初始化_Stars.Sky的博客-CSDN博客

温馨提示:可以先弄完一台,打个快照,然后再克隆两台即可!(以下步骤都需要在三台机器上执行!) 

1.3 修改 sshd 服务优化

sed -ri 's@^#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
sed -ri 's#^GSSAPIAuthentication yes#GSSAPIAuthentication no#g' /etc/ssh/sshd_config
grep ^UseDNS /etc/ssh/sshd_config
grep ^GSSAPIAuthentication /etc/ssh/sshd_config

1.4 配置集群免密登录及同步脚本

#1. 修改主机列表
cat >> /etc/hosts <<'EOF'
192.168.170.132 elk101
192.168.170.133 elk102
192.168.170.134 elk103
EOF#2. 在 elk101 节点上⽣成密钥对
[root@elk101 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -q#3. elk101 配置所有集群节点的免密登录
[root@elk101 ~]# for ((host_id=101;host_id<=103;host_id++)); do ssh-copy-id elk${host_id}; done#4. 所有节点安装 rsync 数据同步⼯具
yum -y install rsync#5. 在 elk101 上编写同步脚本
[root@elk101 ~]# vim /usr/local/sbin/data_rsync.sh
#!/bin/bashif [ $# -ne 1 ];thenecho "Usage: $0 /path/to/file(绝对路径)"exit
fi# 判断⽂件是否存在
if [ ! -e $1 ];thenecho "[ $1 ] dir or file not find!"exit
fi# 获取父路径
fullpath=`dirname $1`# 获取子路径
basename=`basename $1`# 进入到父路径
cd $fullpathfor ((host_id=102;host_id<=103;host_id++))do# 使得终端输出变为绿色tput setaf 2echo ===== rsyncing elk${host_id}: $basename =====# 使得终端恢复原来的颜色tput setaf 7# 将数据同步到其他两个节点rsync -az $basename `whoami`@elk${host_id}:$fullpathif [ $? -eq 0 ];thenecho "命令执行成功!"fidone[root@elk101 ~]# chmod +x /usr/local/sbin/data_rsync.sh 

二、ElasticSearch 单点部署

2.1 下载指定的 ES 版本

ElasticSearch 7.17.3 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

2.2 单点部署 ElasticSearch 

2.2.1 安装服务

把下载好的 elasticsearch-7.17.3-x86_64.rpm 上传到 elk101:

[root@elk101 ~]# ls
anaconda-ks.cfg  elasticsearch-7.17.3-x86_64.rpm[root@elk101 ~]# yum -y localinstall elasticsearch-7.17.3-x86_64.rpm 

2.2.2 修改配置⽂件

[root@elk101 ~]# vim /etc/elasticsearch/elasticsearch.yml 
# 集群名称,若不指定,则默认是"elasticsearch",⽇志⽂件的前缀也是集群名称
cluster.name: elk
# 指定节点的名称,可以⾃定义,推荐使⽤当前的主机名,要求集群唯⼀
node.name: elk101
# 数据路径
path.data: /var/lib/elasticsearch
# 日志路径
path.logs: /var/log/elasticsearch
# ES 服务监听的 IP 地址
network.host: 0.0.0.0
# 服务发现的主机列表,对于单点部署⽽⾔,主机列表和"network.host"字段配置相同即可
discovery.seed_hosts: ["192.168.170.132"]

2.2.3 启动服务

[root@elk101 ~]# systemctl enable --now elasticsearch.service 

2.2.4 查看集群信息

[root@elk101 ~]# curl 127.0.0.1:9200
{"name" : "elk101","cluster_name" : "elk","cluster_uuid" : "_na_","version" : {"number" : "7.17.3","build_flavor" : "default","build_type" : "rpm","build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff","build_date" : "2022-04-19T08:11:19.070913226Z","build_snapshot" : false,"lucene_version" : "8.11.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

三、ElasticSearch 分布式集群部署

3.1 elk102、103 安装 ES

[root@elk101 ~]# scp elasticsearch-7.17.3-x86_64.rpm elk102:/root/
[root@elk101 ~]# scp elasticsearch-7.17.3-x86_64.rpm elk103:/root/[root@elk102 ~]# yum -y localinstall elasticsearch-7.17.3-x86_64.rpm 
[root@elk103 ~]# yum -y localinstall elasticsearch-7.17.3-x86_64.rpm 

3.2 elk101 修改配置⽂件

[root@elk101 ~]# vim /etc/elasticsearch/elasticsearch.yml 
discovery.seed_hosts: ["elk101", "elk102", "elk103"]
cluster.initial_master_nodes: ["elk101", "elk102", "elk103"][root@elk101 ~]# systemctl stop elasticsearch.service 

3.3 同步配置⽂件到集群的其他节点

# elk101 同步配置⽂件到集群的其他节点
[root@elk101 ~]# data_rsync.sh /etc/elasticsearch/elasticsearch.yml # elk102 节点配置
[root@elk102 ~]# vim /etc/elasticsearch/elasticsearch.yml 
node.name: elk102# elk103 节点配置
[root@elk103 ~]# vim /etc/elasticsearch/elasticsearch.yml 
node.name: elk103

3.4 elk101 节点删除之前的临时数据

注意:生产环境中只需要更改下路径即可,谨慎操作!

[root@elk101 ~]# rm -rf /var/{lib,log}/elasticsearch/*

3.5 所有节点启动服务

systemctl enable --now elasticsearch.service

3.6 验证集群是否正常

[root@elk101 ~]# curl elk101:9200/_cat/nodes?v
ip              heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
192.168.170.132           25          94  37    0.96    0.38     0.17 cdfhilmrstw *      elk101
192.168.170.134           18          95  43    1.25    0.56     0.24 cdfhilmrstw -      elk103
192.168.170.133            8          94  43    1.04    0.43     0.19 cdfhilmrstw -      elk102

上面可以看到,elk101 为 master 节点! 

四、部署 Kibana 服务

4.1 安装 Kibana

Kibana 7.17.3 下载地址:Kibana 7.17.3 | Elastic

把下载好的包 kibana-7.17.3-x86_64.rpm 上传到 elk101(可以安装在任一节点):

[root@elk101 ~]# yum -y localinstall kibana-7.17.3-x86_64.rpm 

4.2 修改 Kibana 的配置⽂件 

[root@elk101 ~]# vim /etc/kibana/kibana.yml 
server.host: "0.0.0.0"
server.name: "elk-kibana"
elasticsearch.hosts: ["http://192.168.170.132:9200", "http://192.168.170.133:9200", "http://192.168.170.134:9200"]
i18n.locale: "zh-CN"

4.3 启动 Kibana 服务

[root@elk101 ~]# systemctl enable --now kibana.service 

4.4 访问 kibana 的 WebUI

在浏览器访问:http://192.168.170.132:5601/

上一篇文章:【Elastic (ELK) Stack 实战教程】01、Elastic Stack 概述_Stars.Sky的博客-CSDN博客

相关内容

热门资讯

今日推荐“六六闲约 真的能开挂... 您好:六六闲约这款游戏可以开挂,确实是有挂的,需要了解加客服微信【3398215】很多玩家在这款游戏...
今日重大通报“泡泡娱乐拼三张到... 您好:泡泡娱乐拼三张这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在泡泡...
[重磅推荐]“全民牛牛炸金花有... 您好:全民牛牛炸金花这款游戏可以开挂,确实是有挂的,需要软件加微信【4830828】很多玩家在这款游...
玩家必看“星耀视界确实可以开挂... 您好:【星耀视界】这款游戏可以开挂,确实是有挂的,需要了解加客服微信【3636476】很多玩家在这款...
[实测教程]“兴动棋牌麻将为什... [实测教程]“兴动棋牌麻将为什么一直输!”!原来真的有挂亲.兴动棋牌麻将这款游戏是可以开挂的,确实是...