es工作原理及如何构建集群

搜索引擎与MySQL

mysql搜索一个词 %查询条件%
es:天然的分布式 api对外接口,提供数据写入(java写的占用内存大)
solr: api接口对外,
sphinx: 基于sql的全文检索

es安装

docker镜像

docker pull elasticsearch:7.6.1

es配置 elasticsearch.yml

#es集群名称
cluster.name:elasticsearch-cluster
#节点名称
node.name:es-master-10
#
network.host:0.0.0.0
#es部署在对应服务器的ip
network.publish_host:180.200.7.10

http.port:9200
transport.tcp.port:9300
http.cors.enabled:true
http.cors.allow-origin:"*"
#标识为是否可以成为主节点
node.master:true
node.data:true
#集群间的节点信息(每个es节点至少需要200M内存)
discovery.zen.ping.unicast.hosts:
["180.200.7.10:9300","180.200.7.11:9300","180.200.7.12:9300"]
discovery.zen.minimum_master_nodes:1
#初始化的时候确定  节点对象是谁
cluster.initial_master_nodes:es-master-10

docker-compose.yml

environment:
  "ES_JAVA_OPTS=-Xms512m -Xmx512m"

每个es节点200M内存

es机制

  1. 分片结构:这个索引一共有6个分片,3个shard分片集,每个shard有1个replica副本集,所有一个就有6个分片集,es是基于Lucene内核的,这6个分片集,就是Lucene内核
  2. 分片分布:3个shard会自动分布在3台服务器上,每台服务器上分布的分片数量是一样多,这个均衡分布式es内部机制完成的,shard对应的replica是不会在同一台机器上面的,shard1是不可能和replica1放在一台机器上的,这样一台机器崩溃了,还有备胎在其他机器上
  3. 主从节点,es-node1为master节点,es-node2和es-node3为从节点,主节点负责管理,集群范围内的所有变更,例如增加,删除索引,或者增加,删除节点等,但是主节点并不处理文档级别的增删改查。

如果有三个节点,有一个几点挂了,任意两个节点的数据组合起来是完整的。

es增删改查

持续更新~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr.杰瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值