ElasticSearch
2022-03-01 11:24:16 17 举报
AI智能生成
登录查看完整内容
es知识点
作者其他创作
大纲/内容
概念:高效的分布式的全文搜索引擎
基于 luence 工具包开发
文档 -> 关键字
正排索引
倒排索引一旦创建就无法更改
关键字 -> 文档
倒排索引
1.安装简单
2.es对于处理日志具有很好的效果
3.支持分布式存储,更好的扩展分区
4.除了搜索文档,还支持处理分析数据
和 solr 相比的优势
1.是什么
lib 相关jar包
config 配置文件
bin 可执行文件
jdk es自带的jdk,如果没有配置$JAVA_HOME,则会使用它
modules 模块相关
plugins 插件相关
logs 日志文件
目录结构
1.上传解压
cluster.name
data.path
log.path
http.port
transport.port
network.host
cluster.initial_master_nodes
2.修改配置文件 elasticsearch.yml
3.授权非root用户
4.后台启动 ./bin/elasticsearch -d
安装流程
2.单机版安装
cluster 集群,多个es节点,共同组成一个集群
node 节点,一个es服务就是一个节点
index 索引 mysql#db
5.x 支持多个
6.x 支持一个
7.x 只支持_doc
type 类型 mysql#table
document 文档 mysql#row
field 属性 mysql#column
mapping 映射 mysql表结构
一个分片就是一个 luence 索引
shards 分片
replicas 副本
相关概念
luence 将一个大的倒排索引维护成多个 segment,每个 segment 本质上就是一个倒排索引
segment 块
记录当前所有可用的 segment,在 commit point上搜索的时候,在可用的 segment 搜索,将结果汇总返回给用户
commit point 提交点
https://blog.csdn.net/weixin_33748818/article/details/91931945
luence
写/删/改流程都由主分片来操作,所有的副本分片只用来读数据
请求可以发送到任一的一个节点上,每个节点都由能力处理每个请求。每个节点都知道任何文档的位置,可以直接将请求发送到需要的节点上,这种转发节点就叫作协调节点。
协调节点
hash(routing) % shards_size 对文件的_id或者指定数进行hash计算,然后对分片数取模
文档的位置规则
架构
读流程
写流程
节点之间通过这个RPC来发现彼此
Ping
单播模块提供一个主机模块需要哪些主机可以ping通
Unicast
es集群的选举是由ZenDiscovery模块负责的,主要包含Ping和Unicast这两部分,对所有可以成为master的节点根据nodeId字典排序,每次选举每个节点都把自己知道的所有节点排序,然后选出第一个节点,暂定认为它是master节点。如果对某个节点的投票数达到一个的值,master节点数n/2 + 1,那么该节点就是master节点,否则重新选举,直到满足该条件
选举流程
3.架构
http api
java api
4.API操作
5.集群版安装
1.控制每个分片占用硬盘容量不超过ES最大JVM堆空间设置,一般不超过32G
2.一般分片数不超过节点数的3倍
3.节点数 <= 主分片数 * (副本数 + 1)
4.内存推荐大小31G
6.调优
ElasticSearch
收藏
0 条评论
回复 删除
下一页