一分钟内部署jupyterlab + pyspark2 + hive,前提是spark2是可以在yarn上正常运行的。


最近甲方打着滚的向乙方要求装 jupyterlab,然后还要用spark2,所以,也是没辙,谁让人家是金主爸爸呢。搁我自己是绝不想在生产集群里装jupyter的。Terminal潜在危险性还是有的,按说是不符合甲方的安全小组规定的,但是业务小组又哭闹说没有不行,就看上jupyter的代码提示了,说什么也得要,我能怎么办呢。其实你一年也写不了1000行python,要代码提示干吗使呢,哎。


其实这样的甲方还算好的,后面讲一个更不好的甲方。


集群环境

CDH 5.14.0 自带的 Hive 1.1.0

Spark 2.1.3 Apache版本

Jupyterlab in Anaconda3


按照spark2官方说法,spark2.x开始,仅支持hive 1.2.x以上版本,但实际使用中验证也可以支持hive 1.1.x版本。但 2.3是绝无可能用 1.1.x版本的,而CDH系统又不能升级到6,所以这块甲方也只能妥协了,用2.1.3版本,另:CDH5自带版本是1.6的。


anaconda下载官方的安装包就可以了,我直接装在了/opt/anaconda3下面。


打开 spark/conf/spark-env.sh 输入如下

export PYSPARK_PYTHON=/opt/anaconda3/bin/python
export PYSPARK_DRIVER_PYTHON=/opt/anaconda3/bin/jupyter-lab
export PYSPARK_DRIVER_PYTHON_OPTS='  --ip=172.16.191.30 --port=8890'


使用conda或spark命令安装sparkmagic及ipykernel 4.9.0

pip install sparkmagic
pip/conda install ipykernel==4.9.0

因为ipykernel 5.x跟sparkmagic不兼容,会报一个future的exception,需要使用4.9.0才可以

https://github.com/jupyter-incubator/sparkmagic/issues/492


然后,就没有然后了。


运行  pyspark2 --master yarn 就可以直接启动基于yarn的jupyterlab了。

直接就启动 jupyterlab 了

------------------甲方恶行录----------------

前几天去给一个公司讲了一下 bigtop 如何打包编译hadoop生态,该公司是给某国企做外包项目的,这个甲方有多无聊加变态呢,一句话表述一下。

Hadoop生态系列要全部汉化并打包成发行版,包括log4j记的日志,内容也得是中文,如果甲方再进一步,那就得是把java语言用易语言重写一遍了。