Zeppelin简介

  • Zeppelin是一个Apache的孵化项目.
    一个基于web的笔记本,支持交互式数据分析。你可以用SQL、Scala等做出数据驱动的、交互、协作的文档。(类似于ipython notebook,可以直接在浏览器中写代码、笔记并共享)
  • 多用途笔记本
    可实现你所需要的:

    • 数据采集;
    • 数据发现;
    • 数据分析;
    • 数据可视化和协作。 一些基本的图表已经包含在Zeppelin中。可视化并不只限于SparkSQL查询,后端的任何语言的输出都可以被识别并可视化; Notebook 的 URL 可以在协作者间分享。Zeppelin 然后可以实时广播任何变化,就像在 Google docs 中一样。
    • 支持多种语言,默认是scala(背后是spark shell),SparkSQL, Markdown , Shell , flink sql 1.10(版本0.9.0) 等
    • 发布. Zeppelin 提供了一个 URL 用来仅仅展示结果,那个页面不包括 Zeppelin 的菜单和按钮。这样,你可以轻易地将其作为一个iframe集成到你的网站。
    • 100% 开源.有很多的并且是非常活跃的开发社区.

编译

mvn clean package -Pspark-1.3 -Dhadoop.version=2.3.0 -Phadoop-2.3 -DskipTests
  • 启动 编译成功后,解压直接启动
bin/zeppelin-daemon.sh start
  • 启动成功后会显示下图
  • 可能遇到的问题
问题:在linux中显示启动成功,但是在浏览器中不显示
分析:Zeppelin默认的ip是127.0.0.1,只能用localhost或这个ip访问;还有就是可能你的端口号被占用了
解决:在你的Zeppelin的conf文件中1.复制zeppelin-site.xml.template一份文件,重命名zeppelin-site.xml2.vim zeppelin-site.xml3.修改zeppelin.server.addr和zeppelin.server.port为自己的ip和可用端口4.重启Zeppelin

配置用户名密码访问登录

  • Apache Zeppelin启动默认是匿名(anonymous)模式登录的,也就是任何人都可以访问,这个可以在/zeppelin/conf下的zeppelin-site.xml中看到:
    <property>  <name>zeppelin.anonymous.allowed</name>  <value>true</value>  <description>Anonymous user allowed by default</description>  </property>
  • description中写道Anonymous user allowed by default(匿名用户默认被允许),这样我们访问我们安装的zepplin界面里是这样的:
  • 修改/zeppelin/conf/zeppelin-site.xml文件选项zeppelin.anonymous.allowed的value为false,表示不允许匿名访问:
    在CODE上查看代码片派生到我的代码片
    <property>  <name>zeppelin.anonymous.allowed</name>  <value>false</value>  <description>Anonymous user allowed by default</description>  </property>
  • 修改conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,那么我们需要对shiro有一些了解,我们去看该文件的最后几行:在CODE上查看代码片派生到我的代码片
    [urls]  # anon means the access is anonymous.  # authcBasic means Basic Auth Security  # authc means Form based Auth Security  # To enfore security, comment the line below and uncomment the next one  /api/version = anon  /** = anon  #/** = authc 这显然是对ip:port/#/的进行验证,对/的不验证,那我们就修改为对任何url访问都需要验证:把/=anon修改为/=authc,这样重启zeppelin后访问我们的zeppelin主页就变成这个样子了
  • 看见右上角的Login按钮了吧?对的,你现在zeppelin已经需要登录才能继续访问了,可是满屏幕的去找也没找到注册的地方,那么我们通过什么账号来进行登录呢?继续修改zeppelin/conf/shiro.ini文件:
    在CODE上查看代码片派生到我的代码片
    [users]  # List of users with their password allowed to access Zeppelin.  # To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuratio  n-INISections  admin = password1  user1 = password2, role1, role2  user2 = password3, role3  user3 = password4, role2
  • 已经给我们加了这些账号了,看第一条注释提供了用户以及对应的密码用来允许访问zeppelin,然后你自己可以在下面加一些用户xxx = yyy,其中的角色也可以自行选择,需要详细了解的可以熟悉熟悉shiro的角色权限控制。重启zeppelin用你知道的账号去登录吧~!
    输入对应账号进入主页后选择一个你已经添加过的notebook进去然后去右上角看见有一把小锁:
  • 会显示Note Permissions点击后出现上图所示可以填写该notebook的Owners(所有者)、Readers(只读用户)、Writers(读写用户),这样每一个notebook就可以归属于某一个具体的用户了,避免了多用户同时使用zeppelin可能造成的冲突。

Zeppelin添加jdbc(hive) mysql oracle等数据库的查询

  • jdbc(hive)

    • 按照如下点击
    • 找到jdbc,点击edit,开始编辑
    • 按如下修改,完成后添加notebook,用%jdbc(hive)开头,进行验证
在properties中添加hive.driver   org.apache.hive.jdbc.HiveDriverhive.url      jdbc:hive2://ip:端口/库名(不写使用默认的)注:url一定得是hive2,使用的hive的远程连接
在artifact中添加org.apache.hive:hive-jdbc:2.3.6
编辑完成,点save保存
  • mysql

    • 同hive的步骤,用jdbc进行验证
在properties中添加
default.url       jdbc:mysql://ip:端口/
default.user      your user
default.password  your password
default.driver    com.mysql.jdbc.Driver在artifact中添加
mysql:mysql-connector-java:5.1.38
编辑完成,点save保存
  • oracle

    • 另一种方式,hive也可以用这种方式,以后添加其他查询,都可以用
    • 最后修改,和验证
