Elasticsearch集群部署

news/2024/7/7 5:49:21 标签: elasticsearch, 大数据, 搜索引擎

组件介绍

1、Elasticsearch:

是基于一个Lucene的搜索引擎,提供搜索,分析。存储数据三大功能,他提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

2 、Logstash

主要是用来日志的搜集、分析、过滤日志的工具。用于管理日志和事件的工具,你可以用它去收集日志、转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。

3、Kibana

是一个优秀的前端日志展示框架,它可以非常详细的将日志转化为各种图表,为用户提供强大的数据可视化支持,它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。

4、Kafka:

​ 数据缓冲队列。作为消息队列解耦合处理过程,同时提高了可扩展性。具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。

  • 1.发布和订阅记录流,类似于消息队列或企业消息传递系统。
  • 2.以容错持久的方式存储记录流。
  • 3.处理记录发生的流。

5、Filebeat:

​ 隶属于Beats,轻量级数据收集引擎。基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是 ELK Stack 在 Agent 的第一选择,目前Beats包含四种工具:

  • 1.Packetbeat(搜集网络流量数据)
  • 2.Metricbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据。通过从操作系统和服务收集指标,帮助您监控服务器及其托管的服务。)
  • 3.Filebeat(搜集文件数据)
  • 4.Winlogbeat(搜集 Windows 事件日志数据)

Elasticsearch集群部署

服务器

注:以下为环境所需所有服务器,配置为测试环境配置。

主机名IP地址系统版本配置
Elk192.168.20.153centos7.5.18042核4G
Es1192.168.20.157centos7.5.18042核4G
Es2192.168.20.159centos7.5.18042核4G

安装配置ES

创建用户
#创建用户
[root@elk ~]# useradd es
[root@elk ~]# echo "123456" | passwd --stdin "es"
更改用户 es 的密码 。
passwd:所有的身份验证令牌已经成功更新。
安装ES
#上传解压安装包
[root@elk ~]# tar -xf elasticsearch-7.13.2-linux-x86_64.tar.gz  -C /usr/local
[root@elk ~]# cd /usr/local
[root@elk local]# mv elasticsearch-7.13.2/ es
修改配置文件
[root@elk local]# cd es/config
[root@elk config]# cp elasticsearch.yml  elasticsearch.yml.back
[root@elk config]# vim /usr/local/es/config/elasticsearch.yml
 cluster.name: zxjq
 cluster.initial_master_nodes: ["192.168.20.153","192.168.20.157", "192.168.20.159"]
 node.name: elk01
 node.master: true
 node.data: true
 path.data: /data/elasticsearch/data
 path.logs: /data/elasticsearch/logs
 bootstrap.memory_lock: false
 bootstrap.system_call_filter: false
 network.host: 0.0.0.0
 http.port: 9200
 transport.tcp.port: 9300
 discovery.seed_hosts: ["192.168.20.157", "192.168.20.159"]
 discovery.zen.minimum_master_nodes: 2
 discovery.zen.ping_timeout: 150s
 discovery.zen.fd.ping_retries: 10
 client.transport.ping_timeout: 60s
 http.cors.enabled: true
 http.cors.allow-origin: "*"

cluster.name 集群名称,各节点配成相同的集群名称。
cluster.initial_master_nodes 集群ip,默认为空,如果为空则加入现有集群,第一次需配置
node.name 节点名称,各节点配置不同。
node.master 指示某个节点是否符合成为主节点的条件。
node.data 指示节点是否为数据节点。数据节点包含并管理索引的一部分。
path.data 数据存储目录。
path.logs 日志存储目录。
bootstrap.memory_lock 内存锁定,是否禁用交换,测试环境建议改为false。
bootstrap.system_call_filter 系统调用过滤器。
network.host 绑定节点IP。
http.port rest api端口。
discovery.seed_hosts 提供其他 Elasticsearch 服务节点的单点广播发现功能,这里填写除了本机的其他ip
discovery.zen.minimum_master_nodes 集群中可工作的具有Master节点资格的最小数量,官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。
discovery.zen.ping_timeout 节点在发现过程中的等待时间。
discovery.zen.fd.ping_retries 节点发现重试次数。
http.cors.enabled 是否允许跨源 REST 请求,用于允许head插件访问ES。
http.cors.allow-origin 允许的源地址

