热门标签 | 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.创建两个索引
在这里插入图片描述
在这里插入图片描述
验证:查看到创建的索引
在这里插入图片描述


推荐阅读
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 本文深入探讨了使用Puppet进行软件包分发与管理的方法。首先介绍了fpm这一跨平台的软件包制作工具,其简便的操作流程使得软件包的创建变得轻松快捷。fpm的项目地址为:https://github.com/jordansissel/fpm。通过结合Puppet和fpm,可以实现高效、可靠的软件包管理和部署。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 深入解析Java中HashCode的功能与应用
    本文深入探讨了Java中HashCode的功能与应用。在Java中,HashCode主要用于提高哈希表(如HashMap、HashSet)的性能,通过快速定位对象存储位置,减少碰撞概率。文章详细解析了HashCode的生成机制及其在集合框架中的作用,帮助开发者更好地理解和优化代码。此外,还介绍了如何自定义HashCode方法以满足特定需求,并讨论了常见的实现误区和最佳实践。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 深入解析Spring框架中的双亲委派机制突破方法
    在探讨Spring框架中突破双亲委派机制的方法之前,首先需要了解类加载器的基本概念。类加载器负责将类的全限定名转换为对应的二进制字节流。每个类在被特定的类加载器加载后,其唯一性得到保证。然而,这种机制在某些场景下可能会限制灵活性,因此Spring框架提供了一些策略来突破这一限制,以实现更加动态和灵活的类加载。这些策略不仅能够提升系统的可扩展性,还能在复杂的运行环境中确保类的正确加载和管理。 ... [详细]
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社区 版权所有