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


推荐阅读
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
    收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 字节跳动夏季招聘面试经验分享
    本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ... [详细]
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 本文介绍了Elasticsearch的基本概念,包括集群、节点、分片和副本的定义,并详细解释了如何执行文档和索引的CRUD操作。同时,文章还探讨了Elasticsearch与传统关系型数据库MySQL之间的对应关系,以及倒排索引的工作原理。 ... [详细]
  • 本文探讨了如何将Hibernate Search 6(当前为Beta版)与Elasticsearch成功集成,特别是当遇到特定错误时的解决方案。 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 理解UML的重要性及其应用
    探讨为什么大多数开发人员难以成为架构师,介绍从现实世界到业务模型的抽象过程,并详细解释UML在软件设计中的关键作用。 ... [详细]
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社区 版权所有