searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

端口被占用的问题

2023-05-30 02:24:01
22
0

我们在启动服务的时候,通常会指定要使用的端口号。但是有时服务启动时,会出现端口被占用的情况,日志中通常能找到关键信息port is already in use

这个时候,首先就需要找到是什么服务占用了这个端口,比如说我们指定了服务要使用8080端口

使用lsof指令,通过被占用的端口来查询进程的id(PORT → PID)

# 命令: lsof -i:${PORT}
sudo lsof -i:8080
[bigdata@hadoop101 ~]$ sudo lsof -i:8080
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    19394 bigdata   48u  IPv6 165811      0t0  TCP *:webcache (LISTEN)

查询到进程的pid是19394,最直接的方式当然就是通过kill -9 ${PID}来结束占用8080端口的进程。不过出于安全的考虑,最好确认下,占用端口8080的服务是什么,是否可以直接关闭

通过ps -ef | grep ${PID}查看当前进程的详细信息

[bigdata@hadoop101 ~]$ sudo ps -ef | grep 19394
bigdata  17172 16675  0 09:33 pts/1    00:00:00 grep --color=auto 19394
bigdata  19394     1  0 May06 ?        00:33:49 /opt/module/jdk1.8.0_212/bin/java -Dzookeeper.log.dir=/opt/module/zookeeper-3.5.7/bin/../logs -Dzookeeper.log.file=zookeeper-bigdata-server-hadoop101.log -Dzookeeper.root.logger=INFO,CONSOLE -XX:+HeapDumpO...

我们发现这个服务中出现了很多zookeeper关键字,确认后发现是zookeeper服务占用了8080端口

如果确认这个服务可以关闭,就执行

# 替换成实际的PID,请仔细确认服务的PID
kill -9 ${PID}

那如果服务不能关闭的话,就需要我们重新指定新的端口,避免使用机器上已经用到的端口。替换成新的端口后,可以在服务启动前,执行sudo lsof -i:${PID} ,来查看新的端口是否已经被占用

0条评论
0 / 1000
小桥流水
4文章数
0粉丝数
小桥流水
4 文章 | 0 粉丝
原创

端口被占用的问题

2023-05-30 02:24:01
22
0

我们在启动服务的时候,通常会指定要使用的端口号。但是有时服务启动时,会出现端口被占用的情况,日志中通常能找到关键信息port is already in use

这个时候,首先就需要找到是什么服务占用了这个端口,比如说我们指定了服务要使用8080端口

使用lsof指令,通过被占用的端口来查询进程的id(PORT → PID)

# 命令: lsof -i:${PORT}
sudo lsof -i:8080
[bigdata@hadoop101 ~]$ sudo lsof -i:8080
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    19394 bigdata   48u  IPv6 165811      0t0  TCP *:webcache (LISTEN)

查询到进程的pid是19394,最直接的方式当然就是通过kill -9 ${PID}来结束占用8080端口的进程。不过出于安全的考虑,最好确认下,占用端口8080的服务是什么,是否可以直接关闭

通过ps -ef | grep ${PID}查看当前进程的详细信息

[bigdata@hadoop101 ~]$ sudo ps -ef | grep 19394
bigdata  17172 16675  0 09:33 pts/1    00:00:00 grep --color=auto 19394
bigdata  19394     1  0 May06 ?        00:33:49 /opt/module/jdk1.8.0_212/bin/java -Dzookeeper.log.dir=/opt/module/zookeeper-3.5.7/bin/../logs -Dzookeeper.log.file=zookeeper-bigdata-server-hadoop101.log -Dzookeeper.root.logger=INFO,CONSOLE -XX:+HeapDumpO...

我们发现这个服务中出现了很多zookeeper关键字,确认后发现是zookeeper服务占用了8080端口

如果确认这个服务可以关闭,就执行

# 替换成实际的PID,请仔细确认服务的PID
kill -9 ${PID}

那如果服务不能关闭的话,就需要我们重新指定新的端口,避免使用机器上已经用到的端口。替换成新的端口后,可以在服务启动前,执行sudo lsof -i:${PID} ,来查看新的端口是否已经被占用

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0