DBeaver連接hive、impala、phoenix、HAWQ、redis

目錄

一、DBeaver簡介

二、下載與安裝

三、連接hive

四、連接impala

五、連接phoenix

六、連接HAWQ

七、連接redis


        伴隨着技術的不斷髮展與進步,我們會接觸和使用越來越多的數據源。從經久不衰的MySQL、Oracle、SQLserver、DB2等關係數據庫,到方興未艾的MongoDB、Redis、Cassandra等NoSQL產品,再到屢見不鮮的各種大數據組件,如Hive、Impala、HBase、Phoenix、Spark,以及林林總總的時序數據庫、全文檢索系統、圖數據庫等等。如果有一個Client,能夠連接所有這些數據源,並將常規開發環境(如SQL腳本)都集中在一個GUI中,則必將爲技術人員節省大量尋找並熟悉相應工具的時間,從而提高工作效率。正所謂工欲善其事,必先利其器,本篇介紹的DBeaver正是這樣一款工具軟件。

一、DBeaver簡介

        DBeaver是一個是經過精心設計和開發的通用數據庫管理工具和客戶端,易用性是該產品的主要目標。DBeaver具有跨平臺、基於開源框架和允許各種擴展插件等特點,支持任何具有JDBC驅動程序的數據庫,可以處理多種外部數據源。它提供一個圖形界面用來查看數據庫結構、執行SQL查詢和腳本,瀏覽和導出數據,處理BLOB/CLOB 數據,修改數據庫結構等。

        下面是DBeaver具有的主要功能特性。
1. 可連接多種數據庫

        支持各種類型數據庫的驅動程序,包括關係數據庫、面向文檔數據庫、鍵值數據庫、時間序列數據庫和其它數據庫等。同時支持用戶定義的連接類型和創建自定義驅動程序。支持標準配置(主機、端口、用戶名、口令)以及高級連接屬性:

  • SSH隧道
  • SOCKS代理
  • 在實際數據庫連接之前/之後執行Shell命令

        在連接後可以立即在數據庫會話中自動執行初始SQL查詢。最新DBeaver企業版支持的全部數據庫參見https://DBeaver.com/databases/

2. NoSQL與BigData

        DBeaver企業版具有以下NoSQL與BigData的擴展:

  • MongoDB
  • Couchbase
  • Amazon DynamoDB
  • Google Bigtable
  • InfluxDB
  • Apache Cassandra
  • Redis
  • Apache Hive

        所有這些數據庫都有SQL接口,可以像處理關係數據庫一樣使用它們。DBeaver 企業版支持這些數據庫的所有原生數據類型和數據庫結構瀏覽。

3. 一體式

        DBeaver企業版包括以下擴展,而不需要安裝任何其它插件:

  • Office格式支持
  • 矢量圖形支持
  • SQL調試框架
  • 高級SSH算法

        大多數流行的數據庫驅動程序都包含在發行版中。爲了使用Eclipse Marketplace實現高級安全性和方便安裝第三方插件,提供了許多Eclipse擴展。

4. 高級安全性

  • 使用Kerberos或Active Directory身份驗證與企業用戶管理系統集成。
  • 將數據庫密碼保存在受密碼保護的安全存儲中,或使用本機操作系統密碼加密存儲。
  • 使用BouncyCastle高級安全算法通過SSH或SSL進行連接。

5. 數據查看和編輯

  • 多個數據視圖以滿足用戶的各種需要,例如將圖像內容(gif、png、jpeg、bmp)顯示爲圖像。
  • 在專用空間內聯編輯數據。
  • 方便數據導航。
  • 表內容或查詢結果的自定義過濾器,包括基於單元格值的過濾。
  • 查詢結果按列排序。
  • 應用過濾和排序導出數據。
  • 基於選定行生成SQL語句。
  • 所選列的基本統計信息。

6. 模擬數據生成器

        可以爲表生成隨機數據(或“模擬”數據)。企業版包括基本和高級數據生成器,包括:靈活的數字生成器、隨機字符串、姓名、地址、信用卡、域名和IP地址、自定義正則表達式等。

7. SQL編輯器

  • 將腳本組織到文件夾中併爲特定腳本重新分配數據庫連接。
  • 由與腳本關聯的數據庫確定的SQL語法突出顯示。
  • 支持不同數據庫的不同保留關鍵字集和系統功能。
  • 腳本的導入和導出。

8. 簡單友好的圖形化界面

  • 可以在不瞭解SQL的情況下構造複雜的SQL查詢。
  • 可視化生成表聯接/過濾/排序。
  • 在可視化模式下打開現有的SQL查詢,編輯並保存它們。
  • 隨時執行可視化構造的查詢並獲得結果。
  • 可視化分析複雜的SQL查詢。

9. 元數據管理

  • 提供數據庫連接樹,其元數據結構可向下到最低級別:表、視圖、列、索引、過程、觸發器、存儲實體(表空間、分區)和安全實體(用戶、角色)。
  • 根據數據庫驅動程序的功能修改大多數元數據實體的能力。
  • 數據庫對象DDL的顯示及按對象結構生成標準sql92ddl。
  • 能夠編輯/重命名/刪除連接和大多數數據庫對象。
  • 全局和本地過濾器,能夠按名稱篩選數據庫對象。

