首页 » SEO优化 » php集群设置装备摆设技巧_面试官若何快速支配一个Elasticsearch集群

php集群设置装备摆设技巧_面试官若何快速支配一个Elasticsearch集群

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

本日的文章给大家先容下Elasticsearch这一目前在“搜索”和“剖析”领域利用十分广泛的技能组件。
并演示如何快速构建一个Elasticsearch集群。

Elasticsearch概述

php集群设置装备摆设技巧_面试官若何快速支配一个Elasticsearch集群

Elasticsearch是一款非常强大的开源“搜索”及“剖析”引擎。
除了搜索,结合Kibana、Logstash、Beats,以及Elastic Stack的技能生态,Elasticsearch还被广泛利用在大数据实时剖析领域——包括日志剖析(ELK)、指标监控、信息安全等领域。

php集群设置装备摆设技巧_面试官若何快速支配一个Elasticsearch集群
(图片来自网络侵删)

Elasticsearch起源于开源搜索引擎类库Lucene,Elasticsearch的创始人Shay Banon于2004年基于Lucene开拓了“Compass”,并在2010年重写“Compass”项目之后,将其正式命名为“Elasticsearch”。

目前在搜索引擎分类排名中Elasticsearch名列第一,除此之外,同类的产品还有Solor(Apache开源项目)和Splunk(商业项目),它们三者供应的功能非常相似。
但是在程序员开源社区中Elasticsearch的生动度最高。

Elasticsearch的功能特性

Elasticsearchs是一种范例的分布式系统,支持水平扩展。
当数据规模变大的时候,Elasticsearch的集群节点可以从单个扩展到数百个。

Elasticsearch集群还支持设置不同的节点类型。
例如针对日志类的运用可以支持Hot&Warm架构——冷热架构支配。
Elasticsearch的分布式架构如下图所示:

除此之外,Elasticsearch还支持多种办法集成接入。
例如,可以被多种措辞方便的集成(Java、.Net、Python、PHP..);灵巧的RESTful API;最新版本乃至还支持JDBC&ODBC办法的接入。

Elastic Stack家族成员

Elasticsearch之以是如此盛行,除了生动的社区外,很主要的一点就在于其背后还有一个强大的商业公司——Elastic在支撑。
Elastic Stack的生态圈,如下图所示:

接下来分别先容下Elastic Stack各技能组件的用场,详细如下:

Logstash

开源的做事器端数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。
2013年被Elasticsearch收购。

Logstash支持实时解析和转换数据,例如,从IP地址破译出地理坐标,以及将

PII数据匿名化,完备打消敏感字段等。
此外,Logstash还支持插件的扩展办法,目前大约有200多个插件,可以办理日志、数据库等多种场景的实际需求。

其余,Logstash的可靠性及安全性也很高。
Logstash会通过持久化行列步队来担保至少将运行中的事宜投递一次,以及支持数据传输加密。

Kibana

基于Logstash的数据可视化剖析工具。

Beats

轻量的数据采集器,Go措辞开拓,运行速率非常快。
场景的Beats插件有:Filebeat(日志文件插件)、Packetbeat、Heartbeat等。

X-Pack(商业化套件-已开源)

X-Pack开源之后,部分X-Pack功能支持免费利用,例如6.8和7.1版本开始,Security功能可以免费利用。

Elastic Stack运用处景

Elastic Stack技能栈常见的运用处景如下:

(1)搜索场景下的Elasticsearch与数据库的集成

在搜索场景下可以直接独立利用Elasticsearch来存储数据,但对付绝大多数业务系统来说都是用的是传统数据库,以是Elasticsearch实现搜索一样平常选择与数据库集成的方案。
如下图所示:

(2)指标剖析与日志剖析

除了搜索场景外,Elastic Stask还被广泛运用在指标剖析及日志剖析领域。
如下图所示:

通过代码和Beats办法采集数据,并将采集的数据发送至数据缓冲区(例如Kafka,紧张是为了减少Elasticsearch的并发压力),然后通过Logstash完成数据的转换聚合,并将数据存储至Elasticsearch。
末了,就可以利用Kibana或Grafana来可视化查询Elasticsearch中的数据了。

