【Zeppelin】介绍、安装、权限、创建一个分析作业(md + Spark + jdbc)


目录

一、介绍

二、安装

三、权限

四、使用/创建noteBook

  1、建立一个md拦截器的noteBook

  2、建立一个Spark拦截器的noteBook

  3、建立一个jdbc拦截器的noteBook


一、介绍

官网:http://zeppelin.apache.org/ apache的顶级项目

Zeppelin是什么?Zeppelin是一个大数据交互分析服务软件,可以基于Web界面组合多个大数据分析引擎的处理能力,并内置提供了基于Web的可视化界面,可以连接几乎所有的Apache大数据处理服务系统。

支持:Spark、Hive、Jdbc、HBase、Fink、ES等........多种,每种都有对应的拦截器。他是基于web的Zeppelin。只有打开浏览器,就能进行访问。可以用它进行交互式的查询分析。

功能:Zeppelin可以满足你的数据接入、数据挖掘、数据分析、数据可视化及协同开发的需求。

总之:Zeppelin是一个基于web的大数据分析引擎,里面可以填写很多的“代码片段”的工具,对于排查错误来讲是非常重要的。

 

二、安装

包Zeppelin-0.8.1-bin-all.tgz的下载,有下面几种方式:
1)直接下载
2)用docker下载
3)下载源码,编译源码(生产上用的)[Build from source](http://zeppelin.apache.org/download.html#build-from-source)

开始进行安装 [install](http://zeppelin.apache.org/docs/0.8.0/quickstart/install.html)。
上传到`~/software`下,解压到`~/app`下。看一下目录结构。因为是一个web项目,所以是一个war包,每创建一个窗口就有一个notebook目录:


如果下载的是源码,可以[编译](http://zeppelin.apache.org/docs/0.8.0/quickstart/install.html#building-zeppelin-from-source)。
启动:

[hadoop@hadoop001 bin]$ ./zeppelin-daemon.sh start
Log dir doesn't exist, create /home/hadoop/app/zeppelin-0.8.1-bin-all/logs
Pid dir doesn't exist, create /home/hadoop/app/zeppelin-0.8.1-bin-all/run
Zeppelin start                                             [  OK  ]

启动之后通过jps可以看到有一个对应的进程:`ZeppelinServer`。他有一个默认的配置文件:`conf/zeppelin-site.xml.template`。从默认的配置文件中可以看到,他是可以任何ip进行访问的,提供的端口是8080


对应的页面,右上角绿色的点,表示连接成功:


对应的日志文件是logs目录。在日志文件中可以看到启动成功了:`zeppelin server started`

 

可以使用Spark,支持多种默认:


需要修改一个配置文件:

[hadoop@hadoop001 conf]$ cp zeppelin-env.sh.template zeppelin-env.sh
[hadoop@hadoop001 conf]$ vi zeppelin-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_45

#如果Spark需要跑在Yarn上,肯定是要配置hadoop_conf_dir的
export HADOOP_CONF_DIR=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
export SPARK_SUBMIT_OPTIONS="--jars /home/hadoop/lib/mysql-connector-java-5.1.43-bin.jar"
export MASTER=local # 如果跑在yarn上就配置yarn。如果跑在local就写local,这里暂时写local
export SPARK_HOME=/home/hadoop/app/spark-2.4.2-bin-2.6.0-cdh5.7.0

关闭服务的方式:

[hadoop@hadoop001 bin]$ ./zeppelin-daemon.sh stop
Zeppelin stop                                              [  OK  ]

重新启动服务:

[hadoop@hadoop001 bin]$ ./zeppelin-daemon.sh start
Zeppelin start                                             [  OK  ]
[hadoop@hadoop001 bin]$ jps
3904 NameNode
23190 Jps
4342 ResourceManager
4439 NodeManager
4137 SecondaryNameNode
23130 ZeppelinServer--------->ok
3997 DataNode
[hadoop@hadoop001 bin]$ 

启动的过程需要联网,所以可能会出现因为网络的原因导致连接的很慢。绿灯就表示连接上了:


 

三、权限

Zeppelin默认使用的是shiro来控制权限,默认情况是采用anonymous,不需要权限就可以访问的:


如果想添加权限的访问,可以在`conf/shiro.ini.template`这个配置文件中进行控制。默认的用户名/密码、loginUrl、权限:




可以在shiro.ini配置文件中进行用户名、密码、权限的配置  。但是这种方式是写死了。在生产上这个Zeppelin不是单独用的,而是嵌入在数据平台上用的。如果登陆数据平台需要权限,进去之后,里面的Zeppelin还要再进行一次权限,那这个平台就太垃圾了。所以一定有一个数据平台权限和Zeppelin权限的对接。比如现在的数据平台有下面这些功能:离线、实时、可视化、zeppelin。如果登陆这个数据平台的账号想也访问登陆zeppelin,必须有登陆zeppelin的权限。

关于shiro登陆权限的可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/shiro_authentication.html
关于NoteBook的权限可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/notebook_authorization.html

四、使用/创建noteBook

创建一个noteBook:


这里有很多的拦截器,默认的就是Spark:


 

1、建立一个md拦截器的noteBook

可以先创建一个md的拦截器类型的:

然后就可以开始写了:


写完之后执行:


跑完之后的效果:



执行的结果:


之后也可以直接在这里改:


实际上就是个占位符,这就是%md的用法,先简单了解。

也可以在前面创建:


如果想修改interpreter的东西,直接点击这里:


比如搜索spark,就会出来一堆spark的配置:



可以直接进行修改:


比如改成local[2]:


但是这里改有点慢,可以直接去zeppelin-env.sh配置文件中改,修改了配置文件之后就重新启动服务。但是关于配置这个,配置文件和页面是不太一致,这是bug。

创建的notebook都在这个目录下:


在日志文件目录下有对应的notebooke,不同拦截器的日志:


可以在这里查看不同的拦截器的日志。

更多的信息可以去看它的文档:http://zeppelin.apache.org/docs/0.8.1/index.html

2、建立一个Spark拦截器的noteBook

创建一个spark:


但是报错:`java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.defaultNumHeapArena()I`

??????????????????????????还未解决

反正就是可以在这里写Spark的测试代码了。

 

更多的信息可以去看它的文档:http://zeppelin.apache.org/docs/0.8.1/index.html
关于Spark的更多使用,参考:http://zeppelin.apache.org/docs/0.8.1/interpreter/spark.html
关于shiro登陆权限的可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/shiro_authentication.html
关于NoteBook的权限可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/notebook_authorization.html

 

3、建立一个jdbc拦截器的noteBook

也可以使用%jdbc拦截器的方式连接数据库。比如连接的是MySQL数据库。首先要找到jdbc拦截器并进行配置:



编辑下面的配置:



并添加MySQL的驱动的依赖:


会联网下载相关的jar包。

现在来创建一个jdbc的notebook,可以看到运行成功的:


缺点就是每次这个窗口只能写一条SQL语句,就连注释的SQL语句也会算一行,这是缺点。

可以写SQL,并且查看SQL的执行结果用表格、柱形图等:


可以下载数据:


默认界面只能展示1000条的结果,如果想修改,就要修改JDBC拦截器的配置:

从这里可以看到这个Zeppelin是支持很多东西的:


需要我们的Linux上的对应的拦截器的服务要开启着。这个东西就是发送并接收结果用来展示的一个工具。不管用HUE,还是用Zeppelin都是可以的。

可以对展示的结果进行修改展示,或者Link把结果图link出去给别人用,这里发生变化的时候,别人link的地方也会发生相应的变化:


更多的信息可以去看它的文档:http://zeppelin.apache.org/docs/0.8.1/index.html
关于Spark的更多使用,参考:http://zeppelin.apache.org/docs/0.8.1/interpreter/spark.html
关于shiro登陆权限的可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/shiro_authentication.html
关于NoteBook的权限可以参考:http://zeppelin.apache.org/docs/0.8.1/setup/security/notebook_authorization.html

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM