死磕Zeppelin~01 【编译安装】
1 Zeppelin 介绍
基于 Web网页 进行 交互式的数据分析 的笔记本,有数据可视化功能。
支持多种语言,比如SQL,Scala等等
zeppelin —> 相当于一个paltform:可插拔式的安装各个环境、组件进行数据分析
2 zeppelin主要模块:
2.1.zeppelin-server:
项目入口,通过Jetty 【web 服务器】内嵌的服务 提供的WebSocket和Restful服务
提供了基本的权限认证,用Java编写的
2.2.zeppelin-zengine:
实现NoteBook的持久化和检索服务
2.3.zeppelin-interpreter:
抽象的interpreter接口,规定了解释器的功能
并且跟 zeppelin-zengine 通过Thrift 进行通信
open 初始化只会调用一次
close 关闭资源释放接口,只会用一次
interpert 执行代码返回结果,同步的方式
2.4.zeppelin-web:使用AnguarJs【前端技术】
操作流程:
zeppelin-web —> zeppelin-server/shiro —> zeppelin-zengine —> zeppelin-interpreter
服务是可插拔的 module/addon
3 zeppelin安装
安装方式两种:
1.源码编译
2.下载编译好的二进制文件 √
http://zeppelin.apache.org/docs/0.8.2/quickstart/install.html#building-zeppelin-from-source
编译流程总结:
前置准备:
安装Maven
安装JDK
安装npm 即 nodeJs
编译:版本0.8.2
// spark2.4.3 hadoop 2.6.0-cdh5.7.0
开始:
[root@hadoop001 zeppelin]# pwd
/root/softs/zeppelin
[root@hadoop001 zeppelin]# ./dev/change_scala_version.sh 2.11
接着:
mvn clean package \
-Pspark-2.4.3 \
-Phadoop-2.6 \
-Dhadoop.version=2.6.0-cdh5.7.0 \
-Pyarn \
-Pvendor-repo \
-DskipTests
推荐 升级版:
mvn clean package \
-Pspark-2.4 \
-Dspark.version=2.4.3 \
-Ppyspark \
-Phadoop-2.6 \
-Dhadoop.version=2.6.0-cdh5.7.0 \
-Pscala-2.11 \
-Dscala.version=2.11.8 \
-Pyarn \
-Pvendor-repo \
-Drat.skip \
-DskipTests \
-Dmaven.test.skip=true \
-Pbuild-distr
or
推荐 升级版2:
mvn clean package \
-Pspark-2.4 \
-Dspark.version=2.4.3 \
-Ppyspark \
-Phadoop-2.6 \
-Dhadoop.version=2.6.0-cdh5.7.0 \
-Pscala-2.11 \
-Dscala.version=2.11.8 \
-Pyarn \
-Pvendor-repo \
-Drat.skip \
-DskipTests \
-Dmaven.test.skip=true \
-Denforcer.skip=true \
-Pbuild-distr
-Pbuild-distr // 得到tar包
拓展:
1.一点说明
interperter
和
interperterGroup:
hive mysql phoenix 都是
hive: hiveserver2这个服务进行连接
跟
mysql :也是走的jdbc
即都是通过JDBC来进行连接的
2.编译过程中可能存在的错误:
Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1
尝试:修改pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce</id>
<phase>validate</phase>
<goals>
<goal>display-info</goal>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<!--规则检查不通过就构建失败;Default:false. -->
<!--<failFast>true</failFast>-->
<rules>
<requireMavenVersion>
<version>3.0.4</version>
</requireMavenVersion>
<requireJavaVersion>
<version>1.8.0</version>
</requireJavaVersion>
<bannedDependencies>
<!--是否检查传递性依赖(间接依赖)-->
<searchTransitive>true</searchTransitive>
<excludes>
<exclude>junit:junit</exclude>
</excludes>
<message>must use TestNG</message>
</bannedDependencies>
</rules>
</configuration>
</plugin>
第二种方式解决:
mvn clean install -U
第三种方案:
看自己的JDK版本是否匹配
第四种方案:
如果某些情况下不检查环境,可以在maven命令上加一个 -Denforcer.skip=true 来跳过enforcer插件执行。
例如:mvn clean validate -Denforcer.skip=true
https://www.cnblogs.com/qyf404/p/4829327.html