搭建一个Elasticsearch集群

接下来演示支配一个Elasticsearch集群。
步骤如下。

(1)下载Elasticsearch安装包。

从Elastic官网下载最新版本的Elasticsearch的二进制安装包。
命令如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-darwin-x86_64.tar.gz

这里下载的是最新7.14.0的版本,由于是在Mac安装,以是选择的是MacOS版本。
之后,将二进制安装文件解压至做事器指定目录,命令如下:

$ tar zxvf elasticsearch-7.14.0-darwin-x86_64.tar.gz

解压后的安装目录构造解释如下:

修正JVM配置——config/jvm.options。
最新版本会默认根据机器的可用内存自动设置。
配置建议如下:

Xmx和Xms设置成一样。
Xmx不要超过机器内存的50%。
不要超过30GB(2)运行多个Elasticsearch实例的集群。

Elasticsearch可以在多个不同的机器节点运行多个实例,从而组成一个大的集群。
为了下一步学习Elasticsearch集群事情的机制,接下来演示在本地同时启动多个Elasticsearch实例,来组成一个集群。

启动命令如下:

./bin/elasticsearch -E node.name=node0 -E node.master=true -E node.ingest=false -E node.data=false -E cluster.name=mafengwoEs -E http.port=9201 -E path.data=node0_data -d./bin/elasticsearch -E node.name=node1 -E node.master=false -E node.ingest=false -E node.data=true -E cluster.name=mafengwoEs -E http.port=9202 -E path.data=node1_data -d./bin/elasticsearch -E node.name=node3 -E node.master=false -E node.ingest=false -E node.data=false -E cluster.name=mafengwoEs -E http.port=9204 -E path.data=node3_data -d

-E参数用于设定“config/elasticsearch.yml”文件中的参数,在本机不同端口分别启动多个elasticsearch实例,并分别设置不同的节点角色类型。
本机资源有限,只能run 3个节点!

(2)浏览器通过API查看Elasticserach集群节点信息

运行成功后,可以利用浏览器通过API来查看Elasticsearch的集群信息,命令如下:

http://127.0.0.1:9201/_cat/nodes127.0.0.1 47 100 45 15.15 cdfhilmrstw - node1127.0.0.1 11 100 45 15.15 cdfhilmrstw node0127.0.0.1 32 100 45 15.15 cdfhilmrstw - node3127.0.0.1 15 100 45 15.15 cdfhilmrstw - node2

可以看到多个实例的Elasticsearch集群就支配成功了!

安装Kibana可视化界面

接下来安装Kibanka可视化工具,来访问Elasticsearch集群。
步骤如下。

(1)下载Kibana安装包

命令如下:

$ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-darwin-x86_64.tar.gz

下载最新的7.14.0版本的MacOS二进制安装包。
之后解压下载的安装包,命令如下:

$ tar zxvf kibana-7.14.0-darwin-x86_64.tar.gz

(2)编辑conf/kibana.yaml文件,指定elasticsearch集群实例的地址

编辑配置文件,指定Elasticsearch的集群地址,修正的内容如下:

# The URLs of the Elasticsearch instances to use for all your queries.elasticsearch.hosts: ["http://localhost:9204","http://localhost:9201","http://localhost:9203"]

(3)启动Kibana

启动Kibana,命令如下:

$ ./bin/kibana

此时,打开浏览器进入Kibana的首页,如下图所示:

如上图所示,可以向Elasticsearch集群中添加Kibana供应的样例数据。

(4)利用Kibana的“Dev Tools”工具

Kibana的“Dev Tools”工具,能够帮助我们很方便实行一些elasticsearch的API。
如下图所示:

详细的查询命令如下:

#实行查询集群节点状态的API。
get /_cat/nodes/?v

后记

Elasticsearch目前利用得非常广泛,本文只是大略先容了Elasticsearch的基本情形,并大略搭建了一个Elasticsearch的多实例集群。
在后面的文章中,作者将不定期分享一些Elasticsearch的知识及实践。
可以保持关注哦!

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读1 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读1 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0