在 运行 蝗虫时遇到错误 "Address already in use"

Facing error "Address already in use" while running locust

在尝试 运行 一个 locust 文件并将数据转换为 csv 时,我在 java 中遇到了这个错误 locustfile.py。我已经尝试编辑命令和所有内容,但似乎没有任何帮助。 PFB 错误:

locust -f /home/sonali/locustapitest/src/main/resources/performance/locust-master.py --master --no-web --csv=/home/sonali/locustapitest/target/csvlocustsresults/performanceResults --expect-slaves=1 -c 1 -r 1 -t1m
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: Traceback (most recent call last):
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: File "/home/sonali/.local/bin/locust", line 8, in <module>
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: sys.exit(main())
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,897] sonali-Latitude-3490/ERROR/stderr: File "/home/sonali/.local/lib/python3.6/site-packages/locust/main.py", line 503, in main
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: runners.locust_runner = MasterLocustRunner(locust_classes, options)
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: File "/home/sonali/.local/lib/python3.6/site-packages/locust/runners.py", line 320, in __init__
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: self.server = rpc.Server(self.master_bind_host, self.master_bind_port)
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: File "/home/sonali/.local/lib/python3.6/site-packages/locust/rpc/zmqrpc.py", line 41, in __init__
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: self.socket.bind("tcp://%s:%i" % (host, port))
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: File "zmq/backend/cython/socket.pyx", line 550, in zmq.backend.cython.socket.Socket.bind
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: File "zmq/backend/cython/checkrc.pxd", line 26, in zmq.backend.cython.checkrc._check_rc
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: zmq.error
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: .
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: ZMQError
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: :
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: Address already in use
[2020-07-07 12:26:25,898] sonali-Latitude-3490/ERROR/stderr: 

首先检查您尝试更改的地址和文件未打开或在其他应用程序中使用。

然后尝试关闭端口号,您的服务器 运行 开启。

这个问题可以通过杀掉上面提到的占用端口的进程来解决。我按照这个方法找到进程的pid。

lsof -i tcp:8089

然后我使用下面的命令终止进程。

kill -9 <pid>