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