当我用curl在es中获取节点stat时,响应为;
curl -XGET 'http://localhost:9200/_nodes/stats/network?human&pretty'
{
"cluster_name" : "elasticsearch",
"nodes" : {
"XpAeeHs6Q7WxycqJBOShfA" : {
"timestamp" : 1411385146836,
"name" : "Ape-X",
"transport_address" : "inet[/192.168.0.149:9300]",
"host" : "test",
"ip" : [ "inet[/192.168.0.149:9300]", "NONE" ],
"network" : {
"tcp" : {
"active_opens" : 93920,
"passive_opens" : 39,
"curr_estab" : 62,
"in_segs" : 7053825,
"out_segs" : 4536915,
"retrans_segs" : 4948,
"estab_resets" : 1572,
"attempt_fails" : 523,
"in_errs" : 708,
"out_rsts" : 48488
}
}
}
}
}
我用"netstat-anlp"命令检查了它。没有连接到9200或9500个端口。然而,"curr_estab"是62。"curr_estab"是否显示当前建立的网络?我在文档中查找了参数"active_opens"、"passive_opens"one_answers"curr_estab",但没有找到。这些参数在弹性搜索中代表什么?
主动和被动OPEN
TCP/IP基于客户端/服务器操作模型,TCP连接设置也基于这些角色的存在。客户端和服务器分别通过执行OPEN操作为连接做准备。然而,有两种不同类型的OPEN:
主动打开:使用TCP的客户端进程扮演"主动角色",并通过实际发送TCP消息来启动连接(SYN消息)来启动连接。
被动打开:然而,设计用于使用TCP的服务器进程采用了更"悠闲"的方法。它通过联系TCP并说"我在这里,我正在等待可能希望与我交谈的客户端通过以下端口号向我发送消息"来执行被动OPEN。OPEN被称为被动,因为除了指示进程正在侦听之外,服务器进程什么也不做。
被动OPEN实际上可以指定服务器正在等待来自特定客户端的主动OPEN,尽管并非所有TCP/IP API都支持此功能。更常见的情况是,服务器进程愿意接受来自所有参与者的连接。这种被动的OPEN据说是未指明的。