Jupyther 安装sparkMagic

sparkMagic : https://github.com/jupyter-incubator/sparkmagic

  1. 下载sparkMagic
    由于是离线环境, 至https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/ 下载
    sparkmagic-0.12.5-py36h8c657a7_0.tar.bz2

  2. 使用conda 安装 :

conda install *.bz2 
  1. 检查ipywidgets 已经正确安装 (这应该是在安装jupyther时安装的)
jupyter nbextension enable --py --sys-prefix widgetsnbextension 
  1. 使用 pip show sparkmagic 显示安装包位置:
[root@node203 offlinePython3Pkg]# pip show sparkmagic
Name: sparkmagic
Version: 0.12.5
Summary: SparkMagic: Spark execution via Livy
Home-page: https://github.com/jupyter-incubator/sparkmagic
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
License: BSD 3-clause
Location: /usr/anaconda3/lib/python3.6/site-packages

  1. 至安装目录安装打包好的kernels
 jupyter-kernelspec install sparkmagic/kernels/sparkkernel
 jupyter-kernelspec install sparkmagic/kernels/pysparkkernel
 jupyter-kernelspec install sparkmagic/kernels/pyspark3kernel
 jupyter-kernelspec install sparkmagic/kernels/sparkrkernel
  1. 配置~/.magic/config.json

  2. 开启服务扩展

jupyter serverextension enable --py sparkmagic

报错:

[root@node203 jupyter]# jupyter serverextension enable --py sparkmagic
Traceback (most recent call last):
  File "/usr/anaconda3/bin/jupyter-serverextension", line 11, in <module>
    sys.exit(main())
  File "/usr/anaconda3/lib/python3.6/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/usr/anaconda3/lib/python3.6/site-packages/notebook/serverextensions.py", line 293, in start
    super(ServerExtensionApp, self).start()
  File "/usr/anaconda3/lib/python3.6/site-packages/jupyter_core/application.py", line 255, in start
    self.subapp.start()
  File "/usr/anaconda3/lib/python3.6/site-packages/notebook/serverextensions.py", line 210, in start
    self.toggle_server_extension_python(arg)
  File "/usr/anaconda3/lib/python3.6/site-packages/notebook/serverextensions.py", line 199, in toggle_server_extension_python
    m, server_exts = _get_server_extension_metadata(package)
  File "/usr/anaconda3/lib/python3.6/site-packages/notebook/serverextensions.py", line 327, in _get_server_extension_metadata
    m = import_item(module)
  File "/usr/anaconda3/lib/python3.6/site-packages/traitlets/utils/importstring.py", line 42, in import_item
    return __import__(parts[0])
  File "/usr/anaconda3/lib/python3.6/site-packages/sparkmagic/__init__.py", line 3, in <module>
    from sparkmagic.serverextension.handlers import load_jupyter_server_extension
  File "/usr/anaconda3/lib/python3.6/site-packages/sparkmagic/serverextension/handlers.py", line 9, in <module>
    from sparkmagic.kernels.kernelmagics import KernelMagics
  File "/usr/anaconda3/lib/python3.6/site-packages/sparkmagic/kernels/__init__.py", line 1, in <module>
    from sparkmagic.kernels.kernelmagics import *
  File "/usr/anaconda3/lib/python3.6/site-packages/sparkmagic/kernels/kernelmagics.py", line 12, in <module>
    from hdijupyterutils.utils import generate_uuid
ModuleNotFoundError: No module named 'hdijupyterutils'

缺少python依赖 : 下载 hdijupyterutils-0.12.5-py36hc0bb8fd_0.tar.bz2

离线安装缺少的包太多啦, 依赖不好管理 !!!!

(要么通过proxy联网安装, 要么有个环境, 将相应的包下载下来!)

  1. 联网环境下安装sparkMagic :
## Package Plan ##

  environment location: /usr/anaconda3

  added / updated specs: 
    - sparkmagic


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pykerberos-1.1.14          |           py36_0          46 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    requests-kerberos-0.11.0   |           py36_0          15 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    plotly-2.0.11              |           py36_0         937 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    autovizwidget-0.12.1       |           py36_0          21 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    ca-certificates-2017.08.26 |       h1d4fec5_0         263 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    hdijupyterutils-0.12.1     |           py36_0          13 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    sparkmagic-0.12.1          |           py36_0          64 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    certifi-2018.1.18          |           py36_0         144 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    openssl-1.0.2n             |       hb7f436b_0         3.4 MB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    krb5-1.13.2                |                0         3.5 MB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    ------------------------------------------------------------
                                           Total:         8.5 MB

