1. 概述
2. 準備工作
2.1 版本和驅動
支援的資料庫版本 | 本文範例驅動下載 | 支援資料庫版本 |
---|---|---|
1.2 | phoenix-4.12.0-HBase-1.2-client.jar | org.apache.phoenix.jdbc.PhoenixDriver |
注:該驅動包也需要放置到 hbase/lib 下,然後重啟 Hbase ( 使用命令./stop-hbase.sh, 再./start-hbase.sh)
2.2 收集連結資訊
在連結資料庫之前,請收集以下資訊:
資料庫所在伺服器的 IP 位址和埠號;
資料庫的名稱;
若是帳號密碼認證,需要收集帳號和密碼;若是 Kerberos 認證,需要收集用戶端 principal 和 keytab 鍵路徑;
需要連結的資料庫模式;
3. 具體連結步驟
1)以管理者身分登入 FineBI ,點選「管理系統>資料連結>資料連結管理」,點選「新建資料連結」,如下圖所示:
注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限
2)找到 Hbase 的圖示,如下圖所示:
3)驅動切換為「自訂」選擇 2.1 節上傳的驅動,然後輸入 2.2 節的連結資訊。
Hbase 支援 Kerberos 認證,Kerberos 認證方式詳情可參見:資料連結Kerberos認證
注:使用者可以選擇性修改進階設定,詳細請參見 配置資料連結 4.3 節
4)點選「點選連結資料庫」,連結成功後選擇資料庫模式(若不選則使用預設模式)。最後儲存該資料連結,如下圖所示:
4. 新增資料庫的表至 FineBI
5. 注意事項
5.1 FineBI 一直處於啟動頁面
問題現象:
phoenix-4.12.0-HBase-1.2-client.jarput 命令 FineBI 安裝目錄FineBI/webapps/WebReport/WEB-INF/lib後,重啟 FineBI ,FineBI 一直處於啟動頁面。如下圖所示:
解決方法:
1)使用壓縮工具開啟phoenix-4.12.0-HBase-1.2-client.jar檔案,進入javax檔案,刪除el和servlet檔案,如下圖所示:
3)重啟 FineBI 。
5.2 新增資料集
Hbase 資料連結成功後,新增實時 SQL 資料集並製作自助資料集時,暫不支援資料庫表中帶有小寫和特殊符號(如“.”)的欄位名。若需要新增此類欄位,建議使用抽取資料。
5.3 JDBC 存取資料庫無法連結
問題現象:
JDBC 存取資料庫無法連結, 提示 get locations 錯誤或者 zookeeper 找不到對應的位址。
解決方案:
連結前請檢查 /etc/hosts 中的機器名對應 IP 是否為局域網 IP;
檢查 /etc/hostname 中機器名設定和 /etc/hosts 中是否配置一致;
檢查 FineBI 所在機器 hosts 配置的 IP 機器名 是否正確。
本地連結時需要配置 /etc/hosts 檔案,新增遠端映射:IP 機器名,例如: 192.168.5.206 centos-phoenix
5.4 使用 SQuirrel 連結方法
解決方案:
參考 http://phoenix.apache.org/installation.html#SQL_Client,在 https://sourceforge.net/projects/squirrel-sql/?source=typ_redirect 下載 SQuirrel ,預設安裝後,將 phoenix-xxxx-client.jar 放到%SQuirrel_HOME%/lib下,啟動 SQuirrel 後, 先新增驅動重新整理增 Alias 即可。
6. 連結異常問題
6.1 問題描述
連結華為大數據平台 Hbase 資料庫異常,使用說明文檔中的驅動,會報錯:Unable to find org.apache.hadoop.hbase.ipc.NettyRpcClient ,NettyipcCilent 方法找不到,如下圖所示:
6.2 原因分析
當前資料庫環境對 configration 有額外配置,按以往方式連結會出現配置檔案讀取異常。
6.3 解決方案
調整配置檔案和連結 URL 的寫法,解決校驗問題,實現資料庫直連。
修改配置檔案:將使用的配置方法寫入到 Hbase-siste.xml 中,再put 命令到相關的 jar 包中
修改 URL :Hbase資料連結 URL 格式改為:jdbc:phoenix:quorum:port/database:pricinpal:keytabPath,透過解析 URL 可以得到相關屬性,並且會優先使用 URL 中得到的屬性配置。