Spark On Zeppelin

Posted 大数据杂烩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark On Zeppelin相关的知识,希望对你有一定的参考价值。

一、背景介绍

 为了提高数据处理能力,突破单机在计算与资源上的瓶颈,如Hadoop、Spark、Flink 等分布式计算框架和基于HDFS的分布式存储系统成为大多数选择。实际工作中,大部分时间我们都在研发、部署和维护批处理、流处理程序,完成相应的业务需求,但是需要对一批数据做探索性分析,所谓探索性即尚且没有明确的思路,需要不断的尝试,这时你无法形成完整方案写到代码文件、打包、正式部署,临时有个任务需要验证一下,特别针对研发人员,你为这个任务写个正式代码文件、打包、部署显然过于繁琐,并且很多线上环境是不允许随便传代码的。这里的问题就是,如何在分布式计算框架之上实现交互式运行代码? Notebook 显然成为首选。Notebook 是一类基于 Web 的交互式数据分析工具,比较流行的有 Jupyter、Zeppelin 等。Jupyter 是基于 Python 的,前身是 IPython,在单机数据分析上表现非常优异,特别是结合 pandas 库。而 Zeppelin 则以插件的形式对大多数分布式计算引擎提供了友好的支持,尤其是 Spark。


二、组件版本

zeppelin-0.9.0-preview2-bin-all.tgz

CDH 5.16.2

Spark 2.4.0 (自行编译放入CDH,原本版本是1.6.0)


三、搭建

      1.解压zeppelin-0.9.0-preview2-bin-all.tgz

       2.进入conf下配置zeppelin-env.sh

     

3.进入conf下配置shiro.ini

Spark On Zeppelin

左边是用户名右边是密码admin是权限

4.进入conf写配置zeppelin-site.xml

<!-- 将Notebook repo更改为HDFS存储 -->
<property>
<name>zeppelin.notebook.storage</name>
</property>

<!-- Notebook在HDFS上的存储路径 -->
<property>
<name>zeppelin.notebook.dir</name>
<value>/zeppelin/notebook</value>
</property>

<!-- 启用Zeppelin的恢复功能。当Zeppelin服务挂掉并重启之后,能连接到原来运行的Interpreter -->
<property>
<name>zeppelin.recovery.storage.class</name>
<value>org.apache.zeppelin.interpreter.recovery.FileSystemRecoveryStorage</value>
</property>

<!-- Zeppelin恢复元数据在HDFS上的存储路径 -->
<property>
<name>zeppelin.recovery.dir</name>
<value>/zeppelin/recovery</value>
</property>

<!-- Zeppelin禁止莫名用户登录 -->
<property>
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
</property>


四、启动验证

1.进入配置目录下执行 bin/zeppelin-daemon.sh start

Spark On Zeppelin

2.创建NoteBook使用默认配置

Spark On Zeppelin

Spark On Zeppelin

上述操作查看hive库表,并查询数据都是OK,因为没有配置使用Spark版本默认自带编译Spark2.4.5,如果需要改动也很简单,打开编译器编辑相对应的spark版本和conf文件目录,在对应配置上运行模式即可。

时间仓促如有错误恳请大家原谅。

以上是关于Spark On Zeppelin的主要内容,如果未能解决你的问题,请参考以下文章

Spark on yarn

SparkSQL & Spark on Hive & Hive on Spark

Spark SQL(十):Hive On Spark

spark on yarn详解

mac spark和hive整合(spark on hive)

Apache Spark支持三种分布式部署方式 standalonespark on mesos和 spark on YARN区别