1. 程式人生 > >大資料可視平臺Davinci的安裝與配置攻略

大資料可視平臺Davinci的安裝與配置攻略

Davinci既可作為公有云/私有云獨立使用,也可作為視覺化外掛整合到三方系統。使用者只需在視覺化UI上簡單配置即可服務多種資料視覺化應用,並支援高階互動/行業分析/模式探索/社交智慧等視覺化功能。

一、環境準備

  • JDK 1.8(或更高版本)
  • MySql5.5(或更高版本)
  • Mail Server
  • PhantomJs(安裝請參考:phantomjs.org)
  • Redis(可選)

二、配置部署

1) 初始化目錄,將下載好的 Davinci 包(Release 包,不是 Source 包)解壓到某個系統目錄,如:~/app/davinci

cd ~/app/davinci
unzip davinci-assembly_3.0.1-0.3.0-SNAPSHOT-dist.zip

解壓後目錄結構如下圖所示:

2) 配置環境變數,將上述解壓後的目錄配置到環境變數 DAVINCI3_HOME

export DAVINCI3_HOME=~/app/davinci/davinci-assembly_3.0.1-0.3.0-SNAPSHOT-dist

3) 初始化資料庫,修改 bin 目錄下 initdb.sh 中要的資料庫資訊為要初始化的資料庫,如 davinci0.3

mysql -P 3306 -h localhost -u root -proot davinci0.3 < $DAVINCI3_HOME/bin/davinci.sql

執行指令碼初始化資料庫(注:由於 Davinci0.3 系統資料庫中包含儲存過程,請務必在建立資料庫時賦予執行許可權)。**

sh bin/initdb.sh

4) 初始化配置,Davinci0.3 的配置主要包括:server、datasource、mail、phantomjs、cache 等配置

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

cd config
mv application.yml.example application.yml

注:由於0.3版本使用 ymal 作為應用配置檔案格式,請務必確保每個配置項鍵後的冒號和值之間至少有一個空格

server 配置

server:
  protocol: http
  address: 127.0.0.1
  port: 8080
     
  access:
    address: 192.168.1.1
    port: 80

server 配置如上示例所示,server.access.address和server.access.port表示真實訪問地址和埠,預設不開啟,其值預設為server.address和server.port。

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

datasource 配置

這裡的 datasource 配置指 Davinci 系統的資料來源,配置如下:

spring:
  datasource:
	url: jdbc:mysql://localhost:3306/davinci0.3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    initial-size: 2
    min-idle: 1
    max-wait: 60000
    max-active: 10

將上一步初始化的資料庫地址配置到url中,url 中的引數不要做任何修改,然後修改正確的資料庫訪問使用者和密碼即username和password。

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

mail 配置

注:0.3 版本使用者採用註冊啟用的方式維護,所以 mail 配置是此版本必不可少的,且 mail 配置出錯率較高,請務必注意

spring:
  mail:
    host: smtp.****.com
    port: 25
    username: example@***.com
    password: example_password
    nickname: Davinci
         
    properties:
      smtp:
        starttls:
          enable: true
          required: true
        auth: true
      mail:
        smtp:
          ssl:
            enable: false

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

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

phantomjs 配置

phantomjs 是用來定時傳送報表截圖的,只需要配置安裝好的 phantomjs 可執行檔案地址即可,如:

phantomjs_home: /usr/local/bin/phantomjs

cache 配置(可選)

cache 這裡用 redis 作為快取服務,配置如下:

spring:
	redis:
	  isEnable: false
	  host: 10.143.131.119
	  port: 6379
   	  
	#  cluster:
	#       nodes:
   	
	  password:
	  database: 0
	  timeout: 1000
	  jedis:
	    pool:
	      max-active: 8
	      max-wait: 1
	      max-idle: 8
	      min-idle: 0

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

其他配置

日誌配置檔案為config/logback.xml,如當前的日誌配置不能滿足你的要求,可自定義配置日誌模式。

三、資料來源配置

Davinci0.3 理論上支援所有有 JDBC 的資料來源,我們預設支援的資料來源有:

資料來源名稱驅動類
mysqlcom.mysql.jdbc.Driver
oracleoracle.jdbc.driver.OracleDriver
sqlservercom.microsoft.sqlserver.jdbc.SQLServerDriver
h2org.h2.Driver
phoenixorg.apache.phoenix.jdbc.PhoenixDriver
mongodbmongodb.jdbc.MongoDriver
elasticSearch – prestocom.facebook.presto.jdbc.PrestoDriver
moonboxmoonbox.jdbc.MbDriver
cassandracom.github.adejanovski.cassandra.jdbc.CassandraDriver
clickhouseru.yandex.clickhouse.ClickHouseDriver
kylinorg.apache.kylin.jdbc.Driver
verticacom.vertica.jdbc.Driver
hanacom.sap.db.jdbc.Driver
impalacom.cloudera.impala.jdbc41.Driver

值得注意的是,Davinci 內部只提供了 MySql 的驅動包,也就是說,如果你要使用其他資料來源,還需將對應驅動jar 包手動拷貝到lib目錄並重新啟動 Davinci 服務;Davinci 連線 ElasticSearch 目前使用 NLPchina提供的elasticsearch-sql,系統內部預設 ElasticSearch 版本為5.3.2,對應的 elasticsearch-sql 版本是5.3.2.0。

同理,如果你的 ElasticSearch 不是5.3.2,首先需要你手動下載 NLPchina 提供的對應版本的 jar,然後替換掉目前lib下的 jar,包括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 版本號)。

另外值得注意的是,如果你的資料來源不在以上列表中,也可以通過自定義配置注入資料來源,否則沒必要開啟,除非你知道在做什麼:

1)開啟自定義資料來源配置檔案

mv datasource_driver.yml.example datasource_driver.yml

2)如下配置你的資料來源,這裡以 postgresql 為例

postgresql:
   name: postgresql
   desc: postgresql
   driver: org.postgresql.Driver
   keyword_prefix:
   keyword_suffix:
   alias_prefix: \"
   alias_suffix: \"

注意

  • 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 服務。

開源地址https://github.com/edp963/davinci

參考文件-Davinci使用者手冊https://edp963.g