1.基本核心概念
node.master: true
node.data: true
node.master: false
node.data: true
node.master: false
node.data: false
2.集群的搭建
#集群名称
cluster.name: my-application
#节点名称
node.name: node-1
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最⼤集群节点数
node.max_local_storage_nodes: 3
#⽹关地址
network.host: 0.0.0.0
#端⼝
http.port: 9200
#内部节点之间沟通端⼝
transport.tcp.port: 9300
#es7.x 之后新增的配置,写⼊候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["localhost:9300","localhost:9400","localhost:9500"]
#es7.x 之后新增的配置,初始化⼀个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#数据和存储路径
path.data: /Users/louis.chen/Documents/study/search/storage/a/data
path.logs: /Users/louis.chen/Documents/study/search/storage/a/logs
3.es集群索引分⽚管理
PUT nba
{"mappings":{"properties":{"birthDay":{"type":"date"},"birthDayStr":
{"type":"keyword"},"age":{"type":"integer"},"code":
{"type":"text"},"country":{"type":"text"},"countryEn":
{"type":"text"},"displayAffiliation":{"type":"text"},"displayName":
{"type":"text"},"displayNameEn":{"type":"text"},"draft":
{"type":"long"},"heightValue":{"type":"float"},"jerseyNo":
{"type":"text"},"playYear":{"type":"long"},"playerId":
{"type":"keyword"},"position":{"type":"text"},"schoolType":
{"type":"text"},"teamCity":{"type":"text"},"teamCityEn":
{"type":"text"},"teamConference":{"type":"keyword"},"teamConferenceEn":
{"type":"keyword"},"teamName":{"type":"keyword"},"teamNameEn":
{"type":"keyword"},"weight":{"type":"text"}}}}
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
PUT nba
{"settings":{"number_of_shards":3,"number_of_replicas":1},"mappings":
{"properties":{"birthDay":{"type":"date"},"birthDayStr":
{"type":"keyword"},"age":{"type":"integer"},"code":
{"type":"text"},"country":{"type":"text"},"countryEn":
{"type":"text"},"displayAffiliation":{"type":"text"},"displayName":
{"type":"text"},"displayNameEn":{"type":"text"},"draft":
{"type":"long"},"heightValue":{"type":"float"},"jerseyNo":
{"type":"text"},"playYear":{"type":"long"},"playerId":
{"type":"keyword"},"position":{"type":"text"},"schoolType":
{"type":"text"},"teamCity":{"type":"text"},"teamCityEn":
{"type":"text"},"teamConference":
{"type":"keyword"},"teamConferenceEn":{"type":"keyword"},"teamName":
{"type":"keyword"},"teamNameEn":{"type":"keyword"},"weight":
{"type":"text"}}}}
POST /_cluster/reroute
{
"commands": [{
"move": {
"index": "nba",
"shard": 2,
"from_node": "node-1",
"to_node": "node-3"
}
}]
}
PUT /nba/_settings
{
"number_of_replicas": 2
}
4.玩转es集群健康管理
status :集群的状态,red红表示集群不可⽤,有故障。yellow⻩表示集群不可靠但可⽤,
⼀般单节点时就是此状态。green正常状态,表示集群⼀切正常。
node.total :节点数,这⾥是3,表示该集群有三个节点。
node.data :数据节点数,存储数据的节点数,这⾥是3。
shards :表示我们把数据分成多少块存储。
pri :主分⽚数,primary shards
active_shards_percent :激活的分⽚百分⽐,这⾥可以理解为加载的数据分⽚数,只有加
载所有的分⽚数,集群才算正常启动,在启动的过程中,如果我们不断刷新这个⻚⾯,我们会发
现这个百分⽐会不断加⼤。
health : 索引健康,green为正常,yellow表示索引不可靠(单节点),red索引不可⽤。
与集群健康状态⼀致。
status : 状态表明索引是否打开,只索引是可以关闭的。
index : 索引的名称
uuid : 索引内部分配的名称,索引的唯⼀表示
pri : 集群的主分⽚数量
docs.count : 这⾥统计了⽂档的数量。
docs.deleted : 这⾥统计了被删除⽂档的数量。
store.size : 索引的存储的总容量
pri.store.size : 主分别的容量
shards : 该节点的分⽚数量
disk.indices : 该节点中所有索引在该磁盘所点的空间。
disk.used : 该节点已经使⽤的磁盘容量
disk.avail : 该节点可以使⽤的磁盘容量
disk.total : 该节点的磁盘容量
ip : ip地址
heap.percent : 堆内存使⽤情况
ram.percent : 运⾏内存使⽤情况
cpu : cpu使⽤情况
master : 是否是主节点