集群搭建
集群名称:集群内所有node都要保持一致,
节点名称:都不一样
http端口号,如果集群在同一台服务器上,要区分开,否则,可以一样
1.主和副本不能放到一起
2.分布均匀
3.主分片存储数据,副本备份数据
4.路由计算
分片控制:用户可以访问任何一个节点获取数据,这个节点称之为协调节点
node1001 P0 R1 R2
node1002 RO P1 R2
node1003 R0 R1 P2
路由计算: hash(id)% 主分片数量=【0,1,2】
集群配置
#修改elasticsearch.yml
cluster.name: my-application
node.name: node-1001
http.port: 1001
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
#第一台机器不用配置服务发现配置
#除了node1,其余节点都要配置集群发现配置
discovery.seed_hosts: ["localhost:9301"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
集群状态检查
#查看集群健康状态
127.0.0.1:1001/_cluster/health
#查看集群信息
127.0.0.1:1002/_cat/nodes
#查看集群详细信息
127.0.0.1:1002/_cat/nodes?v
设置副本数量
127.0.0.1:9200/order/_settings #put
{
"number_of_replicas": 2
}
es中支持的类型如下:
类型 | 表示的数据类型 |
String | string,text,keyword |
Whole number | byte,short,integer,long |
Floating point | float,double |
Boolean | boolean |
Date | date |
注:es高版本只有text,keyword两种类型