情况说明
centos 7
hadoop 3.1.3
spark 3.1.3
python 3.6.8
我单独启动jupyter、单独启动pyspark以local模式启动jupyter,没有任何问题
但是使用pyspark on yarn启动jupyter连接不上内核
- jupyter notebook
- pyspark
- PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS=“notebook” pyspark
- HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop pyspark --master yarn --deploy-mode client
以上几种种情况都不会出现这个问题,只有下面这个情况会报错
- PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS=“notebook” HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/ MASTER=yarn pyspark
网上找了很多解决方法都对我这个无效
我开始以为是因为spark的问题,换了spark3.2.2 和spark3.1.3都不行
相关报错
- 报错1
[W 21:51:11.646 NotebookApp] Nudge: attempt 10 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:16.708 NotebookApp] Nudge: attempt 20 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:21.776 NotebookApp] Nudge: attempt 30 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:26.841 NotebookApp] Nudge: attempt 40 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:31.895 NotebookApp] Nudge: attempt 50 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:36.955 NotebookApp] Nudge: attempt 60 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:42.028 NotebookApp] Nudge: attempt 70 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:47.079 NotebookApp] Nudge: attempt 80 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:52.140 NotebookApp] Nudge: attempt 90 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:51:57.191 NotebookApp] Nudge: attempt 100 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
[W 21:52:02.256 NotebookApp] Nudge: attempt 110 on kernel 234207ae-161f-4a57-86e8-5b3e1ffa8aa0
- 报错2
[E 21:52:07.093 NotebookApp] Uncaught exception GET /api/kernels/234207ae-161f-4a57-86e8-5b3e1ffa8aa0/channels?session_id=87a7386e44e84e2482d3724efdec54b9 (192.168.204.1)
HTTPServerRequest(protocol='http', host='hadoop001:8888', method='GET', uri='/api/kernels/234207ae-161f-4a57-86e8-5b3e1ffa8aa0/channels?session_id=87a7386e44e84e2482d3724efdec54b9', version='HTTP/1.1', remote_ip='192.168.204.1')
Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/tornado/websocket.py", line 956, in _accept_connection
await open_result
File "/usr/lib64/python3.6/asyncio/tasks.py", line 250, in _wakeup
future.result()
tornado.util.TimeoutError: Timeout
- 报错3
[W 21:50:27.980 NotebookApp] Replacing stale connection: 234207ae-161f-4a57-86e8-5b3e1ffa8aa0:87a7386e44e84e2482d3724efdec54b9
[W 21:50:50.097 NotebookApp] Replacing stale connection: 234207ae-161f-4a57-86e8-5b3e1ffa8aa0:87a7386e44e84e2482d3724efdec54b9
解决办法
虽然不知道为什么,但有时候折磨你10几个小时的问题解决,就是这么简单
pip install --upgrade prompt-toolkit==2.0.4
转折
2022年10月19日14:35:34
就当我中午写完这篇博客,下午换了个jupyter-lab测试的时候,发生了转折
问题又出现了。。。
经过我前后两次控制变量发现,当我使用自己定义的
jupyter_lab_config.py文件,就会出现这个问题,让我重新生成,或者删去jupyter_lab_config.py这个文件,就没事了……
因此,问题一定出在我修改的部分选项
我改了以下内容
c.ServerApp.open_browser = False
c.ServerApp.root_dir = '/root/jupyter-workspace'
c.ServerApp.allow_root = True
c.ServerApp.allow_remote_access = True
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8888
当我设置下面的选项后,即默认打开浏览器,问题解决了。。。
c.ServerApp.open_browser = True
改成True不一定是解决问题的根本原因,感觉设置成True后,因为xshell自身的问题,会一直弹这个窗,卡主我的终端,我点取消又会弹出来。
但是我发现我不点取消,后面终端内容一直不动,点一次取消就出现一点。
当我发现终端提示这部分后
我注意到这是pyspark运行的提示信息,我就让pyspark多跑一会,晚一点去运行ipynb文件
等了30秒左右再运行,就好了。。。
解决办法
不管有没有设置
c.ServerApp.open_browser = True
看见这条信息之后等个30秒到1分钟
等出现这个提示后
再去jupyter上运行代码就ok了
个人猜测如果提前运行,可能是会导致jupyter内部连接内核timeout超时,如果等pyspark运行好了,再运行就没事

870

被折叠的 条评论
为什么被折叠?



