OpenStack Swift:PID文件不';t对应于正在运行的进程';PIDs;can';t重新启动服务-端口已绑定

OpenStack Swift:PID文件不';t对应于正在运行的进程';PIDs;can';t重新启动服务-端口已绑定,openstack,openstack-swift,Openstack,Openstack Swift,我正在CentOS 7主机上运行带有Swift(“Swift一体机”)的Docker容器。我注意到/var/run/swift/*.pid文件中的pid与系统中运行的实际pid不同: root@5293f4890016:/var/run/swift# for pidfile in `ls`; do echo $pidfile: `cat $pidfile`; done account-auditor.pid: 219 account-reaper.pid: 285 account-replica

我正在CentOS 7主机上运行带有Swift(“Swift一体机”)的Docker容器。我注意到
/var/run/swift/*.pid
文件中的pid与系统中运行的实际pid不同:

root@5293f4890016:/var/run/swift# for pidfile in `ls`; do echo $pidfile: `cat $pidfile`; done
account-auditor.pid: 219
account-reaper.pid: 285
account-replicator.pid: 291
account-server.pid: 274
container-auditor.pid: 264
container-replicator.pid: 256
container-server.pid: 267
container-sync.pid: 288
container-updater.pid: 216
object-auditor.pid: 259
object-replicator.pid: 222
object-server.pid: 297
object-updater.pid: 294
proxy-server.pid: 225

我在尝试(重新)配置Swift代理服务器并重新启动它时遇到问题。swift init似乎查找PID 225(请参见上面的输出),但找不到它(因为它不是实际的PID),然后尝试启动代理服务器,但端口显然已经绑定

我是否遗漏了什么,或者我的设置是否有问题

root@5293f4890016:/# swift-init proxy-server restart
Signal proxy-server  pid: 225  signal: 15
No proxy-server running
WARNING: Unable to modify file descriptor limit.  Running as non-root?
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', default_port=8080, **options))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 381, in run_wsgi
    sock = get_socket(conf, default_port=kwargs.get('default_port', 8080))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 173, in get_socket
    bind_addr[0], bind_addr[1], bind_timeout))
Exception: Could not bind to 0.0.0.0:8080 after trying for 30 seconds
root@5293f4890016:/#swift init代理服务器重新启动
信号代理服务器pid:225信号:15
没有代理服务器在运行
警告:无法修改文件描述符限制。以非根用户身份运行?
正在启动代理服务器…(/etc/swift/proxy server.conf)
回溯(最近一次呼叫最后一次):
文件“/usr/bin/swift代理服务器”,第23行,在
退出(运行wsgi(conf_文件,'代理服务器',默认_端口=8080,**选项))
文件“/usr/lib/python2.7/dist packages/swift/common/wsgi.py”,第381行,在run\u wsgi中
sock=get_套接字(conf,默认_端口=kwargs.get('default_端口',8080))
文件“/usr/lib/python2.7/dist packages/swift/common/wsgi.py”,第173行,在get_套接字中
绑定地址[0],绑定地址[1],绑定超时)
异常:尝试30秒后无法绑定到0.0.0.0:8080

我不确定我的Swift安装有什么问题,但我重新安装了它,一切正常。如果遇到相同问题,请尝试重新安装Swift

root@5293f4890016:/# swift-init proxy-server restart
Signal proxy-server  pid: 225  signal: 15
No proxy-server running
WARNING: Unable to modify file descriptor limit.  Running as non-root?
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', default_port=8080, **options))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 381, in run_wsgi
    sock = get_socket(conf, default_port=kwargs.get('default_port', 8080))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 173, in get_socket
    bind_addr[0], bind_addr[1], bind_timeout))
Exception: Could not bind to 0.0.0.0:8080 after trying for 30 seconds