先说一说ElasticSearch + Kibana + logstash的描述和安装方法

本文深入浅出地介绍了Elasticsearch,一种基于Lucene的分布式全文搜索引擎,以及其在大数据场景下的应用优势。对比传统数据库,Elasticsearch在海量数据检索、全文搜索方面表现卓越,适用于实时搜索需求。文章还提供了安装指南,包括Elasticsearch和Kibana的下载与配置步骤。

ElasticSearch是个啥玩意:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

这么官方的解释肯定是来自百度百科了,我发现了百度百科最喜欢的就是有话不好好说,简而言之,它是一种流行的企业级搜索引擎。

ElasticSearch能干啥?在什么场景下使用?

上述都说了它是一种流行的企业级搜索引擎,那肯定一般都是用于搜索、查询使用了。传统项目下,当系统数据已到达上亿级别,我们在做系统架构的时候避免不了就是大数据导致查询的效率低下,就算加了索引,一样会有些场景导致索引失效导致全表扫描,像sql中使用模糊查询like,而模糊查询的需求在现在来说是使用最多的,那再去使用传统的查询语句,查询速度让你怀疑人生。这时可能又有人站起来说了,我不服,我分库分表,读写分离,写缓存,一样可以提高查询速度,一样可以实现需求。这位同学你先坐下,你说的都对,现在确实也有很多公司是这么做的,没毛病,但是有更好的实现方案和技术,你不想try try嘛?

传统方案实现

当系统数据量达到了亿级别或者更多,我们在做系统架构时就要考虑到以下几个问题:

1)使用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…) 
2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ) 
3)如何保证数据安全性;(热备、冷备、异地多活) 
4)如何解决检索难题;(数据库代理中间件:mysql-proxy、Cobar、MaxScale等;) 
5)如何解决统计分析问题;(离线、近实时)

一个产品,用户能够接收从请求到返回数据,也就是打开页面到看到数据,最大忍耐时间<=1s,你如果一个项目,因为数据量特别大在查询一个信息时候,搞到5-8s,那你赶紧关服吧,不然也会被骂死。

Elasticsearch 和 传统关系型数据库的对比

来看一下两者的区别:

对比

ElasticSearch是一款分布式全文检索框架,底层基于Lucene实现。

ElasticSearch 使用 JSON 格式存储数据,属于文档存储

遍历方式上:

ES有分片的概念,一个大的索引会被分成多个分片来进行存储数据,使用分布式的架构对分片进行并行搜索(基于倒排)

传统数据库的遍历,属于正向全表扫描

数据存储结构:

ES采用倒排索引,传统数据库采用B+树索引

倒排索引:

对文本进行分词处理,记录单词,词频,文本id等信息,搜索时基于内容(根据单词和词频词向量等来计算评分)来找文本id

B+树索:

一种树的数据结构,存储时会根据内容生成一个数节点,搜索时时跟据节点id来查找内容数据结构,存储时会根据内容生成一个数节点,搜索时时跟据节点id来查找内容

特别注意:

1.ES没有事务的概念,不支持事务回滚,无法恢复删除的数据

2.在面对大数据量简单计算的时候es的效率原高于mysql等传统数据库,但是在定位某一个唯一值(如用会员id找会员)时并不需要es,但在大数据的相似计算与查找或简单计算时,es的分布式并行计算有绝对的优势

Elasticsearch + Kibana介绍

  • Elasticsearch 

    Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

    可扩展性:原型环境和生产环境可无缝切换;无论 Elasticsearch 是在一个节点上运行,还是在一个包含 300 节点的集群上运行,您都能够以相同的方式与 Elasticsearch 进行通信。

    速度:而且由于每个数据都被编入了索引,因此您再也不用因为某些数据没有索引而烦心。您可以用快到令人发指的速度使用和访问您的所有数据。

  • Kibana

    Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。

    可视化与探索:Kibana 让您能够自由地选择如何呈现您的数据。或许您一开始并不知道自己想要什么。不过借助 Kibana 的交互式可视化,您可以先从一个问题出发,看看能够从中发现些什么。

    多配件:Kibana 核心搭载了一批经典功能:柱状图、线状图、饼图、环形图,等等。它们充分利用了 Elasticsearch 的聚合功能。


好了。废话说了一大堆,从实战中找到真理吧。

先去官网下载所需要的包:https://www.elastic.co/cn/products/elasticsearch

公司限制https站点网络,本博主在下载的时候差点脑血栓爆发。。。。。苦不堪言。。。。

下载前认认真真的说一句,一定要下版本一样的包,否则会因为版本问题导致你想不到的错误,博主亲身体会。。

 

Elasticsearch + Kibana下载安装 

 

 

根据你的操作系统下相应的包,解压安装就可以了,切记 Elasticsearch + Kibana一定要下版本一样的包。。。。。

先启动Elasticsearch 再启动Kibana

elasticsearch-6.7.2解压完成,启动bin下elasticsearch.bat 就可以了,同样的操作启动Kibana,然后打开浏览器,输入地址,看到下图内容表示安装成功,so easy吧~

Kibana启动成功是这个样子

 浏览器输入:http://localhost:5601/app/kibana,kibana的管理页面

我们只需要这个   Dev Tools

 Logstash安装:

概念:是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。简而言之,就是把关系型数据库的数据通过logstash进行传输到ElasticSearch中,从而来进行数据同步。

 

 注意,logstash安装完毕暂时先不用启动,下一篇继续讲解,由于安装和使用篇幅过长,分两批来说,此篇只讲安装。

咱们下一篇见~~~~~~

本项目采用C++编程语言结合ROS框架构建了完整的双机械臂控制系统,实现了Gazebo仿真环境下的协同运动模拟,并完成了两台实体UR10工业机器人的联动控制。该毕业设计在答辩环节获得98分的优异成绩,所有程序代码均通过系统性调试验证,保证可直接部署运行。 系统架构包含三个核心模块:基于ROS通信架构的双臂协调控制器、Gazebo物理引擎下的动力学仿真环境、以及真实UR10机器人的硬件接口层。在仿真验证阶段,开发了双臂碰撞检测算法轨迹规划模块,通过ROS控制包实现了末端执行器的同步轨迹跟踪。硬件集成方面,建立了基于TCP/IP协议的实时通信链路,解决了双机数据同步运动指令分发等关键技术问题。 本资源适用于自动化、机械电子、人工智能等专业方向的课程实践,可作为高年级课程设计、毕业课题的重要参考案例。系统采用模块化设计理念,控制核心与硬件接口分离架构便于功能扩展,具备工程实践能力的学习者可在现有框架基础上进行二次开发,例如集成视觉感知模块或优化运动规划算法。 项目文档详细记录了环境配置流程、参数调试方法实验验证数据,特别说明了双机协同作业时的时序同步解决方案。所有功能模块均提供完整的API接口说明,便于使用者快速理解系统架构并进行定制化修改。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值