一分鐘內部署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語言用易語言重寫一遍了。