阿里云E-MapReduce(簡稱EMR)的ClickHouse集群中,主要提供了四種服務配置項以配置ClickHouse集群,包括客戶端配置、服務端配置、用戶權限配置和拓展配置。本文為您介紹ClickHouse服務的客戶端配置、服務端配置和拓展配置。

背景信息

ClickHouse集群提供的四種服務配置項信息如下表。
配置項 詳情
客戶端配置 client-config
服務端配置 server-config
拓展配置 server-metrika
用戶權限配置 訪問權限控制

前提條件

已創建E-MapReduce的ClickHouse集群,詳情請參見創建集群

注意事項

由于ClickHouse配置采用XML文件形式,所以相對比較靈活,可以進行多層嵌套。自定義配置時規則如下:
  • 如果配置可以直接填寫在yandex標簽下,則可以直接新增。
  • 如果配置包含多層嵌套,每層需要直接使用半角句號(.)進行連接。

    例如,在server-users頁簽中,添加新的用戶aliyun,可以設置參數為users.aliyun.password,參數值為密碼,您可以自定義。

  • 自定義配置中,請勿使用XML類型作為參數或者參數值。

client-config

該服務配置項用于生成clickhouse-client所使用的config.xml文件。您可以在EMR控制臺ClickHouse服務的配置頁面,單擊client-config頁簽,查看以下參數。

配置項 描述
user 設置clickhouse-client使用的用戶。默認值為default。
password 設置clickhouse-client進程使用的用戶密碼。默認值為空。
prompt_by_server_display_name.production 在使用clickhouse-client的時候,允許自定義提示符。設置這個選項以配置在不同的display_name情況下的提示符,例如在server-config選項中設置display_name為default時,所展示的提示符為prompt_by_server_display_name.default中所設置的值。設置提示符允許使用的顏色,請參見Color prompts with readlinetip_colors_and_formatting
prompt_by_server_display_name.default
prompt_by_server_display_name.test

server-config

該服務配置項用來生成clickhouse-server進程所使用的config.xml文件。您可以在EMR控制臺ClickHouse服務的配置頁面,單擊server-config頁簽,查看以下參數。

配置項 描述
tcp_port 通過TCP協議與客戶端通信的端口。默認值為9000
logger.count 存檔的ClickHouse日志文件個數。當存檔的日志文件個數達到該參數設置的值時,ClickHouse會將最早的存檔刪除。默認值為10
logger.level 日志的等級,默認等級為information。可以配置的等級從嚴格到寬松依次為none(關閉日志)、fatal、critical、error、warning、notice、information、debug和trace。
logger.size 日志文件的大小。當文件達到該參數設置的值時,ClickHouse會將其存檔并重命名,并創建一個新的日志文件。默認值為1000M
distributed_ddl.path 該參數指定了ZooKeeper中用于存儲DDL查詢隊列的路徑。默認值為/clickhouse/task_queue/ddl。默認情況下,ClickHouse的操作CREATE、DROP、ALTER和RENAME等都只會影響正在處理查詢的這一臺機器。設置distributed_ddl相關參數,允許ClickHouse的查詢運行在集群中(當且僅當ZooKeeper被使用時)。
default_database 默認數據庫。默認值為default。
uncompressed_cache_size 表引擎使用MergeTree時,為解壓后的block所建立的Cache大小。默認值為0。

如果設置為0,則表示不啟用Cache。

timezone 設置服務器的時區。默認值為Asia/Shanghai
max_session_timeout Session最大超時時間,單位為秒。默認值為3600。
default_session_timeout Session默認超時時間,單位為秒。默認值為60。
max_concurrent_queries 可以同時處理查詢的最大數量。默認值為0。
keep_alive_timeout ClickHouse在關閉連接之前等待傳入請求的秒數,單位為秒。默認值為10。
http_port 通過HTTP連接到服務器的端口。默認值為8123。

ClickHouse官方JDBC也通過此端口訪問ClickHouse,請參見clickhouse-jdbc

listen_host ClickHouse服務器所監聽的IP地址。可以指定IPv4和IPv6的地址,如果指定::則代表允許所有地址。可以設置多個IP地址,多個IP地址以逗號(,)分割。例如,127.0.0.1,localhost。默認值為0.0.0.0
default_profile 默認會使用的profile。默認值為default。
mark_cache_size 表引擎使用MergeTree時,mark索引所使用的Cache大小的近似值。默認值為5368709120,單位為Byte。
merge_tree.allow_remote_fs_zero_copy_replication

設置為true,以在Replicated*MergeTree使用DiskHDFS等遠程存儲時利用其自身的多副本進行備份,ClickHouse的一個Shard下的多個副本中的數據僅會備份元數據。

transaction.enable_public_ip

ClickHouse Server中Transaction需要一個用于標識自身的IP地址,默認使用私網IP地址。

設置此參數值為true,以使用公網IP地址標識自身,但需要所有節點均開啟公網IP。

server-metrika

該服務配置項用于生成metrika.xml文件,其默認被ClickHouse Server的config所引用。您可以在EMR控制臺ClickHouse服務的配置頁面,在默認的server-metrika頁簽,查看以下參數。

配置項 描述
clickhouse_compression 為使用MergeTree相關引擎的表設置數據壓縮,詳細信息請參見Server Settings。默認值為空。

如果需要使用ClickHouse的壓縮,請自行添加配置。

storage_configuration 用來指定自定義的磁盤信息。
zookeeper_servers 用來配置ClickHouse集群所使用的ZooKeeper信息。默認值為創建ClickHouse集群時同時創建的ZooKeeper的值。多個ZooKeeper節點時,請使用英文逗號(,)進行分隔,例如,emr-header-1.cluster-12345:2181,emr-worker-1.cluster-12345:2181,emr-worker-2.cluster-12345:2181
quotas_default ClickHouse允許配置不同的quota以靈活的使用不同的資源限制。修改該配置項可以修改名為default的quota設置。如果需要添加新的quota設置,您可以添加自定義設置。
clickhouse_remote_servers 用來自定義集群的分片和副本信息。默認值為創建ClickHouse集群時設置的Shard和Replica數量所生成的拓撲。
注意 請謹慎修改該參數值,避免手動更改分片、副本數目及拓撲邏輯,導致集群數據寫入或查詢出錯。

相關文檔

ClickHouse參數的詳情信息,可以參見以下官方文檔:

后續步驟

如果需要修改或添加配置項,請參見管理配置項