ES集群安装

配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#集群名称
cluster.name: fo-es
#节点名称
node.name: fo-node-1
node.data: true
#存储路径
path.data: /data/es/
#监听地址
network.host: 10.28.99.158
http.port: 9200
#发现地址
discovery.zen.ping.unicast.hosts: ["10.28.99.158", "10.28.93.13","10.81.130.236"]
#如果要使用head,那么需要增加新的参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
#CenteOS需要加入以下配置
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

其他节点需要修改的地方

1
2
node.name
network.host

然后依次启动即可

解析

node-master主节点
集群中用于元数据(metadata)的请求处理,比如确定分片位置,索引的新增、删除请求分配等

node
包括client node和 data node

  1. client node node.master=true,node.data=false 用于转发请求,起到平衡负载的作用
  2. data node node.master=flase,node.data=true

    节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源
    shards 分片
    在设置索引时默认(5)或自己设置的分片数量,即indices(1)–shards(n),而每插入一条数据都会在唯一主分片中,即Document(n)–shards(1)

replicas 复制分片
同样在设置索引时会默认(1)或自定义复制分片数量,该数量对应关系为每个主分片对应的复制分片,即shards(1)–replicas(n)

查看集群状态

1
2
3
curl -X GET "10.28.99.158:9200/_cat/health?v"
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1535006625 14:43:45 fo-es green 3 3 794 397 0 0 0 0 - 100.0%
1
2
3
4
5
curl -X GET "10.28.99.158:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.28.93.13 50 93 7 0.09 0.11 0.09 mdi - fo-node-2
10.81.130.236 35 95 6 0.06 0.06 0.23 mdi - fo-node-3
10.28.99.158 63 98 3 0.20 0.27 0.36 mdi * fo-node-1

参考

https://www.jianshu.com/p/149a8da90bbc
https://blog.csdn.net/cb2474600377/article/details/78274562

坚持原创技术分享,您的支持将鼓励我继续创作!