Spark交互式分析平台Apache Zeppelin的安装

Zeppelin介绍

Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括Spark, Hive, tajo等,原生支持Scala, Java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是一样的,就是来自于当时的demo。

Zeppelin可实现你所需要的: 
- 数据采集 
- 数据发现 
- 数据分析 
- 数据可视化和协作

支持多种语言,默认是scala(背后是spark shell),SparkSQL, Markdown 和 Shell。 
 
甚至可以添加自己的语言支持。如何写一个zeppelin解释器

Zeppelin特性

Apache Spark 集成

Zeppelin 提供了内置的 Apache Spark 集成。你不需要单独构建一个模块、插件或者库。 
Zeppelin的Spark集成提供了: 
- 自动引入SparkContext 和 SQLContext 
- 从本地文件系统或maven库载入运行时依赖的jar包。更多关于依赖载入器 
- 可取消job 和 展示job进度

数据可视化

一些基本的图表已经包含在Zeppelin中。可视化并不只限于SparkSQL查询,后端的任何语言的输出都可以被识别并可视化。 
Bank 

动态表格 
Zeppelin 可以在你的笔记本中动态地创建一些输入格式。 

协作 
Notebook 的 URL 可以在协作者间分享。 Zeppelin 然后可以实时广播任何变化,就像在 Google docs 中一样。 

发布 
Zeppelin提供了一个URL用来仅仅展示结果,那个页面不包括Zeppelin的菜单和按钮。这样,你可以轻易地将其作为一个iframe集成到你的网站。 

Zeppelin的安装部署

由于Zeppelin目前不提供binary安装包,所以这里Zeppelin的安装需要自己编译。 
这里可以参考Zeppelin Github和Install Zeppelin

准备工作

需要 
Java 1.7 
Tested on Mac OSX, Ubuntu 14.X, CentOS 6.X 
Maven (if you want to build from the source code) 
Node.js Package Manager

在Ubuntu环境下可以这样安装:

sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo apt-get install git
sudo apt-get install maven
sudo apt-get install npm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

注意:这里的maven工具如果不是最新的源的话,可能只是maven2,zeppelin的编译需要maven3,不然一些工具的下载会受到影响,可以从maven官网下载二进制压缩包,直接使用。 
这里还需要node命令,apt-get安装npm时候会自动安装nodejs命令,这里只需要建立一个链接就可以:sudo ln -s /usr/bin/nodejs /usr/bin/node

zeppelin-web项目的安装配置

我在之前对zeppelin整个项目进行maven部署的时候总是出现zeppelin-web项目的失败,不得其解,参照网上的方法,对zeppelin-web项目进行单独的安装配置。 
这里每一步都很关键,我在这里的配置安装折腾了很多次,最终才能正常的完成安装,下面一一道来。

删除zeppelin-web项目的pom.xml下面给出的内容,换做手动安装:

<plugin><groupId>com.github.eirslett</groupId><artifactId>frontend-maven-plugin</artifactId><version>0.0.23</version><executions><execution><id>install node and npm</id><goals><goal>install-node-and-npm</goal></goals><configuration><nodeVersion>v0.10.18</nodeVersion><npmVersion>1.3.8</npmVersion></configuration></execution><execution><id>npm install</id><goals><goal>npm</goal></goals></execution><execution><id>bower install</id><goals><goal>bower</goal></goals><configuration><arguments>--allow-root install</arguments></configuration></execution><execution><id>grunt build</id><goals><goal>grunt</goal></goals><configuration><arguments>--no-color --force</arguments></configuration></execution></executions></plugin>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

手动安装步骤: 
1. 安装好npm和node 
2. 进入zeppelin-web目录下,执行npm install。它会根据package.json的描述安装一些grunt的组件,安装bower,然后再目录下生产一个node_modules目录。 
3. 执行bower –-allow-root install,会根据bower.json安装前段库依赖,有点类似于java的mvn。 
4. 执行grunt --no-color –-force,会根据Gruntfile.js整理web文件。 
第3、4步要注意,本来给定的bower和grunt文件中使用的"node/node"命令,因为使用maven自动安装时,会在当前目录下生成node目录,其中包含node命令。我们之前已经安装了nodejs命令,并新链接了命令node,所以这里需要将其修改为"node"。 
5. 执行mvn install -DskipTests,把web项目打包,在target目录下会生成war 
pom.xml在生成war包的时候,要参照dist\WEB-INF\web.xml文件,所以在执行该步骤之前,要明确zeppelin-web目录下由dist目录,才能最终生成正确的war包。

