Elasticsearch集群和Kibana部署流程

搭建Elasticsearch集群

1. 进入Elasticsearch官网下载页面,下载Elasticsearch

在如下页面选择Elasticsearch版本,点击download按钮,进入下载页面
在这里插入图片描述
右键选择自己操作系统对应的版本,复制下载链接
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后通过wget命令下载Elasticsearch安装包,并通过tar解压

#进入根目录
cd /
#下载压缩包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.25-linux-aarch64.tar.gz
#解压
tar -xf /elasticsearch-7.17.25-linux-aarch64.tar.gz
#更改文件夹名称
mv elasticsearch-7.17.25 elasticsearch

进入解压后的/elasticsearch目录下,通过 ll 命令可以看到如下内容:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 修改配置文件

修改配置文件为如下内容(我是用的是虚拟机环境,只需要配置一份,并复制虚拟机,在逐一修改配置即可,如果不是虚拟机环境,则需要一一配置)。

# 集群名称
cluster.name: my-es-cluster# 节点名称(每个节点需唯一)
node.name: node-1  # 其他节点分别命名为 node-2、node-3# 数据和日志路径
path.data: /elasticsearch/data
path.logs: /elasticsearch/logs# 网络设置
network.host: 192.168.166.40 #配置为当前elasticsearch节点主机的ip# 端口
http.port: 9200# 集群节点发现(9300为默认的集群通信端口)
discovery.seed_hosts: ["192.168.166.40:9300", "192.168.166.41:9300", "192.168.166.42:9300"]# 初始主节点(第一次启动指定)
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

注意:

节点名称为集群节点的唯一标识,不能重复,可以不配置,elasticsearch也可以自动生成;

初始化主节点配置的节点,则是可以参与选举并任选主节点的节点,和Kafka的controller类似;

数据目录和日志路径默认是在elasticsearch的安装目录下;

3. 修改虚拟内存

虚拟内存是提高内存使用空间,让一个固定的内存,保存远大于他的容量的内容,其实现方式有多种,其中常见的包括交换区(具体可以看我的另一片帖子操作系统的内存管理策略)以及磁盘映射,其中es所使用的就是后者磁盘映射。

扩展内存的本质实际上就是划分一块磁盘区域给操作系统管理。如交换区就是划分一块磁盘区域作为交换区,对于不常用的内存页(操作系统对于内存的管理是基于分页存储,也就是说在操作系统的眼里,内存是一个一个的内存页),操作系统会将其存入磁盘,待使用时,在进行读取。而磁盘映射则是划分一块硬盘区域交给操作系统管理,并将普通磁盘区域中的文件或设备映射到操作系统管理的特殊区域,这样操作系统就能知道整个文件或设备全部的地址,不需要读取到内存中在进行使用,而是直接根据地址寻找到自己需要的内容。

elasticsearch要求能够进行映射数量最小需要达到262144(页),所以我们需要执行如下命令:

#将vm.max_map_count=262144,通过tee -a命令,追加到/etc/sysctl.conf文件结尾,持久化配置
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
#修改内核参数,修改当前启动状态,不执行重启也可以
sudo sysctl -w vm.max_map_count=262144

4. 修改jvm内存

根据情况而定,我的虚拟机环境,调整为2g。修改/elasticsearch/config/jvm.options配置文件中追加如下内容:

-Xms2g
-Xmx2g

5. 修改文件描述符数量

文件描述符是已打开文件的唯一表示,当进程对文件进行操作时,操作系统会分配给这个文件唯一的文件描述符。

由于Elasticsearch不允许root用户启动,而新建用户默认可以分配的文件描述符只有4096(也就是只能同时读取4096个资源),这对于Elasticsearch是完全不够用的,所以我们需要给新建的用户修改文件描述符数量(Elasticsearch要求最小的文件描述符数量为65535)。

#创建目录,用于存储用户数据
mkdir /elasticsearch/run-user
#创建运行用户elasticsearch,用于运行elasticsearch,elasticsearch不允许root用户运行
sudo useradd -r -d /elasticsearch/run-user/ -s /sbin/nologin elasticsearch
#赋予用户目录权限
sudo chown -R elasticsearch:elasticsearch /elasticsearch
#通过命令向/etc/security/limits.conf文件中追加文件描述符的软硬限制
echo "elasticsearch soft nofile 65535" | sudo tee -a /etc/security/limits.conf
echo "elasticsearch hard nofile 65535" | sudo tee -a /etc/security/limits.conf

如果是systemd启动Elasticsearch,还需要修改systemd的配置文件,这里就不细说了。

6. 启动Elasticsearch集群

完成了以上的准备工作,就可以通过如下命令启动所有节点,开启集群了

