Ubuntu下基于Saprk安装Zeppelin
前言
Apache Zeppelin是一款基于web的notebook(类似于ipython的notebook),支持交互式地数据分析,即一个Web笔记形式的交互式数据查询分析工具,可以在线用scala和SQL对数据进行查询分析并生成报表。原生就支持Spark、Scala、SQL 、shell 、markdown等。而且它是完全开源的,目前还处于Apache孵化阶段。其已经在各大公司均有采用,比如美团、微软等等。
Zeppelin的后台数据引擎可以是Spark,也可以通过实现更多的解释器来为Zeppelin添加数据引擎。在本地搭建一个Zeppelin 使得Spark更易用,同时可以很方便的将自己的工作成功展示给客户。
准备
sudo apt-get update //更新Apt
安装JDK
sudo apt-get install openjdk-8-jre openjdk-8-jdk
安装Hadoop
安装Spark
安装Git
sudo apt-get install git
安装Maven
sudo apt-get install maven
安装Npm
sudo apt-get install npm //Npm home: /usr/share/npm
安装Phantomjs
下载"phantomjs-1.9.8-linux-x86_64.tar.bz2"
解压至:/usr/local/phantomjs
安装Apache Zeppelin
源码下载
解压安装
Apache Zeppelin官方提供了Source包和二进制包,我们可以根据需要下载相关的包进行安装。
- 通过下载zeppelin的binary包:http://ftp.meisei-u.ac.jp/mirror/apache/dist/incubator/zeppelin/0.5.6-incubating/zeppelin-0.5.6-incubating-bin-all.tgz,然后解压缩安装。
tar -xzvf zeppelin--incubating-bin-all.tgz
通过编译源码的方式来安装Apache Zeppelin,我这里从Zeppelin的git库里面下载最新的源码进行编译。
$ git clone https://github.com/apache/incubator-zeppelin.git //下载最新的->解压至:/usr/local/zeppelin
编译Apache Zeppelin
- 本地模式:mvn clean package -DskipTests
- 集群模式:mvn package -Pspark-2.0 -Dhadoop.version=2.7.1 -Phadoop-2.7 -DskipTests -X
在安装过程中可能会出现各种问题,但是一般都是网络问题导致,重新执行下编译命令即可。但如果编译出现oom,需增加如下命令:
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
- 配置环境变量
ysp@YSP:~$ vim .bashrc
-openjdk-amd64 export SPARK_HOME=/usr/local/spark export HADOOP_HOME=/usr/local/hadoop export PHANTOMJS_HOME=/usr/local/phantomjs export ZEPPELIN_HOME=/usr/local/zeppelin export PATH=.:$PATH:/usr/local/hadoop/bin:/usr/local/phantomjs/bin:/usr/local/spark/bin:/usr/local/zeppelin/bin:/usr/lib/jvm/java--openjdk-amd64/bin;
ysp@YSP:~$ source .bashrc - 集群模式编译
ysp@YSP:~$ cd /usr/local/zeppelin ysp@YSP:/usr/local/zeppelin$ mvn package -Pspark- -Phadoop-2.7 -DskipTests -X
如果你需要使用到YARN,你必须在编译Zeppelin的时候指定-Pyarn选项。
配置
配置文件为环境变量文件(conf/zeppelin-env.sh)和Java属性文件(conf/zeppelin-site.xml)。根据自己的要求进行配置。
- 拷贝/usr/local/zeppelin/conf/zeppelin-env.sh.template和/usr/local/zeppelin/conf/zeppelin-site.xml.template至/usr/local/zeppelin/conf/zeppelin-env.sh与/usr/local/zeppelin/conf/zeppelin-site.xml。
- 编辑conf/zeppelin-env.sh
export JAVA_HOME=/usr/lib/jvm/java--openjdk-amd64 export SPARK_HOME=/usr/local/spark export HADOOP_CONF_DIR=/usr/local/hadoop export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0"
启动
在zeppelin_home目录下执行如下命令:
ysp@YSP:/usr/local/zeppelin$ ./bin/zeppelin-daemon.sh start

其启动/停止命令: bin/zeppelin-daemon.sh start/stop。
启动之后,打开localhost:8080访问zepplin主页。

测试
配置Spark解释器

创建Note

1.text
默认使用scala语言输出text内容:
println("Hello Yuan Siping!")
2.html
shell输出html:
%sh echo "%html <h2>Hello Zeppelin</h2>"

3.table
scala:
print(s"""%table name\tsize\nsun\t100\nmoon\t10""")


