获取VS Code Python扩展以连接到在远程AWS EMR主节点上运行的Jupyter



我有一个运行在EMR主节点上的Jupyter服务器,在那里我可以毫无问题地运行python和pyspark代码。当试图让VS Code Python扩展连接到同一个Jupyter服务器时,我得到了以下错误:

Failed to connect to remote Jupyter notebook. 
Check that the Jupyter Server URI setting has a valid running server specified. 
http://***.***.***.***:8888/lab 
Error: Invalid response: 405 Method Not Allowed

我按照IBM的这些说明在EMR集群上创建了自己的自签名证书。然后按照其他用户在GitHub上链接到的堆栈溢出指令将证书添加到Chrome。

来自EMR主节点的bash终端:

# create key and cert
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
# combine key and cert
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12

已将certificate.p12下载到我的本地计算机,然后添加到Chrome:chrome://settings/privacy>管理证书>导入>选择并导入certificate.p12>重新启动VS代码。

我仍然会犯同样的错误。

  • 我应该在本地创建key.pemcertificate.pem,然后组合成证书吗
  • 我是否需要使用创建电子病历集群时发出的原始.pem密钥

Jupyter的新版本启动了类似于基于终端的lynx浏览器的功能。

无论我选择哪个终端外壳,在我启动Jupyter后,输出都非常混乱,因为终端"浏览器"正在查看的"文档"与Jupyter服务器的输出混合在一起。

在所有这些噪音中,我可以使用箭头键和输入的组合,以某种方式"导航"到以下内容与Jupyter输出(通常突出显示,但取决于哪个终端程序(混合显示在终端中的某个位置:

cookie: username-***-***-***-***-****=2|1:0|10:***********|27:username-***-***-***-***-****|44:***********************************k1ZmE=|****************************1bef31e Allow? (Y/N/Always/neVer)

我键入A,然后按输入

有时,有时不,我会在航站楼短时间内看到以下内容:

Data transfer complete  

然后我可以按q,退出Jupyter启动的任何终端浏览器,只看到正常的Jupyter服务器输出。将完整的url复制到Jupyter服务器,并将其粘贴到VS Code Python扩展python.dataScience.jupyterServerURI中。

之后一切如预期
不需要证书或密钥。

相关内容

  • 没有找到相关文章

最新更新