數(shù)據(jù)庫管理工具DataGrip和idea、PyCharm等連接Phoenix

1 背景

Phoenix是基于Hbase的數(shù)據(jù)庫工具,它允許使用SQL和標(biāo)準(zhǔn)的JDBC api查詢Hbase中的數(shù)據(jù)。使用它可以在不了解hbase api的基礎(chǔ)上使用標(biāo)準(zhǔn)的SQL對hbase中的數(shù)據(jù)進行查詢、更改、插入等操作。

但是,目前網(wǎng)絡(luò)上關(guān)于使用數(shù)據(jù)庫連接工具連接Phoenix文章比較少,并且使用的都是SQuirrel(官方推薦),但是筆者一直沒有嘗試成功。后來筆者在DataGrip上測試成功了。在此將過程記錄下來。idea和Pycharm的的連接方法與DataGrip類似,以下以DataGrip為例。

2 驅(qū)動的下載和Phoenix的安裝

Phoenix的安裝
由于我使用的是服務(wù)器上的Phoenix服務(wù),所以在這里就不介紹Phoenix的安裝了,Phoenix的具體安裝方法參考官方文檔

JDBC驅(qū)動的下載
下載地址(直接下載二進制版本即可): https://phoenix.apache.org/download.html
需要注意的是版本必須與自己使用的Phoenix版本一致。
如需下載舊版本的Phoenix可以去這里下載https://archive.apache.org/dist/phoenix/

下載完成之后解壓文件,其中phoenix-xxx-client.jar的文件就是JDBC的驅(qū)動文件。

驅(qū)動文件

3 在DataGrip上添加Phoenix

3.1 添加Driver

按照如下的步驟添加Phoenix驅(qū)動:

  1. 設(shè)置驅(qū)動的名字
  2. 點擊+添加已經(jīng)下載好的驅(qū)動文件
  3. 直接從下拉菜單中選擇org.apache.phoenix.jdbc.PhoenixDriver或者直接輸入
  4. 點擊確認(rèn)即可添加成功
添加Phoenix驅(qū)動

3.2 添加數(shù)據(jù)源

  1. 按照如下的路徑點擊添加


    添加Data Source
  2. 按照如下進行設(shè)置


    設(shè)置連接屬性
  1. 錯誤解決
    (1)如果出現(xiàn)如下的報錯,則需要設(shè)置屬性(properties): phoenix.schema.isNamespaceMappingEnabled的值設(shè)置為true
[43M10][726] ERROR 726 (43M10):  Inconsistent namespace mapping properties.
Cannot initiate connection as SYSTEM:CATALOG is found but client 
does not have phoenix.schema.isNamespaceMappingEnabled enabled

設(shè)置方法如下:


設(shè)置properties

(2) 如果出現(xiàn)如下的兩種錯誤,是由于datagrip的啟動jdk版本太高,需要修改啟動jdk的版本

[08004][103] ERROR 103 (08004): Unable to establish connection. 
Unexpected version format: 11.0.3.
[08004][103] ERROR 103 (08004): Unable to establish connection. 
Could not initialize class org.apache.hadoop.hbase.util.ClassSize.

方案一:2019.2版本及之前版本的修改方法如下:

  • a) 點擊Navigate-Table/Rouete/Class
    切換JDK-1
  • b) 點擊Actions,輸入Switch Boot JDK,并點擊如下選項
    切換JDK-2
  • c) 選擇一個較低版本的jdk(如1.8)


    選擇一個較低版本的JDK

方案二:2019.2之后的版本如果找不到上述的選項,嘗試如下方法:

4 注意事項

  1. 設(shè)置phoenix.schema.isNamespaceMappingEnabled這一步很關(guān)鍵,如果出現(xiàn)相應(yīng)的錯誤一定要設(shè)置這個屬性;

  2. 如果按照以上的步驟還是報錯,請檢查Phoenix的驅(qū)動版本是否與使用的Phoenix的版本一致。如果在官網(wǎng)上找不到低版本的驅(qū)動,可以去這里下載:https://archive.apache.org/dist/phoenix/

  3. 其他的數(shù)據(jù)庫管理工具類似,關(guān)鍵是需要設(shè)置phoenix.schema.isNamespaceMappingEnabled

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容