#zhi定用户启动elasticsearch
sudo -u elasticsearch /elasticsearch/bin/elasticsearch
#后台启动命令,第一次学习的话推荐前台启动,可以更直观的看见日志信息
nohup sudo -u elasticsearch /elasticsearch/bin/elasticsearch &

通过浏览器访问 任意node_ip:9200/_cluster/health?pretty,可以看到如下集群信息,证明集群启动成功:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Kibana(Elasticsearch可视化界面)部署

1. 进入Kinbana官网下载页面,下载Kinbana

选择和部署的Elasticsearch一样的版本,然后点击DownLoad

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

右键对应版本,复制下载链接
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入服务器,执行如下命令

cd /
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.25-linux-aarch64.tar.gz
tar -xf /kibana-7.17.25-linux-aarch64.tar.gz
mv ./kibana-7.17.25-linux-aarch64 kibana

2. 修改配置文件

修改kibana.yml文件内容

vim /kibana/config/kibana.yml
#在文件末尾添加如下内容#设置Kibana监听的主机名/IP地址
server.host: "0.0.0.0"   # 0.0.0.0 表示允许所有IP地址访问,生产环境可指定特定IP
#Kibana服务端口(默认5601)
server.port: 5601
#elasticsearch集群地址
elasticsearch.hosts: ["http://192.168.166.40:9200","http://192.168.166.41:9200","http://192.168.166.42:9200"]

3. 启动Kibana

Kinbana同样不允许以root用户启动,所以我们要将Kibana的相关文件所属用户和用户组,交给elasticsearch,并由这个用户来启动Kibana,在确保elasticsearch集群启动的前提下,执行如下命令

#更改所属用户用户组
sudo chown -R elasticsearch:elasticsearch /kibana
#启动Kinbana
sudo -u elasticsearch /kibana/bin/kibana
#后台启动命令,第一次学习的话推荐前台启动,可以更直观的看见日志信息
nohup sudo -u elasticsearch /kibana/bin/kibana &

访问ip:5601,看到如下页面证明Kibana启动成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我可以在Kibana提供的DevTool中执行相关指令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行 GET /_cluster/health 可以看到如图所示,集群连接成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/11637.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

ARL506-ASEMI汽车专用整流二极管ARL506

编辑:ll ARL506-ASEMI汽车专用整流二极管ARL506 型号:ARL506 品牌:ASEMI 封装:BUTTON 正向电流:50A 反向电压:600V 正向压降:1.08V 引线数量:2 芯片个数:1 芯片…

一文解析离线数据仓库和实时数据仓库!

一、离线数仓是什么? 离线数仓(Offline Data Warehouse)是一种数据仓库架构,主要用于存储和处理历史的、静态的数据。它是对企业内外部各种数据源的数据进行抽取、清洗、转换、加载(ETL)后,按照…

java里面使用groovy案例+详解

场景: 最近有一个计算商品运费的,如果商品的数量大于快递公司设置的数量 10 那么超出部分也需要计算额外运费,那么这些计算过程代码我能不能不在java里面写呢,用一种可配置化的方式来根据不同的传参计算出运费? 页面传…

iframe页面嵌套把子页面的modal显示在父页面层级

使用iframe父页面嵌套子页面时,如果子页面有modal,默认modal的包裹范围是在子页面的body上,子页面有多大,modal的包裹就有多大,并且不能fixed,会随着鼠标滚动。 处理方法:将modal的body挂载在页…

18.头文件的用法注意事项

//2.cpp中编写多个方法,方法多了后没法一个个声明,就需要使用头文件 int daguai() {return 1; } int paoshang() {return 1; } int guaji() {return 1; } int jiaxue() {return 1; }右键头文件 新建项 新建头文件 在头文件中声明2.cpp中的方法 #pr…

充电宝哪个牌子好用?2024年充电宝十大品牌排行榜推荐!

充电宝哪个牌子好用?2024年充电宝十大品牌排行榜推荐!如今,外出时手机电量耗尽是许多人都会遇到的问题,尤其是在关键时刻,电量不足更是令人焦虑不已。此时,一款性能可靠且耐用的移动电源便成了我们的救命稻…

Python爬虫精准获取京东(JD)商品SKU信息

在数字化时代,数据的价值日益凸显,尤其是对于电商行业来说,精准获取商品信息成为了市场分析、价格比较、库存管理等环节的基石。本文将通过Python爬虫技术,详细解析如何精准获取京东(JD)商品的SKU信息,包括商品详情、价…

漏洞利用exp[banner]