10. 數據傳輸
        將數據導出到一個文件或另一個數據庫表,如果目標表不存在,可以選擇創建該表。支持的文件格式包括:CSV、HTML、XML、JSON、XLS、XLSX。也可以直接從CSV文件將數據導入數據庫表,在嚮導中設置列映射和數據類型。可將數據傳輸配置另存爲任務並隨時運行。

11. ER圖

        爲db/schema(包含所有表)或單個表(包含所有引用/引用表)自動生成ER圖,可以自定義列的可見性。能將圖表導出爲以下格式:GIF、PNG、BMP、GraphML。

12. 數據和元數據搜索

  • 可以對所有選定表/視圖進行全文數據搜索。
  • 數據庫系統表中行的元數據搜索。
  • 能夠設置精確的對象名或搜索掩碼。

13.數據庫結構比較
        能夠比較任意類型的幾個數據庫對象:表、模式、整個數據庫等,並在HTML報表中顯示比較結果。

        最新DBeaver企業版功能特性參見https://DBeaver.com/features/

二、下載與安裝

        與很多開源軟件一樣,DBeaver也提供社區版和企業版兩種下載,社區版自由使用,而企業版是收費的,當然兩者功能上必然存在差別,參見https://DBeaver.com/edition/

        本次安裝DBeaver最新企業版,介質選擇64位Windows平臺的Zip包,官方下載地址爲https://DBeaver.com/files/DBeaver-ee-latest-win32.win32.x86_64.zip

        DBeaver需要Java 1.8或更高版本,因此首先需要確認Windows已經安裝了Java(OpenJDK11)。然後解壓DBeaver zip安裝包,並運行dbeaver.exe文件即可。解壓縮目錄爲D:\dbeaver。已經在Windows的hosts文件中配置好域名解析,能夠通過主機名訪問CDH集羣。

三、連接hive

        本節說明用DBeaver連接CDH 6.3.1中的hive服務。

1. 在Cloudera Manager中確認hive實例所在主機,如圖1所示。

圖1

        本例中HiveServer2部署在node1主機上。

2. 從CDH所在主機(任一)下載hive jdbc jar文件。

sz /opt/cloudera/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1470567/jars/hive-jdbc-2.1.1-cdh6.3.1-standalone.jar

3. 將hive-jdbc-2.1.1-cdh6.3.1-standalone.jar文件複製到D:\dbeaver\drivers\hive目錄中。

4. 運行D:\dbeaver\dbeaver.exe打開DBeaver,點擊左上角的“新建連接”,如圖2所示。

圖2

5. 在“選擇連接類型”窗口中選擇“Hadoop / BigData” -> “Apache Hive”,如圖3所示。

圖3

6. 點擊“Next”,在“主機”中輸入“node1”,然後點擊“編輯驅動設置”按鈕,如圖4所示。

圖4

7. 在打開的“編輯驅動'Apache Hive'”窗口中,點擊“添加文件”按鈕,選擇D:\dbeaver\drivers\hivehive-jdbc-2.1.1-cdh6.3.1-standalone.jar文件,然後點擊“找到類”按鈕,選擇“org.apache.hive.jdbc.HiveDriver”,如圖5所示。然後點擊“OK”按鈕關閉窗口。

圖5

8. 點擊“測試連接(T)...”按鈕,如圖6所示,顯示已經正常連接到hive。

圖6

9. 點擊“Finish”關閉窗口,左側連接樹中出現“node1”,在其上點擊右鍵選擇“重命名”,如圖7所示。然後輸入“CDH631_hive211”,點擊“OK”,關閉對話框。

圖7

        至此建立好了hive連接。

四、連接impala

        本節說明用DBeaver連接CDH 6.3.1中的impala服務。

1. 在Cloudera Manager中確認impala實例所在主機,如圖8所示。

圖8

        本例中Impala Daemon部署在node1、node2、node3三臺主機上,我們連接node1。

2. 下載impala JDBC文件
        下載地址爲https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-17.html

3. 將下載包中的ImpalaJDBC42.jar文件複製到D:\dbeaver\drivers目錄中。

4. 運行D:\dbeaver\dbeaver.exe打開DBeaver,點擊左上角的“新建連接”。

5. 在“選擇連接類型”窗口中選擇“Hadoop / BigData” -> “Cloudera Impala”。

6. 點擊“Next”,在“主機”中輸入“node1”,在“數據庫/模式”中輸入“default”,然後點擊“編輯驅動設置”按鈕。

7. 在打開的“編輯驅動'Cloudera Impala'”窗口中,點擊“添加文件”按鈕,選擇D:\dbeaver\drivers\ImpalaJDBC42.jar文件,然後點擊“找到類”按鈕,選擇“com.cloudera.impala.jdbc.Driver”,如圖9所示。然後點擊“OK”按鈕關閉窗口。

圖9

8. 點擊“測試連接(T)...”按鈕,如圖10所示,顯示已經正常連接到impala。

