阿里雲ECS主機Linux系統上安裝部署Davinci可視化工具應用步驟說明


1、環境准備

1.1、下載Davinci包

從github上下載Davinci的Release包或者通過Davinci的Source自行編譯打包

Davinci的官網地址
https://edp963.github.io/davinci/

Davinci的GitHub地址
https://github.com/edp963/davinci

選擇release版本進行下載

1.2、安裝

● JDK 1.8(或更高版本)

● MySql5.5(或更高版本)

● Mail Server (可使用相關公共郵件平台服務,不用安裝)

● phantomjs 或 chrome(需同時安裝chromedriver,清注意版本)

   phantomjs 的安裝步驟: https://blog.csdn.net/q5841818/article/details/77533017

● Redis(可選擇性安裝)

 

2、部署

將下載好的 Davinci 包(Release 包,不是 Source 包)解壓到某個系統目錄

cd /opt/davinci
unzip davinci-assembly_3.0.1-0.3.1-SNAPSHOT-dist-beta.9.zip

解壓后如下圖

 

3、配置環境變量

3.1、臨時環境變量配置

只對當前的shell 起作用的環境變量

將上述解壓后的目錄配置到環境變量 DAVINCI3_HOME

export DAVINCI3_HOME=/opt/davinci

3.2、永久的環境變量設置

對所有的用戶的都起作用的環境變量

修改 /etc/profile 文件,如果你的計算機僅僅作為開發使用時推存使用這種方法,因為所有用戶的shell都有權使用這個環境變量,可能會給系統帶來安全性問題。這里是針對所有的用戶的,所有的shell

vi /etc/profile
export DAVINCI3_HOME=/opt/davinci

然后保存,如下圖

使環境變量生效:

source /etc/profile

 

4、初始化數據庫

在Mysql上創建一個davinci0.3的數據庫

修改 bin 目錄下 initdb.sh 中要的數據庫信息為要初始化的數據庫

運行腳本初始化數據庫(注:由於 Davinci 系統數據庫中包含存儲過程,請務必在創建數據庫時賦予執行權限)
sh bin/initdb.sh

5、初始化配置

Davinci 的配置主要包括:server、datasource、mail、phantomjs、cache 等配置

進入config目錄,將application.yml.example重命名為application.yml 后開始配置

cd config

mv application.yml.example application.yml

mv datasource_driver.yml.example datasource_driver.yml

注意:由於 Davinci 使用 ymal 作為應用配置文件格式,請務必確保每個配置項鍵后的冒號和值之間至少有一個空格

5.1、server配置

     server 配置如上示例所示,server.access.address和server.access.port表示真實訪問地址和端口,默認不開啟,其值默認為server.address和server.port

  如你在虛擬主機上部署 Davinci,啟動端口為8080,該主機真實訪問IP地址為192.168.1.1,你將虛擬主機的8080端口映射到80端口,則需打開 access 配置項,否則將不能正常使用 Davinci 的部分功能,如激活賬號、下載、分享等

  由於使用的是阿里雲的ECS彈性服務器(虛擬主機),所以server.address處務必使用0.0.0.0(原地址為127.0.0.1只能用於本機訪問),server.access.address則需要配置阿里雲的外網IP地址。

5.2、datasource 配置

datasource 配置指 Davinci 系統的數據源

將上一步初始化的數據庫地址配置到url中,url 中的參數不要做任何修改,然后修改正確的數據庫訪問用戶和密碼即username和password

initial-size、min-idle、max-wait、max-active是連接池參數,具體屬性請參考DruidDataSource配置屬性列表

5.3、mail配置

Davinci 使用注冊–郵件激活添加用戶,所以 mail 配置是必不可少的。

  mail 配置並不復雜,以上就是完整的 mail 配置了,username為郵箱地址,password郵箱服務密碼,需要注意的是常見免費郵箱(如 163 郵箱、QQ 郵箱、gmail 等)這里應填客戶端獨立密碼,可前往對應郵箱賬號設置頁面開啟 SMTP 服務,並申請客戶端授權碼(或獨立密碼,各郵箱提供商叫法不同)

  fromAddress 為可選項,默認為 username 的值,其存在的意義在於部分郵箱服務可能在認證時 username 和 addresss 不同,這時需要配置 fromAddress 作為郵件真實發送地址,username 為連接郵箱服務認證使用

下表為常見免費郵箱 SMTP 服務地址及端口:

 

注1:阿里雲購買的ECS服務器,阿里雲默認封禁TCP 25端口出方向的訪問流量,即無法在阿里雲上的雲服務器通過TCP 25端口連接外部地址。所以以上郵箱在設置的時候盡量不要用25端口。阿里雲25端口解禁參考:https://help.aliyun.com/knowledge_detail/56130.html?spm=5176.11065259.1996646101.searchclickresult.2fd73e40ygneZN

 

注2:使用免費郵箱smtp時除開啟相關服務外,要使用對應的授權碼。否則會郵箱報錯 javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

進入郵箱的幫助中心

 

首先打開郵箱的授權碼那里,一定要發送郵件的那個郵箱的授權碼。

POP3/SMTP服務授權碼或者(IMAP/SMTP服務授權碼)兩個都可以。隨便復制一個。復制郵箱給的授權碼,到yml配置文件的密碼那里。

5.4、截圖配置

截圖配置用於定時任務功能發送郵件正文中對可視化應用進行截圖

default_browser 為默認截圖瀏覽器,其值為PHANTOMJS或CHROME。如果選擇PHANTOMJS,則只需配置phantomjs_path;否則只需配置chromedriver_path