源码 import requestsbanner """________________________________________________/ \\| _________________________________________ || |\033[1;39m _,. \0…

MYSQL视图

由于我们上讲复习了前面的所有知识点,所以今天不再去复习之前的知识了,我们直接开始正题。 1.什么是视图? 视图是⼀个虚拟的表,它是基于⼀个或多个基本表或其他视图的查询结果集。视图本⾝不存储数 据,⽽是通过执⾏查…

【软件设计师中级】2024.11.09软考备考

备考时候的一些笔记,可能会有不对或者个人主观的知识点 文章目录 前言一、计算机内数据的表示1.1 原反补移码1.2 浮点数1.3 校验码1.3.1奇偶校验1.3.2 CRC冗余校验码(理解特点即可)1.3.3 海明校验码 二、 计算机系统组成2.1 冯诺依曼结构2.2 Flynn分类法2.3 指令系统…

springboot生成二维码和条形码

目录 springboot生成二维码和条形码引入依赖生成二维码&#xff0c;在controller层生成条形码controller springboot生成二维码和条形码 引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version&…

RTSP播放器EasyPlayer.js无插件直播流媒体音视频播放器使用http与https的区别

在当今数字化时代&#xff0c;视频播放体验的重要性日益凸显&#xff0c;而EasyPlayer.js无插件H5播放器作为一款现代Web环境下的播放器&#xff0c;其对HTTP和HTTPS的支持成为了许多用户关注的焦点。本文将探讨EasyPlayer.js播放器在使用HTTP与HTTPS时的区别。 1、从安全性角度…

组态软件基础知识

一、组态软件基础知识 1、概述 &#xff08;1&#xff09;、组态软件概念与产生背景 “组态”的概念是伴随着集散型控制系统&#xff08;Distributed Control System简称DCS&#xff09;的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发…

国标GB28181公网直播EasyGBS国标GB28181视频平台与海康GB28181对接需要做哪些测试?

在当今的视频监控系统中&#xff0c;国标GB28181协议已成为视频监控设备互联互通的标准。特别是在公网直播的应用场景中&#xff0c;国标GB28181公网直播EasyGBS国标GB28181视频平台与海康威视设备的对接显得尤为重要。为了确保对接的顺利进行&#xff0c;需要进行一系列详尽的…

SpringBoot使用TraceId日志链路追踪

项目场景&#xff1a; 有时候一个业务调用链场景&#xff0c;很长&#xff0c;调了各种各样的方法&#xff0c;看日志的时候&#xff0c;各个接口的日志穿插&#xff0c;确实让人头大。为了解决这个痛点&#xff0c;就使用了TraceId&#xff0c;根据TraceId关键字进入服务器查询…

【QML】QML图表(ChartView)改变坐标轴(ValueAxis)标题(titleText)的文字颜色

1. 需求 改变titleText的颜色&#xff0c;将下图mV的颜色改为红色 2.代码 关键代码&#xff1a;titleText: "<font colorred>mV</font>" //坐标轴 mv ValueAxis{id: _mAxisMvmin: 0max: 20tickCount: 6labelsFont.pixelSize: 15labelFormat: %.1ft…

mysql诡异查询

运营同事让查一个数量&#xff0c;结果这两种情况查的居然不一致。 带时分秒查询的是另一个数&#xff0c;没有时分秒是上面的&#xff0c;少了100多条数据&#xff0c;为什么&#xff0c;有路过的大神可以指点一二。

丹摩征文活动|快速上手 CogVideoX-2b:智谱清影 6 秒视频生成部署教程

文章目录 一、生成视频效果 二、CogVideoX 技术新起点三、CogVideoX 上手部署3.1 创建丹摩实例3.2 配置环境和依赖3.3 模型与配置文件3.4 运行3.5 问题与处理方法 四、CogVideoX-2b 用创新点燃未来 一、生成视频效果 A street artist, clad in a worn-out denim jacket and a c…

仓库管理系统的实施流程超全解析!

现在我们都能很清楚地知道&#xff0c;在企业管理中仓库管理系统&#xff08;WMS&#xff09;扮演着非常重要的角色。而且随着电子商务的迅猛发展和供应链管理的复杂化&#xff0c;企业对仓库管理的要求越来越高。那么&#xff0c;如何有效地实施一个仓库管理系统&#xff0c;成…

【K8S问题系列 | 10】在K8S集群怎么查看各个pod占用的资源大小?【已解决】

要查看 Kubernetes 集群中各个 Pod 占用的资源大小&#xff08;包括 CPU 和内存&#xff09;&#xff0c;可以使用以下几种方法&#xff1a; 1. 使用 kubectl top 命令 kubectl top 命令可以快速查看当前 Pod 的 CPU 和内存使用情况。需要确保已安装并配置了 Metrics Server。…