圖10

9. 點擊“Finish”關閉窗口,左側連接樹中出現“default”,在其上點擊右鍵選擇“重命名”。然後輸入“CDH631_impala320”,點擊“OK”,關閉對話框。

        至此建立好了impala連接。

五、連接phoenix

        本節說明用DBeaver連接CDH 6.3.1中的phoenix服務。CDH本身沒有集成phoenix,關於如何在CDH 6.3中安裝phoenix服務,參見https://wxy0327.blog.csdn.net/article/details/104766465

1. 在Cloudera Manager中確認phoenix實例所在主機,如圖11所示。

圖11

        本例中Query Server部署在node1、node2、node3、manager四臺主機上,我們連接node1。

2. 在Cloudera Manager中下載Hbase客戶端配置文件,如圖12所示。

圖12

3. 從CDH所在主機(任一)下載phoenix client jar文件。

sz /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/phoenix-5.0.0-cdh6.2.0-client.jar

4. 用WinRAR打開phoenix-5.0.0-cdh6.2.0-client.jar文件,將第2步中下載的hbase-site.xml文件添加到phoenix-5.0.0-cdh6.2.0-client.jar中,如圖13所示。

圖13

5. 將phoenix-5.0.0-cdh6.2.0-client.jar文件複製到D:\dbeaver\drivers目錄中。

6. 運行D:\dbeaver\dbeaver.exe打開DBeaver,點擊左上角的“新建連接”。

7. 在“選擇連接類型”窗口中選擇“Hadoop / BigData” -> “Apache Phoenix”。

8. 點擊“Next”,在“主機”中輸入“node1”,然後點擊“編輯驅動設置”按鈕。

9. 在打開的“編輯驅動'Apache Phoenix'”窗口中,點擊“添加文件”按鈕,選擇D:\dbeaver\drivers\phoenix-5.0.0-cdh6.2.0-client.jar文件,然後點擊“找到類”按鈕,選擇“org.apache.phoenix.jdbc.PhoenixDriver”,如圖14所示。然後點擊“OK”按鈕關閉窗口。

圖14

10. 點擊“測試連接(T)...”按鈕,如圖15所示,顯示已經正常連接到phoenix。

圖15

11. 點擊“Finish”關閉窗口,左側連接樹中出現“node1”,在其上點擊右鍵選擇“重命名”。然後輸入“CDH631_phoenix500”,點擊“OK”,關閉對話框。

        至此建立好了phoenix連接。

六、連接HAWQ

        關於在CDH 6.3.1上安裝HAWQ 2.4.0,參見https://wxy0327.blog.csdn.net/article/details/104845576

1. 配置允許連接至HAWQ
(1)編輯HAWQ Master主機上的/opt/gpadmin/hawq-data-directory/masterdd/pg_hba.conf文件,如下添加如下一行並保存:

host  all     gpadmin    0.0.0.0/0    password

(2)重載pg_hba.conf文件使配置修改生效

hawq stop cluster -u -M fast

(3)修改gpadmin角色的密碼

[gpadmin@manager/opt/gpadmin]$psql -d postgres
psql (8.2.15)
Type "help" for help.

postgres=# alter role gpadmin with password '123456';
ALTER ROLE
postgres=# 

        關於HAWQ連接管理的詳細說明,參見https://blog.csdn.net/wzy0623/article/details/60141550

2. 運行D:\dbeaver\dbeaver.exe打開DBeaver,點擊左上角的“新建連接”。

3. 在“選擇連接類型”窗口中選擇“Analytical” -> “Greenplum”。

4. 點擊“Next”,在“主機”中輸入HAWQ Master主機IP,本例爲“172.16.1.124”。“數據庫”爲“postgres”,“用戶名”爲“gpadmin”,“密碼”爲“123456”,如圖16所示。

圖16

5. 然後點擊“編輯驅動設置”按鈕,在對話框中點擊“找到類”按鈕,選擇“org.postgresql.Driver”,如圖17所示。然後點擊“OK”按鈕關閉窗口。

圖17

6. 點擊“測試連接(T)...”按鈕,如圖18所示,顯示已經正常連接到HAWQ。

圖18

7. 點擊“Finish”關閉窗口,左側連接樹中出現“postgres”,在其上點擊右鍵選擇“重命名”。然後輸入“HAWQ240”,點擊“OK”,關閉對話框。

        至此建立好了HAWQ連接。

七、連接redis

1. 運行D:\dbeaver\dbeaver.exe打開DBeaver,點擊左上角的“新建連接”。

2. 在“選擇連接類型”窗口中選擇“NoSQL” -> “Redis”。

3. 點擊“Next”,在“主機”中輸入redis主機IP,本例爲“172.16.1.127”。“Password”爲“123456”,如圖19所示。

圖19

4. 點擊“測試連接(T)...”按鈕,如圖20所示,顯示已經正常連接到redis。

圖20

5. 點擊“Finish”關閉窗口,左側連接樹中出現“172.16.1.127”,在其上點擊右鍵選擇“重命名”。然後輸入“redis503”,點擊“OK”,關閉對話框。

        至此建立好了redis連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章