4.Tutorial with Local File
Data Refine:
下载bank数据:http://archive.ics.uci.edu/ml/machine-learning-databases/00222/bank.zip ,将csv格式数据转成Bank对象RDD,并过滤表头列:
val bankText = sc.textFile("/usr/data/bank/bank-full.csv")
case class Bank(age:Integer, job:String, marital : String, education : String, balance : Integer)
val bank = bankText.map(s=>s.split()!="\"age\"").map(
s=>Bank(s().toInt,
s().replaceAll("\"", ""),
s().replaceAll("\"", ""),
s().replaceAll("\"", ""),
s().replaceAll("\"", "").toInt
)
)
bank.toDF().registerTempTable("bank")

Data Retrieval:
执行以下语句,可看到年龄的分布:
%sql ) group by age order by age


动态输入maxAge参数(默认是30岁),查看小于maxAge岁的年龄分布:
%sql ) } group by age order by age

根据婚姻状况选项,查看年龄分布状况:
%sql ) from bank where marital="${marital=single,single|divorced|married}" group by age order by age

Ubuntu下基于Saprk安装Zeppelin的更多相关文章
- ubuntu下的openfire安装、配置、运行
openfire服务器 Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...
- 2010-01-20 12:09 ubuntu下minicom的安装及使用
转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- Ubuntu下Speedtest的安装
要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...
- Ubuntu下Apache的安装
Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- ubuntu下boost编译安装
ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...
- ubuntu 下redis的安装简介
Linux公社:https://www.linuxidc.com/topicnews.aspx?page=2&tid=2 简单介绍下ubuntu下redis的安装方式: 第一种: 1:进入re ...
- ubuntu下tomcat的安装及注册成系统服务
在ubuntu下tomcat的安装有两种方式,第一种是下载二进制文件,解压安装:第二种则是使用apt-get自动下载.这里不推荐第二种方法安装,因为这种方法安装会像天女散花一样把安装的文件散落在系统的 ...
随机推荐
- ASP.NET使用HttpModule压缩并删除空白Html请求
当我们压缩我的Response后再传到Client端时,可以明显节省宽带. 提升Site的性能. 现在的浏览器大部分都支持Gzip,Deflate压缩. 同时我们还可以删除一些空白段,空行,注释等以使 ...
- JAVA多态
多态是指当系统A访问系统B的服务时,系统B可以通过多种方式来提供服务,而这一切对系统A是透明的.比如动物园的饲养员能够给各种各样的动物喂食.下图显示了饲养员Feeder,食物Food和动物Animal ...
- [转载]iOS 10 UserNotifications 框架解析
活久见的重构 - iOS 10 UserNotifications 框架解析 TL;DR iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifica ...
- 数据结构:基于list实现二元表达式(python版)
#!/usr/bin/env python # -*- coding:utf-8 -*- def make_sum(a, b): return ['+', a, b] def make_prod(a, ...
- Python 历遍目录
Automate the Boring Stuff 学习笔记 01 使用 os 模块的 walk() 函数可以实现历遍目录的操作,该函数接收一个绝对路径字符串作为必选参数,返回三个参数: 当前目录—— ...
- 航旅事业群面试(li)
一.JVM 1.如何观察垃圾回收? 2.JAVA应用的JVM参数调优? 3.举例说明你所知道的JVM profile方法? 4.GC tunning实战.假如你是一个大型网站的总架构师,有次web应用 ...
- arcgis api for js入门开发系列三地图工具栏(含源代码)
上一篇实现了demo的地图加载展示,在上篇实现的基础上,新增了地图工具栏以及通用地图控件功能,比如地图框选缩放.地图漫游.清空.量算工具.地图导航控件.地图比例尺控件.地图鹰眼图等等,总共分为5个部分 ...
- 我的2013 Q.E.D
"旧历的年底毕竟最像年底,村镇上不必说,就在天空中也显出将到新年的气象来.灰白色的沉重的晚云中间时时发出闪光,接着一声钝响,是送灶的爆竹:近处燃放的可就更强烈了,震耳的大音还没有息,空气里已 ...
- MySQL备份锁
无论逻辑备份还是物理备份,为了获取一致性位点,都强依赖于FTWRL(Flush Table With Read Lock).这个锁杀伤力非常大,因为持有锁的这段时间,整个数据库实质上不能对外提供写服务 ...
- SQL语句查数据库中某一列是否有重复项
Select 列名,COUNT(列名)FROM 表名GROUP BY 列名HAVING COUNT( 列名 ) 〉1




