如何在HUE上使用Spark Notebook
HUE版本:3.12.0
Ambari版本:2.6.1.0
HDP版本:2.6.4
Spark版本:2.2.0
前言
通过浏览器访问
ip:8888
登陆HUE界面,首次登陆会提示你创建用户,这里使用账号/密码:hue/hue
登陆。
本篇文章再给大家讲述一下如何配置并使用Spark Notebook
。
一、修改hue.ini
1. 配置Spark
打开hue.ini文件,找到【yarn_clusters】【default】,修改spark_history_server_url
值。
1 | spark_history_server_url=http://liuyzh2.xdata:18081 |
如下图所示:
其中
liuyzh2.xdata
是Spark2 History Server
所在机器的主机名18081
端口是Spark2
的spark.history.ui.port
属性值
HUE
是通过livy server
来连接的Spark
,Spark
依赖于Hive
,配置如下图所示:
上述配置值都可以去Spark
和Hive
的配置文件中找到答案,这里就不赘述了。
2. 配置Notebook
打开hue.ini
文件,找到【notebook】,如下图所示:
其中:
- show_notebooks:显示或不显示笔记本菜单 默认值: true
- enable_batch_execute:此标记用于通过 Oozie 以后台任务的形式批量提交查询。 默认值: false
- enable_query_scheduling:启用当前 SQL 查询 Coordinator 创建的标记。 默认值: false
- enable_query_builder:启用表帮助 SQL 查询生成器的标记。 默认值: true
Notebook
支持很多种语言,比如:Hive、Impala、SparkSql、Scala、PySpark、R、Spark Submit Jar、Pig、Sqoop1、Shell
等很多种语言。我们可以将某些语言给注释掉,不让其在页面上展示。比如,将Impala
注释。如下图所示:
这样在页面上的Notebook
就不支持Impala
了。
备注: 保存修改的配置并重启HUE
服务。
二、修改Spark配置
打开ambari
页面,集群安装的是Spark2
服务,所以进入Spark2
配置;配置选项中选择高级livy2-conf
,如下图所示:
将livy.server.csrf_protection.enabled
的值修改为false
。保存修改后的配置并重启Spark2
服务。
备注:如果不修改为false
的话,在使用Notebook
的Spark
语言时,会报csrf
的相关错误。
三、新建Spark Notebook
Spark
分很多种语言,有pySpark
、Scala
、Spark SQL
等。本章以pySpark
为例,来介绍如何使用Spark Notebook
。
通过浏览器访问ip:8888
登陆HUE界面,首次登陆会提示你创建用户,这里使用账号/密码:hue/hue
登陆。
点击页面的笔记本
,点击+笔记本
来新建笔记本,如下图所示:
我们可以在Notebook
里面选择使用很多类型的编程语言,如下图所示:
在上图,这里我们可以点击红框,来选择更多的编程语言,这里我们选择pySpark
来跑一个wordCount
程序。
当新建了一个pySpark Notebook
后,后台会以登陆HUE
系统页面的用户身份(比如hue
)新建一个livy-session-xx
的Spark
应用程序,如下图所示:
同时在会话左侧也会出现一个圆圈,表示正在初始化一个livy session
会话,如下图所示:
当圆圈消失,出现执行按钮时,我们就可以执行代码了。
四、执行wordCount任务
首先使用hue
上面的HDFS
功能直接在/tmp
路径下新建wordCount.txt
,文件内容如下:
1 | My English teacher has a big house. |
我们使用pySpark
读取wordCount.txt
文件内容:
1 | file = sc.textFile("/tmp/wordCount.txt") |
执行的结果:
wordCount
任务执行成功。
五、关闭Session会话
当使用完pySpark Notebook
之后,不要忘记关闭livy session
,如果session
过多,就会导致yarn
内存使用率过大。
Spark livy session
空闲过期时间默认为1小时
,可在spark2-conf.xml
内修改livy.server.session.timeout
值。今天我们主要说明一下如何主动关闭Session
会话。
关闭的方式有很多种,可以点击Notebook
页面的”右上角>上下文”来关闭会话,如下图所示:
稍等一会,在hue
的作业浏览器页面,就会发现该livy-session
已成功结束。
也可以去hue
的作业浏览器页面手动kill
掉session
进程,如下图所示:
嗯,可以通过这两种方式主动关闭session
会话,以避免Yarn
内存长时间无效使用。
六、总结
使用Spark Notebook
需要经过如下几个步骤:
- 修改
hue
的配置文件,主要修改Spark
与Noytebook
的相关配置项。 - 修改
Spark
的配置文件,避免出现csrf
错误。 - 使用
Spark Notebook
。 - 用完之后,记得及时关闭
Spark livy session
。
推荐阅读
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2019/02/28/HUE/如何在HUE上使用Spark Notebook.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)