在properties中添加
default.url      jdbc:oracle:thin:@//ip:端口/ORCL
default.user     your user
default.password your password
default.driver   oracle.jdbc.driver.OracleDriver在artifact中添加
你的ojdbc6-11.2.0.3.jar存放在Zeppelin中的位置
编辑完成,点save保存
官网参考:http://zeppelin.apache.org/docs/0.8.0/interpreter/jdbc.html
  • 注:如果想要进行多条sql同时运行,
修改properties中
default.splitQueries                     false --> true
zeppelin.jdbc.concurrent.max_connection  这是最多可写的条数,默认10

flink on Zeppelin

  • Zeppelin 0.9开始将正式支持Flink 1.10。
  • Flink on Yarn 需要的组件:
    • flink-hadoop-compatibility
    • flink-shaded-hadoop-2-uber
  • 连接Hive需要的组件:
    • flink-connector-hive
    • hive-exec
  • 使用pyflink需要的组件
    • flink-python
  • 在Zeppelin中可以使用3种不同的Flink集群模式
    • Local 会在本地创建一个MiniCluster,适合做POC或者小数据量的试验。
    • Remote 会连接一个已经创建好的Flink集群,一般是Flink standalone集群
    • Yarn 会在Yarn集群中创建Flink Cluster
local模式修改 必须配置FLINK_HOME 和 flink.execution.mode在properties中修改
FLINK_HOME  flink1.10以上版本装的位置
flink.execution.mode  local
  • 验证一下

Zeppelin 使用文档相关推荐

  1. hudi的操作记录备份以及文档

    Flink datagen代码: public class TestDataKafka2doris {private static final String JDBC_SQL = "CREA ...

  2. 导出swagger2生成的文档

    百度了好多篇用法,没法用.特此记录一下 一.下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文 ...

  3. README 规范和项目文档规范

    1. README 规范 我们直接通过一个 README 模板,来看一下 README 规范中的内容: # 项目名称<!-- 写一段简短的话描述项目 -->## 功能特性<!-- 描 ...

  4. FastAPI 自动生成的docs文档没法使用

    FastAPI 自动生成的docs文档没法使用,当展开路径时候一直在转圈,具体就是这样 这个是由于swagger-ui 3.30.1 中的bug导致,具体bug可以看这里 我们可以通过在FastAPI ...

  5. 【软件工程】VB版机房文档总结

    前言: 软工视频+软工文档+UML视频+UML图的学习过程图! 这部分的知识很厚,只是知道了个大概!最开始 慢悠悠的像个老爷爷走进度,后来遇到点什么事,妈呀,管不了那么多了,赶紧弄完在说,拖了多久了都 ...

  6. 智能文档理解:通用文档预训练模型

    预训练模型到底是什么,它是如何被应用在产品里,未来又有哪些机会和挑战? 预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮.这和小孩子读书一样,一开始语文.数学.化学都学,读书.网上游戏等,在脑子 ...

  7. 基于javaGUI的文档识别工具制作

    基于javaGUI的文档识别工具制作 对于某些文本,其中富含了一些标志,需要去排除,以及去获得段落字数,以下是我个人写的一个比较简单的文档识别工具,含导入文件.导出文件以及一个简单的识别功能. 1.功 ...

  8. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  9. 函数小知识点(文档字符串,闭包等)

    1 文档字符串(Documentation Strings) 一般被称为docstring,一款你应当使用的重要工具,它能够帮助你更好地记录程序并让其更加易于理解.令人惊叹的是,当程序实际运行时,我们 ...

最新文章

  1. yii required 字段去除*号
  2. intellij idea run configurations配置共享
  3. 关于mysql的三表联表查询的问题
  4. 进程组 会话 作业
  5. python middleware_Sanic middleware – 中间件
  6. ERP的配置管理实践
  7. Ubuntu上可使用的15个桌面环境
  8. AD教程系列 | 1-认识基本电子元器件、封装和读数
  9. 51单片机入门教程(6)——外部中断
  10. 自动驾驶_感知_目标检测(基于图像)
  11. 20个Android游戏源码,…
  12. 买二手iphone的建议
  13. laravel 理论
  14. 计算机设备全年销售表,2021年计算机机房设备行业财务部门表格模板汇总 .pdf
  15. 【C#】基于Opencv/Emgucv的身份证识别
  16. python function terminated un_python僵尸进程产生的原因
  17. 前苏格拉底时期的古希腊哲学流派
  18. 麻省理工学院计算机工程专业排名,美国大学排名大赏之计算机工程专业
  19. linux内核如何支持多核cpu,现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?...
  20. Java StringTokenzier

热门文章

  1. 如何打造城市夜游经济发展新引擎
  2. 抖音小店新手规则是什么;新入驻商家怎么运营小店。丨国仁网络资讯
  3. 实现拼写检查器(spell check)
  4. 球王礼遇:阿根廷足协大楼命名“梅西”,激励阿根廷足球再跨越
  5. windows10开机不自动启动iis的设置方法
  6. /* 三羊献瑞 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看【图1
  7. 国产软件企业期待化茧成蝶:标准是利益纽带
  8. 颜值经济下通过美颜SDK打造差异化有多重要?
  9. 剪辑视频,如何提取视频封面
  10. [经验分享]关于OBS推流直播时,显示器捕获黑屏问题的解决方法