前言
今天要和大家分享的是在使用ptrade过程中遇见的问题——一键脚本报错,启动jupyterhub失败。
一、问题描述
server_operation.pyc-一键脚本报错,启动jupyterhub失败,jupyterhub.log报错:
Traceback(most recent call last) :
File "./jupyterhub/app.py", line 1079, in start
File "/home/fly/anaconda3/lib/python3.5/site-packages/traitlets/config/application.py"line 643.in exitsys.exit(exit status)
sustemExit:1
二、解决方案
1、首先,这个报错是因为jupyterhub端口被占用了,可能有两个原因:node或者jupyterhub的进程没有被终止。
2、server_operation.pyc一键脚本存在逻辑漏洞:当只存在node进程,不存在jupyterhub进程的时候,此时逻辑判断不存在jupyterhub服务,跳过停止jupyterhub服务操作,此场景存在错误判断,导致node进程未正常终止,再次启动时异常报错!
具体涉及的代码如下
if len(os.popen("ps -ef|grep 'configurable-http-proxy'|grep -v grep").read().split("\n")[:-1]) and len(os.popen("ps -ef|grep 'jupyterhub'|grep -v grep").read().split("\n")[:-1]) == 0:
run_log.warning("不存在Jupyterhub服务,跳过停止Jupyterhub服务操作")
关于只存在node进程,不存在jupyterhub进程的场景:客户环境中jupyterhub服务出现503异常,此场景下可能在清理容器后,jupyterhub相关进程会为空,导致触发一键脚本逻辑错误。
结语
ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区提出!