注意:phantomjs_path 需配置 PhantomJs 瀏覽器的可執行文件絕對地址, 而 chromedriver_path 需配置 Chromedriver (非Chrome)可執行文件絕對地址

至此,application.yml已經配置完成

5.5、cache配置(可選)

cache 用 redis 作為緩存服務,配置如下

如果要開啟 cache 服務,請將isEnable設為true,並要設置相關配置(單機方式請打開host和port,集群方式請打開cluster配置項,二者只能選擇一種)

由於 Davinci Cache 配置遵循 Spring 配置, 所以 Redis 配置除 isEnable 外,不必拘泥以上配置格式,如通過 sentinel 方式連接

5.6、LDAP配置(可選)

除domainName需配置企業郵箱后綴外,其他配置項遵循SpringBoot關於LDAP的配置, 需要注意的是,由於各組織、公司 LDAP 服務字段、域都不盡相同,如需對接 LDAP, 需自行修改源碼打包使用,具體修改文件為: server/src/main/java/edp/davinci/service/impl/LdapServiceImpl.java,只需修改findByUsername方法中關於LDAP 相關字段即可。

5.7、使用統計設置(可選)

使用統計開啟后將記錄可視化應用的使用數據和登錄終端信息

如果要開啟使用統計,請將enable設為true。統計數據默認情況下會存儲到 Davinci 自身使用的 mysql 數據庫中,也可以選擇存儲到 ElasticSearch 中

 

6、數據源配置

Davinci理論上支持所有有 JDBC 的數據源,默認支持的數據源有:

數據源名稱 驅動類
mysql com.mysql.jdbc.Driver
oracle oracle.jdbc.driver.OracleDriver
sqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver
h2 org.h2.Driver
phoenix org.apache.phoenix.jdbc.PhoenixDriver
mongodb mongodb.jdbc.MongoDriver
elasticSearch
presto com.facebook.presto.jdbc.PrestoDriver
moonbox moonbox.jdbc.MbDriver
cassandra com.github.adejanovski.cassandra.jdbc.CassandraDriver
clickhouse ru.yandex.clickhouse.ClickHouseDriver
kylin org.apache.kylin.jdbc.Driver
vertica com.vertica.jdbc.Driver
hana com.sap.db.jdbc.Driver
impala

com.cloudera.impala.jdbc41.Driver

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、Davinci 內部只提供了 MySql 的驅動包,也就是說,如果你要使用其他數據源,還需將對應驅動jar 包手動拷貝到lib目錄並重新啟動 Davinci 服務

2、如果你的數據源不在以上列表中,也可以通過自定義配置注入數據源,否則沒必要開啟,除非你知道在做什么

3、關於 ElasticSearch 數據源的配置情況說明:

Davinci 默認提供了 NLPchina提供的elasticsearch-sql(version: 5.3.2) 驅動,其強依賴 Druid(version: 1.0.15),所以為了避免 Druid 版本沖突,我們建議你在連接 ElasticSearch 時使用版本隔離的方式進行連接,具體請參考多版本隔離配置,你可以根據你的 ES 服務自由選擇驅動版本和 Druid 版本,甚至非 NLPChina 提供且支持 JDBC 的驅動包

使用 NLPchina 提供的驅動包需要確認包含以下依賴文件 elasticsearch-xxx.jar、transport-xxx.jar、x-pack-api-xxx.jar、x-pack-transport-xxx.jar、elasticsearch-sql-XXX.jar(xxx表示你的 ElasticSearch 版本號,XXX表示 NLPchina 對應 elasticsearch-sql 版本號)

4、關於 Mongo 數據源的配置情況說明:

由於 MongoDB 官方提供的驅動包沒有 Driver 類,需自行查找相應驅動包,目前 Davinci 默認指定的 Mongo 連接方式為(未提供驅動 jar 包):

jdbc url 以 jdbc:mongo:// 開頭,如果不符合你的需求,可通過配置自定義數據源解決

6.1、自定義數據源

1、打開自定義數據源配置文件

mv datasource_driver.yml.example datasource_driver.yml

2、如下配置你的數據源,這里以 postgresql 為例

注意

  • keyword_prefix和keyword_suffix表示關鍵字前綴和后綴,假設使用 mysql 數據庫,並將desc關鍵字作為字段使用,那么你的查詢語句應該是:
  • select `desc` from table 這里的 ‘`’ 就是前后綴,它們必須成對被配置,可以都為空
  • alias_prefix和alias_suffix表示別名前后綴,仍以 mysql 為例,假設你的 sql 語句如下:select column as '列' from table 。這里為 ‘column’ 起了別名為‘列’,那么‘’’將作為前后綴配置,前后綴必須成對被配置,可以都為空
  • 對於以上別名配置,你可以使用''將字符包起來,也可以使用轉義符\,二者只能出現一種

3、手動將相應的驅動 jar 包拷貝到lib目錄下

4、重啟 Davinci 服務

6.2、多版本隔離

如果你需要同時使用某個數據源的不同版本,需要以下配置:

1、在 datasource_driver.yml 中新增數據源配置,使用 version 字段標記數據源對應版本。version 字段為空時,默認讀取 lib 目錄下的驅動文件。這里以 hive 為例

 

2、在 lib/ext 下創建相應數據庫及其版本目錄(如無 ext 目錄,可自行創建) 如:lib/ext/hive2/1.1.0

3、將對應數據源的驅動包放入步驟2 創建的目錄

4、重啟服務器

5、在 source 新增或修改時選擇數據源,詳情參考 數據源 - 新增數據源

 

7、服務啟動

Davinci配置完成

bin/start-server.sh

如下圖

 出現這個,恭喜安裝成功

 

 

8、登錄

輸入IP:端口,進入主頁

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM