阿里云E-MapReduce(簡稱EMR)的ClickHouse集群中,主要提供了四種服務配置項以配置ClickHouse集群,包括客戶端配置、服務端配置、用戶權限配置和拓展配置。本文為您介紹ClickHouse服務的客戶端配置、服務端配置和拓展配置。
背景信息
配置項 | 詳情 |
---|---|
客戶端配置 | client-config |
服務端配置 | server-config |
拓展配置 | server-metrika |
用戶權限配置 | 訪問權限控制 |
前提條件
已創建E-MapReduce的ClickHouse集群,詳情請參見創建集群。
注意事項
- 如果配置可以直接填寫在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 readline和tip_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數量所生成的拓撲。
注意 請謹慎修改該參數值,避免手動更改分片、副本數目及拓撲邏輯,導致集群數據寫入或查詢出錯。
|