Ich habe Sturm auf 2 Maschinen laufen.Warum meldet netstat weniger offene Ports als lsof
Jede Maschine läuft Nimbus-Prozess (Phantasie für Master-Prozess) und Worker-Prozesse.
Und ich wollte die Kommunikation zwischen ihnen sehen - welche Ports offen sind und wie sie miteinander verbunden sind.
$ netstat -tulpn | grep -w 10669
tcp 0 0 :::6700 :::* LISTEN 10669/java
udp 0 0 :::42405 :::* 10669/java
$ lsof -i :6700
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 10669 storm 25u IPv6 57830 0t0 TCP host1:50778->host2:6700 (ESTABLISHED)
java 10669 storm 26u IPv6 57831 0t0 TCP host1:6700->host2:57339 (ESTABLISHED)
java 10669 storm 29u IPv6 57843 0t0 TCP host1:6700->host1:50847 (ESTABLISHED)
java 10669 storm 53u IPv6 57811 0t0 TCP *:6700 (LISTEN)
java 10681 storm 53u IPv6 57841 0t0 TCP host1:50780->host2:6700 (ESTABLISHED)
java 10681 storm 54u IPv6 57842 0t0 TCP host1:50847->host1:6700 (ESTABLISHED)
Was ich nicht aus der obigen Ausgabe verstehen ist, warum netstat nicht Port 50778 zeigen 10669 offen in den Prozess mit PID = wo, wie lsof
zeigt deutlich, dass der gleiche Prozess eine hergestellte Verbindung als host1:50778->host2:6700
hat
Weil Sie Äpfel und Orangen sind zu vergleichen. Probiere 'netstat -tulpn | grep -w 6700'. – EJP
'netstat -tulpn | grep -w 6700' hat nur eine Zeile für 6700 zurückgegeben. Ich sehe Port 50778 immer noch nicht. Wenn es für Sie offensichtlich ist, erklären Sie bitte dasselbe in einer Antwort. Andere haben möglicherweise nicht die gleiche Erfahrung oder das gleiche Wissen wie Sie und würden von Ihrer Antwort profitieren. – user2250246