全栈工程师开发手册 (作者:栾鹏)
架构系列文章


官网地址: http://zeppelin.apache.org/docs/0.8.2/

k8s安装部署

官网地址:http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030571

https://zeppelin.apache.org/docs/0.8.0/quickstart/tutorial.html

Apache Zeppelin解释器概念允许将任何语言/数据处理后端插入到Zeppelin中。目前,Apache Zeppelin支持许多解释器,如Apache Spark,Python,JDBC,Markdown和Shell。

在这里插入图片描述

绑定mysql

在解释器中修改jdbc配置。

注意:驱动名应该是com.mysql.jdbc.Driver,而不是org.mysql.jdbc.Driver
在这里插入图片描述
创建一个notebook,
在这里插入图片描述

HBase Shell解释器

先重构一下dockerfile

FROM apache/zeppelin:0.7.3
COPY mysql-connector-java-5.1.17.jar /zeppelin/interpreter/jdbc/
COPY ruby /usr/lib/hbase/lib/ruby/

hbase的包系统已经自带了,但是需要将hbase的配置文件。也就是hbase-site.xml文件。所以需要将hbase-site.xml以configmap的形式配置到pod中。

创建hbase解释器的notebook

输入

help
list

简介:

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

多用途笔记本

可实现你所需要的:

  • 数据采集
  • 数据发现
  • 数据分析
  • 数据可视化和协作

支持多种语言,默认是scala(背后是spark shell),SparkSQL, Markdown 和 Shell。

Apache Spark 集成

Zeppelin 提供了内置的 Apache Spark 集成。你不需要单独构建一个模块、插件或者库。
Zeppelin的Spark集成提供了:

  • 自动引入SparkContext 和 SQLContext
  • 从本地文件系统或maven库载入运行时依赖的jar包。更多关于依赖载入器
  • 可取消job 和 展示job进度

数据可视化

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

在这里插入图片描述

安装:

下载地址:http://zeppelin.apache.org/download.html

docker 安装

docker run --name zeppelin -p 8080:8080 --rm -v $PWD/logs:/logs -v $PWD/notebook:/notebook -e ZEPPELIN_LOG_DIR='/logs' -e ZEPPELIN_NOTEBOOK_DIR='/notebook' --name zeppelin apache/zeppelin:0.8.0

容器的启动命令是

bin/zeppelin-daemon.sh start

配置文件/zeppelin/conf/zeppelin-site.xml, 没有的话可以通过模板zeppelin-site.xml.template复制生成

比如我们可以修改服务的端口, 如果改动多可以通过配置文件的形式挂载进去.

<property>
  <name>zeppelin.server.port</name>
  <value>9090</value>
  <description>Server port.</description>
</property> 

这样通过本机的127.0.0.1:8080就可以打开web了
在这里插入图片描述

配置zepplin 连hive:

下载hive-jbdc的包, 下载地址:https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc

直接在hive的lib目录下也能知道到这个包.

将hive-jdbc-2.3.4.jar复制到zepplin/lib/下

配置Interpreters的hive jdbc连接。

然后在note里加
%hive
就OK了


编译适合cdh的zeppelin
http://blog.cloudera.com/blog/2015/07/how-to-install-apache-zeppelin-on-cdh/
https://rui.sh/deploy_zeppelin_on_CDH_with_Spark_R_Interpreter.html
安装nodejs:
http://www.jianshu.com/p/783906f10d58

Run as root on RHEL, CentOS or Fedora:
curl -sL https://rpm.nodesource.com/setup | bash -

Then install, as root:
yum install -y nodejs

yum install maven

mvn clean package -Pbuild-distr -Pyarn -Pspark-2.0.1 -Dspark.version=2.0.1 -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.9.0 -Ppyspark -Psparkr -Pvendor-repo -DskipTests 

编译需要一定的时间,如果中途出错,可以根据日志,修正以后,通过命令-rf :step来继续编译,比如我在过程中因为网络原因,卡在了:zeppelin-web这个步骤,就可以使用mvn clean package -Pbuild-distr -Pyarn -Pspark-2.0.1 -Dspark.version=2.0.1 -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.9.0 -Ppyspark -Psparkr -Pvendor-repo -DskipTests  -rf :zeppelin-spark-dependencies_2.10继续刚才的编译。

开始maven编译下载依赖特别慢。于是搜配置maven仓库setting,
修改/etc/maven/setting.xml:在 < mirrors> 标签中加入:
      <mirror>
           <id>alimaven</id>
           <mirrorOf>central</mirrorOf>
           <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
         </mirror>

       <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
         </mirror>
        <!-- 中央仓库2 -->
        <mirror>
           <id>repo2</id>
           <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
           <url>http://repo2.maven.org/maven2/</url>
        </mirror>
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