1. 程式人生 > >使用sed獲取本機正在監聽的埠

使用sed獲取本機正在監聽的埠

今天依舊還是被SolrCloud給折磨著,Flume和Solr的表配置已經配置完畢,就是上傳不到zookeeper,一直顯示zookeeper超時連線,但是所有的配置已經按照文件上的寫好,為嘛不行呢?可是眼尖的我發現zookeeper的埠是5181,我記得預設的是2181,難道是為了安全配置成其他的了?但是我還是想看看5181這個埠是否在監聽,於是想起學習Linux的時候做過一個例子,大家請看下面的sed命令顯示當前主機監聽的埠:

sed版本的:

netstat -ntlp |sed  -n '/^tcp/{G;s/.*:\([0-9]\+\).*\n/\1,/;h;g;$s/,$//p}'

執行結果:

[[email protected]
bin]# netstat -ntlp |sed -n '/^tcp/{G;s/.*:\([0-9]\+\).*\n/\1,/;h;g;$s/,$//p}' 8009,60487,2181,22,8085,8080,3888,9999,8485,5666,8480,22,21,8019,20050

大家看到,的確zookeeper的埠是2181,好嘞,裡面修改命令,執行:

java -classpath .:/home/hadooper/solr/tomcat-7.0.53/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.132.253:2181/solr  -confdir /home/hadooper/solr/configs/PCLoginLog/  -confname pcloginlog

OK,終於執行成功!