Hue添加Spark notebook


參考自https://blogs.msdn.microsoft.com/pliu/2016/06/18/run-hue-spark-notebook-on-cloudera/

說明

使用Cloudera Manager部署CDH群集時,可以使用Hue Web UI運行Hive和Impala查詢。但Spark筆記本沒有開箱即用。在CDH上安裝和配置Spark筆記本並不像現有文檔中描述的那樣簡單。在本博客中,我們將提供有關如何在CDH上使用Livy啟用Hue Spark筆記本的分步說明。  

在撰寫本文時,部署的CDH版本為5.9.3,HUE 3.11和Livy 0.3。對於使用Cloudera Manager部署的任何CDH群集,步驟應該類似。請注意,Cloudera尚不支持Livy。   

1. 在cloudera manager集群中找到hue服務

2. 添加配置 

在Cloudera Manager中,轉到Hue - > Configurations,在hue服務高級配置代碼段(安全閥)中搜索hue_safety_valve.ini的 “安全” ,添加以下配置,保存更改,然后重新啟動Hue:

[spark]
server_url=http://fp-01:8998
languages='[{"name": "Scala Shell", "type": "spark"},{"name": "PySpark Shell", "type": "pyspark"},{"name": "R Shell", "type": "r"},{"name": "Jar", "type": "Jar"},{"name": "Python", "type": "py"},{"name": "Impala SQL", "type": "impala"},{"name": "Hive SQL", "type": "hive"},{"name": "Text", "type": "text"}]'


[notebook]
show_notebooks=true
enable_batch_execute=true
enable_query_builder=true
enable_query_scheduling=false
 [[interpreters]]
 [[[hive]]]
      # The name of the snippet.
      name=Hive
      # The backend connection to use to communicate with the server.
      interface=hiveserver2

    [[[impala]]]
      name=Impala
      interface=hiveserver2
[[[spark]]]
      name=Scala
      interface=livy

    [[[pyspark]]]
      name=PySpark
      interface=livy
[[[jar]]]
      name=Spark Submit Jar
      interface=livy-batch

    [[[py]]]
      name=Spark Submit Python
      interface=livy-batch
[[[spark2]]]
      name=Spark
      interface=oozie

 

添加完成之后重啟hue服務。

3. 打開hue web ui界面

Hue Web UI,你應該能夠看到Spark筆記本。Spark筆記本使用Livy提交Spark工作,所以沒有Livy,它還沒有運行。

Hbase Browser:警告原因是因為cdh集群沒有安裝hbase組件。

Impala:警告原因是因為cdh集群沒有安裝impala組件。

Spark:警告原因是因為沒有安裝livy服務。

4. 安裝Livy服務

4.1 下載地址

https://github.com/cloudera/livy/releases

4.2 上傳到服務器並解壓

[root@fp-01 soft]# unzip livy-server-0.3.0.zip -d /opt/

 

4.3 修改配置文件

[root@fp-01 soft]# cd /opt/livy-server-0.3.0/conf/
[root@fp-01 conf]# vi livy-env.sh 

 

在文件最后添加以下內容

export JAVA_HOME=/opt/jdk1.8.0_151
export SPARK_HOME=/opt/cloudera/parcels/CDH-5.9.3-1.cdh5.9.3.p0.4/lib/spark/
export SPARK_CONF_DIR=/etc/spark2/conf
export HADOOP_CONF_DIR=/etc/hadoop/conf

 

4.4 配置環境變量

[root@fp-01 conf]# vi /etc/profile

 

#Livy
export LIVY_HOME=/opt/livy-server-0.3.0
export PATH=$LIVY_HOME/bin:$PATH

 

立即生效

[root@fp-01 conf]# source /etc/profile

 

4.5 創建日志文件夾

如果沒有創建logs,則啟動的時候會報錯找不到logs文件夾

[root@fp-01 conf]# cd /opt/livy-server-0.3.0
[root@fp-01 livy-server-0.3.0]# mkdir logs

 

4.6 后台啟動livy

[root@fp-01 conf]# cd /opt/livy-server-0.3.0/bin/
[root@fp-01 bin]# nohup ./livy-server > livy.out 2>&1 &

4.7 查看啟動日志

[root@fp-01 bin]# cat livy.out 
nohup: 忽略輸入
18/08/16 13:41:23 WARN LivySparkUtils$: Current Spark (2,2) is not verified in Livy, please use it carefully
18/08/16 13:41:23 INFO StateStore$: Using BlackholeStateStore for recovery.
18/08/16 13:41:23 INFO BatchSessionManager: Recovered 0 batch sessions. Next session id: 0
18/08/16 13:41:23 INFO InteractiveSessionManager: Recovered 0 interactive sessions. Next session id: 0
18/08/16 13:41:23 INFO InteractiveSessionManager: Heartbeat watchdog thread started.
18/08/16 13:41:23 INFO WebServer: Starting server on http://fp-01:8998

 

5. 刷新Hue web UI界面

由於已經啟動livy服務,spark警告已經消失

6. CDH集群添加hbase和impala組件

7. 再次刷新Hue web UI界面

此時所有警告已經消失

8. 點擊頁面頂部的Notebooks

8.1 發現頁面報500錯誤

8.2 點擊View logs,查看報錯日志

有一行報錯:NameError:global name 'SHOW_NOTEBOOKS' is not defined

8.3 點擊More info

查看最下面的文件views.py,第68行,問題代碼if not SHOW_NOTEBOOKS.get(),但是前面並沒有定義,所以報錯。

8.4 查看hue源碼

https://github.com/cloudera/hue

https://github.com/cloudera/hue/blob/master/desktop/libs/notebook/src/notebook/views.py

發現是在前面引入

8.5 修改cdh hue的views.py文件

[root@fp-01 ~]# cd /opt/cloudera/parcels/CDH-5.9.3-1.cdh5.9.3.p0.4/lib/hue/desktop/libs/notebook/src/notebook/
[root@fp-01 notebook]# vi views.py

 

8.6 重啟hue服務,在hue web UI界面點擊notebooks

一切正常

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM