版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/charie411/article/details/84071802
远程连接服务器jupyter notebook运行pyspark
最近新接触服务器和pyspark,想方便操作,远程访问服务器用jupyter notebook运行pyspark。下面就是通过jupyter notebook远程连接linux服务器运行pyspark。
步骤流程
- xshell连上服务器后修改jupyter notebook配置文件
- Xshell配置隧道属性后连接服务器
- 服务器运行jupyter notebook
- 本地操作jupyter notebook
步骤一 xshell连上服务器后修改jupyter notebook配置文件:
1)创建并编辑config file,取消注释并设置IP,以及设置禁止自动打开浏览器。
[root@a ~] # jupyter notebook --generate-config
[root@a ~] # vim /root/.jupyter/jupyter_notebook_config.py
2)打开配置文件后找到如下设置,注意取消注释,并修改以下内容:
c.NotebookApp.ip = '*' #重要。修改成"*"是为了不限定IP访问,如果指定某个IP运行,修改成该IP即可。如果此处维持为原始的localhost,服务器上运行jupyter otebook时就可能出现socket.error Errno 99 Cannot assign requested address报错。
c.NotebookApp.port = XXXX #重要。即对外提供访问的端口,比如8899,记住这个数
c.NotebookApp.open_browser = False #False即启动不打开浏览器
c.NotebookApp.password = u'sha1:adba88f61595:b3e7057253915791a83ac47fdaf70da4aa1f2f6e' #重要。秘钥123
c.NotebookApp.notebook_dir = u'/hadoop/data_analysis'
ps,秘钥生成方法
本地电脑上 cmd-> ipython也行:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: 123
Verify password: 123
Out[2]: 'sha1:adba88f61595:b3e7057253915791a83ac47fdaf70da4aa1f2f6e' #这个秘钥就是上面的c.NotebookApp.password
步骤二 Xshell配置隧道属性:
xshell断开连接,在打开处配置SSH隧道属性,侦听端口为前面改的port,目标端口也写一样
简单步骤见图,原文由此入
步骤三 服务器运行jupyter notebook:
xshell连上服务器后,输入pyspark前面加上jupyter notebook的配置,然后不报错就好了。
[root@a ~] #PYSPARK_DRIVER_PYTHON="jupyter" PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark
步骤四 本地操作jupyter notebook:
在本地你的浏览器输入 http://localhost:8899/ 和秘钥123就好了。【不能丢掉http://】