创建数据和日志目录
[root@elk config]# mkdir -p /data/elasticsearch/data
[root@elk config]# mkdir -p /data/elasticsearch/logs
设置JVM堆大小 #7.0默认为4G
[root@elk config]# sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options  
[root@elk config]# sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options
修改安装目录及存储目录权限
[root@elk config]# chown -R es.es /data/elasticsearch
[root@elk config]# chown -R es.es /usr/local/es

确保堆内存最小值(Xms)与最大值(Xmx)的大小相同,防止程序在运行时改变堆内存大小。
如果系统内存足够大,将堆内存最大和最小值设置为31G,因为有一个32G性能瓶颈问题。
堆内存大小不要超过系统内存的50%

系统优化

(1)增加最大文件打开数

永久生效方法

[root@elk ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf
(2)增加最大进程数
[root@elk ~]# echo "* soft nproc 65536" >> /etc/security/limits.conf

更多的参数调整可以直接用这个

在这里插入图片描述

(3)增加最大内存映射数
[root@elk ~]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@elk ~]# sysctl -p
[root@elk ~]# vim /etc/security/limits.conf
* hard nofile 65536

启动ES

[root@elk config]# su - es
上一次登录:五 11月 24 17:56:53 CST 2023pts/0 上
[es@elk ~]$ cd /usr/local/es
[es@elk es]$ ./bin/elasticsearch

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/5211366.html

相关文章

第三章 Ubuntu和Windows之间文件互传FTP工具FileZilla(速度贼快,简单易上手,已测试版)

第一章 VMware Workstation Pro虚拟机安装Ubuntu20.04详细图文教程(图文并茂成功版)第二章 Ubuntu22.04 Linux磁盘扩容/硬盘扩展教程文章目录

Django框架之csrf跨站请求

目录 一、csrf跨站请求伪造详解 二、csrf跨域请求伪造 【1】正常服务端 【2】钓鱼服务端 三、csrf校验 【介绍】 form表单中进行csrf校验: 【1】form表单如何校验 【2】ajax如何校验 四、csrf相关装饰器 【1】csrf_protect装饰器: 【…

376.摆动序列

原题链接&#xff1a;376.摆动序列 全代码&#xff1a; class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size();int curDiff 0; // 当前一对差值int preDiff 0; // 前一对差值int result 1; // 记录峰…

GWAS结果批量整理:升级版算法TidyGWAS

TidyGWAS GWAS分析关键结果之一是显著性SNP位点的P值&#xff0c;通常多年份多地点多模型的GWAS分析将会产生很多结果文件&#xff0c;如何对这些数据进行整理&#xff1f; 汇总这些结果&#xff0c;并将显著性的位点或区域找出来&#xff0c;更加清晰的展示关键信息。 今天介…

对未来新能源车测试工具的看法

汽车行业正在经历变革的说法算是比较轻描淡写的了&#xff0c;还记得我1983年加入这个行业时&#xff0c;行业聚焦点是引入发动机管理系统。当时还是以家庭掀背车为主的时代&#xff0c;发动机分析仪的体积像衣柜一样大&#xff0c;还没出现“CAN”通信协议。现在经常听到我的导…

python-opencv 人脸检测

python-opencv 人脸检测 代码还使用到了dlib 和face_recognition这两个库&#xff0c;需要安装一下&#xff0c;看一下代码&#xff1a; import face_recognition import cv2# 创建视频捕捉对象 video_capture cv2.VideoCapture(0) print(video_capture.isOpened())# video_…

C#,《小白学程序》第四课:数学计算,总和与平均值

程序是 数据 计算 显示。 1 文本格式 /// <summary> /// 《小白学程序》第四课&#xff1a;数学计算 /// 这节课超级简单&#xff0c;就是计算成绩的平均值&#xff08;平均分&#xff09; /// 这个是老师们经常做的一件事。 /// </summary> /// <param name&…

国自然基金项目的题目确定、立项依据、特色与创新、研究内容 目标等,基金撰写的隐藏技巧

目录 一 基金项目申请要求、重点及项目介绍 二 基金的撰写技巧 三 基金撰写的隐藏技巧 四 范例分析及提交前的自我审查 更多应用 基金项目申请需要进行跨学科的技术融合&#xff0c;申请人需要与不同领域结合&#xff0c;形成多学科交叉的研究。基金项目申请在新时期更加注…