热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优秀到卓越就差比他更快搭建elk集群架构上篇

工作原理开源分布式搜索引擎,特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制
工作原理

在这里插入图片描述

开源分布式搜索引擎,特点有:分布式,零配置,自动发现,索引自动分片,
索引副本机制,restful 风格接口,多数据源,自动搜索负载等

官方网站:
https://www.elastic.co

中文社区:
https://elasticsearch.cn

官方参考文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/setup-configuration-memory.html

下载地址:
https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/
elasticsearch-6.6.0.rpm
filebeat-6.6.0-x86_64.rpm
kibana-6.6.0-x86_64.rpm
logstash-6.6.0.rpm



案例
节点名称IP
elastic1192.168.2.130
elastic2192.168.2.135
elastic3192.168.2.136

环境:虚拟环境,关闭防火墙、setenforce 宽容模式,保障能互相ping通,必须有jdk-1.8.0及以上环境

步骤:
1、 安装elasticsearch
检查Java环境:
在这里插入图片描述
安装(提前下载好,上传到服务器)
在这里插入图片描述
2、 elasticsearch目录和文件简介:

/etc/elasticsearch/elasticsearch.yml #配置文件
/etc/elasticsearch/jvm.options #java虚拟机
/etc/init.d/elasticsearch #服务启动脚本
/etc/sysconfig/elasticsearch #elasticsearch服务变量
/usr/lib/sysctl.d/elasticsearch.conf #设置elasticsearch用户使用的内存大小
/usr/lib/systemd/system/elasticsearch.service #添加系统服务文件
/var/log/elasticsearch/elasticsearch.log #日志文件路径

3、 修改配置文件:更改以下行内容
vim /etc/elasticsearch/elasticsearch.yml
请添加图片描述

4、 创建数据目录,并修改权限
在这里插入图片描述
5、分配锁定内存:
vim /etc/elasticsearch/jvm.options
请添加图片描述
6.修改锁定内存后,无法重启,解决方法如下:
systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

重载内核:
systemctl daemon-reload

启动elasticsearch服务:需要多等一会
systemctl start elasticsearch
查看到服务端口号:
在这里插入图片描述
7.查看单主机
访问:http://192.168.2.130:9200/
在这里插入图片描述
(1)查看群集健康状态
http://192.168.2.130:9200/_cluster/health?pretty
在这里插入图片描述
(2)查看整个群集状态信息
http://192.168.2.130:9200/_cluster/state?pretty

(3)统计群集节点
curl -XGET ‘192.168.2.130:9200/_cat/nodes?human&pretty’

(4)查看群集所有节点详细信息
curl -XGET ‘192.168.2.130:9200/_nodes/_all/info/jvm.process?human&pretty’

8.下载es-head插件

https://github.com/mobz/elasticsearch-head
下载后,解压,复制crx目录下es-head.crx到桌面
改名es-head.crx为es-head.crx.zip
解压es-head.crx.zip到es-head.crx目录,把目录es-head.crx,上传到浏览器,方法:右上角管理扩展-开发人员模式–直接拉到页面,已安装的扩展能看到它(右上角多了个放大镜人形图标)

在这里插入图片描述

在这里插入图片描述
把localhost改成elastic节点ip点击连接,就会有集群概览,集群健康值
在这里插入图片描述
elasticsearch群集:

状态颜色:灰色:未连接绿色:数据完整态黄色:副本不完整红色:数据分片不完整紫色:数据分片复制过程
群集主机角色:主节点master:负责管理调度工作节点: 负责处理数据默认情况,所有节点都是工作节点,即主节点也处理数据



添加第二台主机

往群集中添加第二台主机:192.168.2.135

1.安装es,步骤参考第一台,注意配置文件修改和第一台稍有不同

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-2
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.2.135,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.2.130”, “192.168.2.135”]
discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1

2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch
chown -R elasticsearch.elasticsearch /data/elasticsearch/

3.分配锁定内存:

vim /etc/elasticsearch/jvm.options
-Xms1g #分配最小内存
-Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

systemctl daemon-reload
systemctl start elasticsearch



添加第三台主机

往群集中添加第三台主机:192.168.2.136

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-3
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.2.136,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.2.130”, “192.168.2.136”]
discovery.zen.minimum_master_nodes: 2

2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch
chown -R elasticsearch.elasticsearch /data/elasticsearch/

3.分配锁定内存:

vim /etc/elasticsearch/jvm.options
-Xms1g #分配最小内存
-Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

systemctl daemon-reload
systemctl start elasticsearch

5.创建索引index1时,修改分片为3和副本数为2

curl -X PUT 192.168.2.130:9200/index1 -H ‘Content-Type: application/json’ -d ‘{
“settings” : {
“index” : {
“number_of_shards” : 3,
“number_of_replicas” : 2
}
}
}’

6.针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1

curl -X PUT ‘192.168.2.130:9200/index1/_settings?pretty’ -H ‘Content-Type: application/json’ -d ‘{
“settings”: {
“number_of_replicas”: “1”
}
}’
7.创建两个索引
在这里插入图片描述
在这里插入图片描述
验证:查看到创建的索引
在这里插入图片描述


推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 构建Filebeat-Kafka-Logstash-ElasticSearch-Kibana日志收集体系
    本文介绍了如何使用Filebeat、Kafka、Logstash、ElasticSearch和Kibana构建一个高效、可扩展的日志收集与分析系统。各组件分别承担不同的职责,确保日志数据能够被有效收集、处理、存储及可视化。 ... [详细]
  • 本文探讨了如何将Hibernate Search 6(当前为Beta版)与Elasticsearch成功集成,特别是当遇到特定错误时的解决方案。 ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 前言叨逼叨iOS上传文件,可能有很多第三方的框架之类的,比如AFN或者Alamofire之类的框架,但是今天要谈论的是原生的API是如何进行文件上传。兵 ... [详细]
  • 本文介绍了Elasticsearch (ES),这是一个基于Java开发的开源全文搜索引擎。ES通过JSON接口提供服务,支持分布式集群管理和索引功能,特别适合大规模数据的快速搜索与分析。 ... [详细]
  • 运用DDD分层架构优化微服务代码设计
    在微服务实施过程中,确定合理的代码结构至关重要。本文探讨了如何利用领域驱动设计(DDD)的分层架构来优化微服务的代码模型,确保系统的可维护性和扩展性。 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
author-avatar
涂凌萱_TLX_9s7_140
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有