死磕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

猜你喜欢

转载自blog.csdn.net/liuge36/article/details/102804014
今日推荐