ElasticSearch:智能搜索,分布式的搜索引擎,是ELK的一个组成,是一个产品,而且是非常完善的产品,ELK代表的是:E就是ElasticSearch,L就是Logstach,K就是kibana
E:EalsticSearch 搜索和分析的功能
L:Logstach 搜集数据的功能,类似于flume(使用方法几乎跟flume一模一样),是日志收集系统
K:Kibana 数据可视化(分析),可以用图表的方式来去展示,文不如表,表不如图,是数据可视化平台
2.ES的优点1.分布式的功能
2、数据高可用,集群高可用
3.API更简单
4.API更高级。
5.支持的语言很多
6.支持PB级别的数据
7.完成搜索的功能和分析功能
基于Lucene,隐藏了Lucene的复杂性,提供简单的API
ES的性能比Hbase高,咱们的竞价引擎最后还是要存到ES中的。
3.ES的作用1)全文检索:
类似 select * from product where product_name like '%牙膏%'
类似百度效果(电商搜索的效果)
2)结构化搜索:
类似 select * from product where product_id = '1'
3)数据分析
类似 select count (*) from product
4.ES的核心概念 4.1 NRT(Near Realtime)近实时 4.2 cluster集群,ES是一个分布式的系统ES直接解压不需要配置就可以使用,在hadoop1上解压一个ES,在hadoop2上解压了一个ES,接下来把这两个ES启动起来。他们就构成了一个集群。
在ES里面默认有一个配置,clustername 默认值就是ElasticSearch,如果这个值是一样的就属于同一个集群,不一样的值就是不一样的集群。
4.3 index 索引(索引库)我们为什么使用ES?因为想把数据存进去,然后再查询出来。
我们在使用Mysql或者Oracle的时候,为了区分数据,我们会建立不同的数据库,库下面还有表的。
其实ES功能就像一个关系型数据库,在这个数据库我们可以往里面添加数据,查询数据。
ES中的索引非传统索引的含义,ES中的索引是存放数据的地方,是ES中的一个概念词汇
index类似于我们Mysql里面的一个数据库 create database user; 好比就是一个索引库
总结:在默认情况下,我们创建一个库的时候,默认会帮我们创建5个主分片(primary shrad)和5个副分片(replica shard),所以说正常情况下是有10个分片的。
同一个节点上面,副本和主分片是一定不会在一台机器上面的,就是拥有相同数据的分片,是不会在同一个节点上面的。
所以当你有一个节点的时候,这个分片是不会把副本存在这仅有的一个节点上的,当你新加入了一台节点,ES会自动的给你在新机器上创建一个之前分片的副本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)