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 GithubInstall 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

注意:这里的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. 安装好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进入我的博客主页

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-02 02:13:47

Spark交互式分析平台Apache Zeppelin的安装的相关文章

Spark快速上手之交互式分析

1.1  Spark交互式分析 运行Spark脚本前,启动Hadoop的HDFS和YARN.Spark的shell提供 了简单方式去识别API,同样也有一个强大的工具去交互式地分析数据.两种语言有这样的交换能力,分别是Scala 和 Python.下面将演示如何使用Python来分析数据文件. 进入Spark安装主目录,输入下面的命令,python命令行模式将会启动. ./bin/pyspark Spark的主要抽象是一个称之为弹性分布式数据集(Resilient Distributed Dat

Apache Zeppelin安装及介绍

背景 Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化.背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等.它的整体展现和使用形式和Databricks Cloud是一样的,就是来自于当时的demo. Mac OS上安装 目前github上,zeppelin版本是0.5.0,没用预先编译好的包提供下载.安装文档:http://zeppelin.inc

安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台

本文是参考logstash官方文档实践的笔记,搭建环境和所需组件如下: Redhat 5.7 64bit / CentOS 5.x JDK 1.6.0_45 logstash 1.3.2 (内带kibana) elasticsearch 0.90.10 redis 2.8.4 搭建的集中式日志分析平台流程如下: elasticsearch 1.下载elasticsearch. wget https://download.elasticsearch.org/elasticsearch/elasti

大数据平台HDP-2.6.4安装与配置

大数据平台HDP-2.6.4 安装 与配置 标签(空格分隔): 大数据平台构建 一: 关于HDP的介绍 二: 系统环境介绍 三: 系统环境初始化 四: 安装HDP-2.6.4平台 五: 启用NameNode HA 与 YARN HA 一:关于HDP的介绍 1.1:hdp 是什么 HDP全称叫做Hortonworks Data Platform. Hortonworks数据平台是一款基于Apache Hadoop的是开源数据平台,提供大数据云存储,大数据处理和分析等服务.该平台是专门用来应对多来源

ELK+redis搭建日志分析平台

ELK+redis搭建日志分析平台 1.ELK简介 ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析:redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据.然后elasticsearch就可以进行分析和查询了. 本文搭建的的是一个分布式的日志收

centos7搭建ELK Cluster日志分析平台(一)

应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台. 官网下载地址:https://www.elastic.co/downloads  Elasticsearch: 一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasticsearch是用Java开发的,并作为Apache许可条款

Apache Zeppelin简介

Zeppelin是一个Apache的孵化项目. 一个基于web的笔记本,支持交互式数据分析.你可以用SQL.Scala等做出数据驱动的.交互.协作的文档.(类似于ipython notebook,可以直接在浏览器中写代码.笔记并共享) 多用途笔记本 可实现你所需要的: - 数据采集 - 数据发现 - 数据分析 - 数据可视化和协作 支持多种语言,默认是scala(背后是spark shell),SparkSQL, Markdown 和 Shell. 甚至可以添加自己的语言支持.如何写一个zepp

ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://tchuairen.blog.51cto.com/3848118/1861167 什么要做日志分析平台? 随着业务量的增长,每天业务服务器将会产生上亿条的日志,单个日志文件达几个GB,这时我们发现用Linux自带工具,cat grep awk 分析越来越力不从心了,而且除了服务器日志,还有程序报错日志,分布在不同的服务器,查阅繁琐. 待解决的痛点: 1.大量不同种类的日志成为了运

Apache Zeppelin是什么?

Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化.背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等.它的整体展现和使用形式和Databricks Cloud是一样的,就是来自于当时的demo. Zeppelin是一个Apache的孵化项目.一个基于web的笔记本,支持交互式数据分析.你可以用SQL.Scala等做出数据驱动的.交互.协作的文档.(类