在网络中,每个数据传输的端口是一个非常重要的点,有的组件会有端口冲突的问题,所以弄清楚每个组件的相关端口非常重要
Nginx
对于Nginx的简单使用,我们可以看nginx/conf/nginx.conf
文件里的配置
## 配置大概格式
http{
...
server{
listen 80; ## default
...
}
...
}
或者我们可以用
ps -ef | grep nginx ## 查看nginx运行状态
netstat -anp | grep 'pid' ## 查看进程对应端口号
我们能看到nginx所在的端口号也是80,并且状态是listen,这里的意思就是如果我们传数据给ip_address:80
那么就能被Nginx给监听到并且会做出相应的处理
Kafka和Zookeeper
Kafka
Kafka的配置文件都在kafka/config/server.properties
...
port=9092
...
## Kafka的高可用是连接zookeeper来实现的
zookeeper.connect=192.168.123.102:2181,192.168.123.103:2181,192.168.123.104:2181
...
在上面的配置文件中我们可以看到,Kafka是运行在9092端口上的,而因为Kafka要连接Zookeeper进行管理,所以zookeeper.connect其实是要自己配置的,而这里对应的2181端口就是Zookeeper的默认端口号
Zookeeper
打开zookeeper/conf/zoo.cfg
我们可以看到几个配置
clientPort=2181
server.1 = 192.168.125.133:2888:3888
server.2 = 192.168.125.134:2888:3888
server.3 = 192.168.125.135:2888:3888
这里有三个端口号,2181,2888,3888,我们从Kafka知道,2181是Zookeeper运行的端口号
我们知道Zookeeper集群中,有选举Leader的操作,Zookeeper专门设置了一个端口号用来各节点之间在选举的时候进行通讯,除去选举,平时Leader和各个Follower以及Observer之间的通信也非常频繁,所以有另外一个接口对这些通信消息进行接收和转发
Zookeeper关于8080端口
在Zookeeper3.5出了一个新的AdminServer官方的描述是一个内置的Jetty服务,而这个服务占用的默认端口是8080
,所以在启动Zookeeper之后,tomcat或者其他需要占用8080的服务启动的时候回报8080端口已经被占用,这里就需要再zoo.cfg
文件中添加一个修改AdminServer端口的操作了
admin.serverPort=没有被占用的端口号