The following NEW packages will be INSTALLED:

    autovizwidget:     0.12.1-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    hdijupyterutils:   0.12.1-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    krb5:              1.13.2-0              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    plotly:            2.0.11-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    pykerberos:        1.1.14-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    requests-kerberos: 0.11.0-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    sparkmagic:        0.12.1-py36_0         https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

The following packages will be UPDATED:

    ca-certificates:   2017.08.26-h1d4fec5_0 defaults                                                --> 2017.08.26-h1d4fec5_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    certifi:           2018.1.18-py36_0      defaults                                                --> 2018.1.18-py36_0      https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    openssl:           1.0.2n-hb7f436b_0     defaults                                                --> 1.0.2n-hb7f436b_0     https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

Proceed ([y]/n)? y


Downloading and Extracting Packages
pykerberos 1.1.14: ###################################################################################################################################################################################### | 100% 
requests-kerberos 0.11.0: ############################################################################################################################################################################### | 100% 
plotly 2.0.11: ########################################################################################################################################################################################## | 100% 
autovizwidget 0.12.1: ################################################################################################################################################################################### | 100% 
ca-certificates 2017.08.26: ############################################################################################################################################################################# | 100% 
hdijupyterutils 0.12.1: ################################################################################################################################################################################# | 100% 
sparkmagic 0.12.1: ###################################################################################################################################################################################### | 100% 
certifi 2018.1.18: ###################################################################################################################################################################################### | 100% 
openssl 1.0.2n: ######################################################################################################################################################################################### | 100% 
krb5 1.13.2: ############################################################################################################################################################################################ | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
  1. 联网安装后 检查成功
[root@repo site-packages]# jupyter serverextension enable --py sparkmagic
Enabling: sparkmagic
- Writing config: /root/.jupyter
    - Validating...
      sparkmagic  OK

10 . 安装配置 Livy

  1. 配置 ~/.sparkmagic/config.json
使用的是git上的示例配置文件;
注意: master:8998 中的master替换成livy所在的主机名
  1. 配置 jupyter
    使用命令 生成配置文件:
 jupyter notebook --generate-config

配置文件目录在: ~/.jupyter/

  1. 修改notebook的初始化目录 , 在 jupyter_notebook_config.json 中
"notebook_dir":"/usr/anaconda3/dubook"
  1. 启动
jupyter notebook --no-browser --allow-root --ip=node203.hmbank.com --port=8888 &
  1. 修改初始密码

  2. 开始使用。

问题:

  • 导入 pysaprk 报错如下:
import pyspark 

      "The code failed because of a fatal error:\n",
      "\tError sending http request and maximum retry encountered..\n",
      "\n",
      "Some things to try:\n",
      "a) Make sure Spark has enough available resources for Jupyter to create a Spark context.\n",
      "b) Contact your Jupyter administrator to make sure the Spark magics library is configured correctly.\n",
      "c) Restart the kernel.\n"

解决:

  1. ~/.sparkmagic/config.json 中配置的livy的地址写错了 , 可以通过该目录下的logs日志发现。
2018-05-28 18:56:52,884 ERROR   ReliableHttpClient      Request to 'http://node202.hmbank.com:8998/sessions' failed with 'HTTPConnectionPool(host='node202.hmbank.com', port=8998): Max retries exceeded with url: /sessions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fef9964f7f0>: Failed to establish a new connection: [Errno 111] Connection refused',))'
2018-05-28 18:56:52,888 INFO    EventsHandler   InstanceId: 4301a914-5087-4d77-a82b-19d6b2d7be7d,EventName: notebookSessionCreationEnd,Timestamp: 2018-05-28 10:56:52.888202,SessionGuid: 0131d7ad-d110-4559-9c76-549ba0916eae,LivyKind: pyspark3,SessionId: -1,Status: not_started,Success: False,ExceptionType: HttpClientException,ExceptionMessage: Error sending http request and maximum retry encountered.
2018-05-28 18:56:52,888 ERROR   SparkMagics     Error creating session: Error sending http request and maximum retry encountered.

  • 部署spark所在的机器上启动python , 执行 import pyspark 报错 :
>>> import pyspark
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyspark'

解决:
添加相关环境变量:

export SPARK_HOME=/usr/lib/apacheori/spark-2.3.0-bin-hadoop2.6

export PYSPARK_PYTHON=/usr/anaconda3/bin/python

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/pyspark.zip:$SPARK_HOME/python/lib/py4j-0.10.6-src.zip:$PYTHONPATH

py4j-0.10.6-src.zip 和 pyspark.zip 在spark安装目录的python下。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容