jupyterhub 无法使用 systemdspawner 生成服务器

jupyterhub fails to spawn server with systemdspawner

我正尝试在 Ubuntu 20.04 LTS 服务器上 运行 jupyterhub。我的想法是在conda虚拟环境中运行python/jupyterhub作为系统服务。因为我希望能够限制个人用户可用的资源,所以我安装了 systemdspawner。

安装完所有内容并启动 jupyterhub 服务后,我可以通过网络浏览器登录。但是,当尝试启动服务器时,spawner 卡住了,过了一会儿我收到一条错误消息,提示“Spawn failed: Timeout”

在 journalctl 中我可以看到以下消息:

User logged in: me 302 POST /hub/login?next= -> /hub/spawn (me@::ffff:[my IP address]) 59.42ms

Adding role server to token: <APIToken('93c8...', user='me', client_id='jupyterhub')

Creating oauth client jupyterhub-user-me

pam_loginuid(login:session): Error writing /proc/self/loginuid: Operation not permitted

pam_loginuid(login:session): set_loginuid failed

pam_unix(login:session): session opened for user me by (uid=0)

Failed to open PAM session for me: [PAM Error 14] Cannot make/remove an entry for the specified session

Disabling PAM sessions from now on. user:me

Unit jupyter-me-singleuser in a failed state. Resetting state.

免责声明:我的 Jupyter/Python 安装正在替换以前由其他人安装并在一段时间内有点混乱的安装。我试图删除所有相关内容并从头开始进行全新安装。但是,由于我对旧设置的文档很少,因此存在一定的风险,即以前的安装可能会有一些遗留问题,这可能会导致问题。

有什么想法吗?

我自己解决了。最后,与 PAM 相关的消息似乎是 non-critical 并且与超时完全无关。相反,我在 /etc/systemd/system/jupyterhub.service 中发现了一个错误,其中 PATH 变量不包括我的 miniconda 安装的 bin 目录。