Zeppelin使用心得 Zeppelin使用心得总结_第1张图片

此次试验的项目是:

Zeppelin+Anaconda2(包括Tensorflow等深度学习库)+Spark On Yarn+SQL On Zeppelin整个环境的搭建的过程。

试验目标:

将该环境搭建好了之后,可以在zepplin上基于web界面进行scalapython的编程,并且可以直接通过web界面进行深度学习建模并通过Spark集群进行学习训练。可以做到即写即可再web界面运行。并且可以直接在web界面写sql语句进行可视化展示效果。




1 Yarn集群搭建

那么接下来我们首先要搭建好HadoopYarn集群,因为整个通过Zepplin提交给YarnJob需要通过Yarn的资源调度来启动Container,Container里面是具体的线程来进行具体的计算的。简单的说就是 分配好计算等资源。

对于Yarn集群搭建,其实可以就直接搭建hadoop集群。我的环境是通过Ambari一键部署的。这种方式非常简便。因此推荐通过Ambari来一键部署Yarn集群。

 

当我们部署好Yarn集群之后,我们需要在刚下载下来的Spark二进制文件的配置文件中做如下的配置

exportJAVA_HOME=/home/ubuntu/jdk1.8.0_121(这里替换您自己的jdk路径)

exportYARN_CONF_DIR=/home/ubuntu/yarn_conf(这里替换成您自己的yarn-site.xml路径)

这里其实就是通过YARN_CON_DIR来指定Spark On Yarn的时候Spark Job具体到哪里去找到ResourceManager。从而找到Yarn来进行资源调度。

科学计算库环境搭建(Anaconda2

接下来就按照Anaconda2了,Anaconda2直接在官网去下载的时候,一般其网络下载的速度都会非常的慢。我一气之下,找到了一个较好的下载源。所以推荐以下的下载地址。网络下载速度会好很多。

清华大学开源软件镜像站

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

您应该根据自己的系统具体情况来选择对应的版本。版本一定要兼容。所以这里也是避免出错的关键之一。

 

下载完成之后,给文件赋可执行权限之后,就可以直接运行安装。安装过程非常方便。一般情况下不会出错。

于是此时就可以安装Tensorflow,Numpy,Scipy,matplotlib等那一系列科学计算库了。

在安装科学计算库之前,如果您的网络速度不好的话,推荐使用阿里或者豆瓣的pip下载源(安装anaconda2的时候就直接安装了pip)。更改下载源的方式如下:

创建编辑 文件~/.pip/pip.conflinux系统下windows不一样)

[global]

trusted-host=mirrors.aliyun.com

index-url=http://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host= mirrors.aliyun.com

备注:index-url即源地址,trusted-host为源地址的域名,由于国内的源镜像都为使用https协议,所以如果不添加信任域就会报:

Thisrepository located at mirrors.aliyun.com is not a trusted host, if thisrepository is available via HTTPS it is recommend to use HTTPS instead,otherwise you may silence this warning with ‘–trusted-host mirrors.aliyun.com’.
DEPRECATION: Implicitly allowing locations which are not hosted at a secureorigin is deprecated and will require the use of –trusted-host in the future.
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages

 

 

我们可以

通过pip install tensorflow来下载tensorflow(深度学习框架)

通过pip insall numpy来下载numpy

通过 pip install scipy来下载scipy

通过pip install pandas来下载pandas

通过pip install matplotlib来下载matplotlib

等等,几乎所有的python科学计算库都可以通过该种方式进行下载,并且集成道anaconda的整个环境当中。

于是,到了这一步。我们的环境基本上完成了。

先来看看效果。



Zeppelin使用心得总结_第2张图片

 

接下来最后一步

那就是安装Zepplin并且配置好Spark在集群中运行job的一系列配置。

下载解压Zepplin我就不用多说了吧,直接到官网或者镜像库去下载就行了。只是和上面所说一样,也是要注意网络下载速度的问题,也是推荐一个镜像,就看你怎么选择了。地址如下:

https://mirrors.tuna.tsinghua.edu.cn/apache/

Zeppelin使用心得总结_第3张图片

 

进入到根目录下的conf目录之中,并且编辑zeppelin-env.sh文件

vim zeppelin-env.sh

 

加入如下的配置:

exportJAVA_HOME=/home/ubuntu/jdk1.8.0_121

exportSPARK_HOME=/home/ubuntu/spark-2.1.0-bin-hadoop2.7

exportPYSPARK_PYTHON=/root/anaconda2/bin/python

export PYTHONPATH=/root/anaconda2/bin/python

exportHADOOP_CONF_DIR=/home/ubuntu/yarn_conf

 

如果您想要知道为什么的话,就可以好好阅读以下官方提供的英文注释咯哦

Zeppelin使用心得总结_第4张图片

 

然后再根目录下的bin目录下执行 ./zeppelin-daemon.shstart(在此之前,我在zeppelin-site.xml文件中改了服务端口,默认为8080端口,由于8080端口被netflix开源的Genie占用了,于是我改成了服务端口为8081)

 

待启动完成之后,就可以通过web访问了。

首先你可以看看官方提供的教程。

但是个人觉得官方提供的教程太过于繁琐了。没有明确的思路。

个人大体就2个思路。

一就是配置解释器,二就是使用解释器,然后就没有了。

配置解释器:

Zeppelin使用心得总结_第5张图片

Zeppelin使用心得总结_第6张图片

然后可以看看默认的解释器(默认解释器有很多,比如spark

Zeppelin使用心得总结_第7张图片

我在此增加了一个自定义的解释器,如下所示

Zeppelin使用心得总结_第8张图片

这里一定要注意spark.cores.maxspark.executor.memory。这里的大小推荐和yarn上的一样。不然会报内存不足等等的错误。

Zeppelin使用心得总结_第9张图片

使用解释器:

创建一个note

Zeppelin使用心得总结_第10张图片

选择一个解释器

Zeppelin使用心得总结_第11张图片

最后就开始使用了(我们用python做一个测试)

Zeppelin使用心得总结_第12张图片

scala做测试

Zeppelin使用心得总结_第13张图片


Zeppelin使用心得总结_第14张图片

 

对应的yarn上也有对应的记录

 

Zeppelin使用心得总结_第15张图片

 

Spark Job监控如下

Zeppelin使用心得总结_第16张图片