1、集群架构
一主两从架构
2、修改配置项
⑴ 修改主机配置
① cluster.name: ???
集群名称
② node.name: ???
节点名称
③ node.master: true
这是主机
④ network.host: ?.?.?.?
服务地址
⑤ http.port: ???
服务端口号
⑵ 修改从机配置
① cluster.name: ???
集群名称,注意要和主机的一样
② node.name: ???
节点名称
③ discovery.zen.ping.unicast.hosts: [“?.?.?.?”]
这里填写主机的服务地址,用于找到主机
④ network.host: ?.?.?.?
服务地址
⑤ http.port: ???
服务端口号
3、JVM参数的修改
如果JVM的内存不足,则启动ES时会报错:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x???, ???, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map ??? bytes for committing reserved memory.
修改config/jvm.options下的
-Xms1g 为 -Xms512M
-Xmx1g 为 -Xms512M
4、启动
首先启动主机,再启动从机
5、查看集群状态
⑴ 简单模式
http://ES服务地址:端口号/_cat/nodes
Tips:这里的ES服务可以是主机,也可以从机
⑵ 完整模式
http://ES服务地址:端口号/_cat/nodes?v
即在简单模式的URL后面加上了 “?v”
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
???.???.???.??? ?? ?? ? ?.?? 0.?? 0.?? mdi * master
???.???.???.??? ?? ?? ? ?.?? 0.?? 0.?? mdi - slaver-1
???.???.???.??? ?? ?? ? ?.?? 0.?? 0.?? mdi - slaver-2
可以看到ES服务的ip,内存、CPU的使用情况,以及集群名称,谁是主机【master列标为* 的即主机;- 表示从机】
⑶ JSON格式
http://ES服务地址:端口号/_cluster/stats
响应内容:
{
"_nodes": {
"total": 总节点个数,
"successful": 成功启动的节点个数,
"failed": 0
},
"cluster_name": "集群名称",
"timestamp": 集群启动时的毫秒数,
"status": "green",
"indices": {},
"nodes": {}
}
可以看到总节点个数,成功启动的节点个数,集群名称,集群启动时的毫秒数以及当前的服务状态(集群健康值)
Tips:集群健康值分为:green(健康)、yellow(良好)和red(差)