ClickHouse是面向聯機分析處理的列式數據庫,支持SQL查詢,且查詢性能好,特別是基于大寬表的聚合分析查詢性能非常優異,比其他分析型數據庫速度快一個數量級。
前提條件
已安裝客戶端,例如安裝目錄為“/opt/hadoopclient”。以下操作的客戶端目錄只是舉例,請根據實際安裝目錄修改。在使用客戶端前,需要先下載并更新客戶端配置文件,確認Manager的主管理節點后才能使用客戶端。
操作步驟
1.以客戶端安裝用戶,登錄安裝客戶端的節點。
2.執行以下命令,切換到客戶端安裝目錄。
cd /opt/hadoopclient
3.執行以下命令配置環境變量。
source bigdata_env
4.如果當前集群已啟用Kerberos認證,執行以下命令認證當前用戶,當前用戶需要具有創建ClickHouse表的權限,具體請參見“組件操作指南 > 使用ClickHouse > 用戶管理及認證 > ClickHouse用戶及權限管理”章節,為用戶綁定對應角色。如果當前集群未啟用Kerberos認證,則無需執行本步驟。
a.如果是MRS 3.1.0版本集群,則需要先執行:export CLICKHOUSE_SECURITY_ENABLED=true
b.kinit 組件業務用戶
例如,kinit clickhouseuser。
5.執行ClickHouse組件的客戶端命令。
執行 clickhouse -h ,查看ClickHouse組件命令幫助。
回顯信息如下:
Use one of the following commands:
clickhouse local [args]
clickhouse client [args]
clickhouse benchmark [args]
clickhouse server [args]
clickhouse performance-test [args]
clickhouse extract-from-config [args]
clickhouse compressor [args]
clickhouse format [args]
clickhouse copier [args]
clickhouse obfuscator [args]
...
詳細命令使用請參考://clickhouse.tech/docs/zh/operations/。
MRS 3.1.0及之后版本,使用clickhouse client命令連接ClickHouse服務端:
- 例如,當前集群未啟用Kerberos認證,使用ssl安全方式登錄:
clickhouse client --host ClickHouse 的實例IP --user 用戶名 --password 密碼 --port 9440 --secure
- 例如,當前集群已啟用Kerberos認證,使用ssl安全方式登錄。
Kerberos集群場景下沒有默認用戶,必須在Manager上創建用戶,詳細參考“組件操作指南 > 使用ClickHouse >用戶管理及認證 >ClickHouse用戶及權限管理”。
使用kinit認證成功后,客戶端登錄時可以不攜帶--user和--password參數,即使用kinit認證的用戶登錄。
clickhouse client --host ClickHouse的實例IP--port 9440 --secure
詳見下表:clickhouse client命令行參數說明
| 參數名 | 參數說明 |
|---|---|
| --host | 服務端的host名稱,默認是localhost。您可以選擇使用ClickHouse實例所在節點主機名或者IP地址。 說明 ClickHouse的實例IP地址可登錄集群FusionInsight Manager,然后選擇“集群> 服務> ClickHouse >實例”,獲取ClickHouseServer實例對應的業務IP地址。 |
| --port | 連接的端口。 如果使用ssl安全連接則默認端口為9440,并且需要攜帶參數--secure。具體的端口值可通過ClickHouseServer實例配置搜索“tcp_port_secure”參數獲取。 如果使用非ssl安全連接則默認端口為9000,不需要攜帶參數--secure。具體的端口值可通過ClickHouseServer實例配置搜索“tcp_port”參數獲取。 |
| --user | 用戶名。 可以在Manager上創建該用戶名并綁定對應的角色權限,具體可以參考“組件操作指南>使用ClickHouse >用戶管理及認證> ClickHouse用戶及權限管理”。 如果當前集群已啟用Kerberos認證,使用kinit認證成功后,客戶端登錄時可以不攜帶--user和--password參數,即使用kinit認證的用戶登錄。Kerberos集群場景下沒有默認用戶,必須在Manager上創建該用戶名。 如果當前集群未啟用Kerberos認證,客戶端登錄時可以指定Manager上創建的用戶和密碼。不攜帶用戶和密碼參數時則默認使用default用戶登錄。 |
| --password | 密碼。 默認值:空字符串。該參數和--user參數配套使用,可以在Manager上創建用戶名時設置該密碼。 |
| --query | 使用非交互模式查詢。 |
| --database | 默認當前操作的數據庫。默認值:服務端默認的配置(默認是default)。 |
| --multiline | 如果指定,允許多行語句查詢(Enter僅代表換行,不代表查詢語句完結)。 |
| --multiquery | 如果指定,允許處理用;號分隔的多個查詢,只在非交互模式下生效。 |
| --format | 使用指定的默認格式輸出結果。 |
| --vertical | 如果指定,默認情況下使用垂直格式輸出結果。在這種格式中,每個值都在單獨的行上打印,適用顯示寬表的場景。 |
| --time | 如果指定,非交互模式下會打印查詢執行的時間到stderr中。 |
| --stacktrace | 如果指定,如果出現異常,會打印堆棧跟蹤信息。 |
| --config-file | 配置文件的名稱。 |
| --secure | 如果指定,將通過ssl安全模式連接到服務器。 |
| --history_file | 存放命令歷史的文件的路徑。 |
| --param< name > | 帶有參數的查詢,并將值從客戶端傳遞給服務器。具體用法詳見//clickhouse.tech/docs/zh/interfaces/cli/#cli-queries-with-parameters。 |