其他zeppelin项目的编译

其他项目的编译依照正常程序进行就可以,安装文档:http://zeppelin.incubator.apache.org/docs/install/install.html

根据自己的方式进行编译: 
Local mode: 
mvn install -DskipTests 
Cluster mode: 
mvn install -DskipTests -Dspark.version=1.1.0 -Dhadoop.version=2.2.0

配置

配置文件为环境变量文件(conf/zeppelin-env.sh)和Java属性文件(conf/zeppelin-site.xml)。根据自己的要求进行配置。

启动、关闭

启动、关闭Zeppelin进程命令为: 
bin/zeppelin-daemon.sh start 
bin/zeppelin-daemon.sh stop

参考资料

Apache Zeppelin安装及介绍

转载请注明作者Jason Ding及其出处 
GitCafe博客主页(http://jasonding1354.gitcafe.io/) 
Github博客主页(http://jasonding1354.github.io/) 
CSDN博客(http://blog.csdn.net/jasonding1354) 
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles) 

Google搜索jasonding1354进入我的博客主页


-------------

更多的Java,Angular,Android,大数据,J2EE,Python,数据库,Linux,Java架构师,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7 php zend,win7系统打开WZend Studio PHP出错的解决方法

很多朋友安装win7系统后&#xff0c;在使用的过程中会遇到win7系统打开WZend Studio PHP出错的情况&#xff0c;可能有很多用户还是不能自己处理win7系统打开WZend Studio PHP出错的问题&#xff0c;其实简单的来说处理win7系统打开WZend Studio PHP出错的问题只需要按照 1、在…

9个元素换6次达到排序序列_C语言必学的12个排序算法:希尔排序(第3篇)

基本思想希尔排序&#xff08;Shells Sort&#xff09;&#xff0c;以发明人命名&#xff0c;又称为缩小增量排序&#xff0c;也是一种插入排序算法。主要思想&#xff1a;直接插入排序算法时间和待排数据有关&#xff0c;其平均复杂度是O(n^2)&#xff0c;但是在待排数据已经有…

java快捷键禁用_pycharm 掌握这些快捷键,你就是大神!!

最重要的快捷键1. ctrlshiftA:万能命令行 2. shift两次:查看资源文件新建工程第一步操作1. module设置把空包分层去掉,compact empty middle package 2. 设置当前的工程是utf-8,设置的Editor-->File Encodings-->全部改成utf-8,注释1. ctrl/:单行注释光标操作1. ctrlalte…

如何在 5 分钟内读懂区块链的架构思维?

作为入门者&#xff0c;如何在最短的时间了解区块链技术&#xff0c;区块链思维&#xff0c;以及比特币的金融原理呢&#xff1f;本文尝试从比特币的架构设计思维出发&#xff0c;让人从宏观上搞清楚区块链的技术本质。 本文授权转载自阿里技术 作者 | 郑吉 区块链不是一种技术…

魅族Flyme5.x以上系统INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

用android studio 连接魅族flyme5.0安装app&#xff0c;报 Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决方法&#xff1a; 1、进入手机管家 2、权限管理 3、usb安装管理 4、关闭 完美解决问题

php取key的value值,获取数组中key和value的值

方法1&#xff1a;PHP 4 引入了 foreach 结构&#xff0c;和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组&#xff0c;当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法&#xff0c;第二种比较次要但却是第一种的有用…

arduino 上传项目出错_Arduino多核编程:简单例子

不管你是Arduino领域的新手还是经验丰富的开发人员&#xff0c;很可能你还只使用过单核在进行编程。 这没有什么好笑的---- 事实上&#xff0c;直到几天前我才使用Arduino IDE进行了第一次多核编程。 我和所有其他Arduino粉丝都非常喜欢IDE的易用性以及MicroController 开发所需…

Hadoop-RPC应用demo

Hadoop里的rpc框架可以单独拿出来使用。jar包全在hadoop-common工程里。 导入hadoop-common工程里&#xff08;hadoop-2.7.3为例&#xff09;&#xff1a; hadoop-common-2.7.3.jar \hadoop-2.7.3\share\hadoop\common\lib下的全部jar包 实例 rpc.client 客户端 rpc.pr…

php 变量 可用拼音表示,php汉字转拼音的示例

. 代码如下:class Helper_Spell{public $spellArray array();static public function getArray() {return unserialize(file_get_contents(pytable_without_tune.txt));}/*** desc 获取字符串的首字母* param $string 要转换的字符串* param $isOne 是否取首字母* param $uppe…

Opencv-Python:图像尺寸、图像的读取、显示、保存与复制

Opencv-Python&#xff1a;图像尺寸、图像的读取、显示、保存与复制 原创 2017年11月23日 21:30:494440在使用opencv的方法时&#xff0c;首先必须导入opencv包。新的opencv导入cv2&#xff0c;这里也和cv做了一个对比 [python] view plaincopy import cv2 一、图像尺寸 图像的…

宝塔面板服务器ip地址修改_「网站」快速搭建服务器环境及网站

目录&#xff1a;「NAS」我的搭建NAS全过程在文章开头我想说明的是&#xff0c;此文章中所使用的工具为 BT 面板即宝塔面板&#xff0c;适合小白使用但是对于想要提升个人能力来说&#xff0c; BT 面板并不是一个好选择&#xff0c;而作为新手来说&#xff0c;可以使用该面板进…

redis启动报错-磁盘满了

imjournal: fopen() failed for path: ‘/var/lib/rsyslog/imjournal.state.tmp’: Structure needs cleaning [v8.24.0-57.el7_9.1 try http://www.rsyslog.com/e/2013 ] 1.查看服务状态 systemctl status rsyslog 2.尝试重启服务 systemctl restart rsyslog 3.查看分区占用情…

杨辉三角python_Python面试150题汇总,都是常问的面试题!

周末&#xff0c;Python面试题每日一题暂停更新&#xff0c;下面把最近整理的1-50篇Python面试文整理一下&#xff0c;平时文章都放在比较末尾&#xff0c;阅读量都不高&#xff0c;相信很多人都没看过&#xff0c;如果对于Python感兴趣的&#xff0c;建议可以认真阅读一下&…

java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.nokia.wlanapp, PID: 18526java.lang.RuntimeException: Error receiving broadcast Intent { actandroid.net.wifi.SCAN_RESULTS flg0x4000010 (has extras【外部】) } in com.nokia.wlanapp.Receive…

shell 整数条件判断

两个整数的比较 整数1 -eq 整数2 判断整数1是否和整数2相等(相等为真) 整数1 -ne 整数2 判断整数1是否和整数2不相等(不相等位置) 整数1 -gt 整数2 判断整数1是否大于整数2(大于为真) 整数1 -lt 整数2 判断整数1是否小于整数2(小于为真) 整数1 -ge 整数2 判断整数1是否大于等于…

php处理上传文件的步骤,php文件上传步骤

我们在开发网站的时候&#xff0c;经常会遇到需要制作文件上传功能&#xff0c;下面我们就为大家介绍一下php制作文件上传功能的详细步骤。推荐教程&#xff1a;PHP视频教程第一步&#xff1a;创建一个文件上传表单允许用户从表单上传文件是非常有用的。请看下面这个供上传文件…

matlab求傅里叶级数展开式_傅里叶级数:从向量的角度看函数

帮助你理解线性代数与机器学习紧密结合的核心内容下文节选自北大出版社《机器学习线性代数基础》, [遇见]已获授权许可. 这本书不同于传统教材, 从新的角度来介绍线性代数的核心知识, 讲解也很棒, 又刚好参加参加了当当每满100-50的活动, 感兴趣的朋友可以关注下. 傅里叶级数&a…

c++实现超声回波包络检测_超声波物位计的选用

超声波物位计超声波在气体、液体和固体介质中以一定速度传播时因被吸收而衰减&#xff0c;但衰减程度不同&#xff0c;在气体中衰减最大&#xff0c;而在固体中衰减最小&#xff1b;当超声波穿越两种不同介质构成的分界面时会产生反射和折射&#xff0c;且当这两种介质的声阻抗…

Android应用开发:CardView的使用及兼容

原文&#xff1a;http://blog.csdn.net/airk000/article/details/39520977 点击阅读原文 --------------------------------------------------------------- 引言 在Google I/O 2014上&#xff0c;Google公布了Android L Preview版本&#xff0c;此版本的UI有了非常大的改变…

云海技术u盘怎么恢复成普通盘_BITLOCKER加密中断数据无法读取恢复一例

同行求助此问题&#xff0c;密码客户是知道的&#xff0c;输入密码后提示如图&#xff1a;如果点击RESUME则提示如下&#xff1a;无视提示关闭提示框后再次提示分区需要格式化&#xff1a;PC3000 DE中可以添加虚拟驱动器解析BITLOCKER加密的分区&#xff0c;但该例添加虚拟驱动…