阿里云 E-MapReduce(简称EMR)是运行在阿里云平台上的一种大数据处理的系统解决方案。
ClickHouse 作为开源的列式存储数据库,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。而阿里云 EMR ClickHouse 则提供了开源 OLAP 分析引擎 ClickHouse 的云上托管服务。
本系列文章将从以下几个方面详细介绍 EMR ClickHouse 的操作指南:
常见问题 (本文)
EMR ClickHouse 操作指南 — 常见问题
一、如何创建 ClickHouse 用户?
您可以通过以下两种方法创建 ClickHouse 用户:
通过在 EMR 控制台新增自定义配置项创建 ClickHouse 用户
在 EMR 控制台 ClickHouse 服务的配置页面,
单击 server-users 页签,新增参数为 users.<YourUserName>.password或users.<YourUserName>.password_sha256_hex或users.<YourUserName>.password_double_sha1_hex,参数值您可以自定义的配置项,保存该配置项并重启服务,即可创建用户。
参数中的 <YourUserName> 需要替换为您待创建用户的名称。
添加组件参数详情:
https://help.aliyun.com/document_detail/106171.htm
重启服务详情:
https://help.aliyun.com/document_detail/183702.htm
通过 ClickHouse 客户端创建 ClickHouse 用户
i. 在 EMR 控制台 ClickHouse 服务的配置页面,单击 server-users 页签,新增参数为 users.default.
access_management,参数值为 1 的配置项,保存该配置并重启服务。使用默认用户连接 ClickHouse 集群。
ii. 使用SSH方式登录到集群,具体步骤请参见:
https://help.aliyun.com/document_detail/169150.htm
iii. 执行以下命令,启动 ClickHouse 客户端。
clickhouse-client
iv. 执行以下命令,创建用户。
CREATE USER IF NOT EXISTS user_test ON CLUSTER new_cluster_emr IDENTIFIED WITH plaintext_password BY '123456';
返回信息如下图所示。
创建用户命令格式如下。
CREATE USER [IF NOT EXISTS | OR REPLACE] name1 [ON CLUSTER cluster_name1]
[, name2 [ON CLUSTER cluster_name2] ...]
[NOT IDENTIFIED | IDENTIFIED {[WITH {no_password | plaintext_password | sha256_password | sha256_hash | double_sha1_password | double_sha1_hash}] BY {'password' | 'hash'}} | {WITH ldap SERVER 'server_name'} | {WITH kerberos [REALM 'realm']}]
[HOST {LOCAL | NAME 'name' | REGEXP 'name_regexp' | IP 'address' | LIKE 'pattern'} [,...] | ANY | NONE]
[DEFAULT ROLE role [,...]]
[GRANTEES {user | role | ANY | NONE} [,...] [EXCEPT {user | role} [,...]]]
[SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY | WRITABLE] | PROFILE 'profile_name'] [,...]
v. 执行以下命令,查看已有的用户。
SHOW USERS;
返回已有的用户。
┌─name──────┐
│ default │
│ user_test │
│ user_test2 │
└─────────┘
二、如何修改 ClickHouse 集群标识?
您可以在 EMR 控制台 ClickHouse 服务的配置页面,在搜索区域搜索clickhouse_remote_servers 参数,将默认配置中的 cluster_emr 修改为需要的名称。例如,修改 cluster_emr 为 new_cluster_name,修改信息如下:
修改前
<cluster_emr>
<shard>
...
</shard>
...
</cluster_emr>
修改后
<new_cluster_emr>
<shard>
...
</shard>
...
</new_cluster_emr>
三、如何设置 ClickHouse 多盘存储?
ClickHouse 默认数据存储策略是存储在一块磁盘上,如果您希望将数据存储到所有机器的磁盘上,则需要在建表语句指定 storage_policy
参数。
创建表时需要配置存储策略,代码示例如下。
CREATE TABLE db (
)ENGINE = <your_MergeTree>
SETTINGS storage_policy = '<your_storage_policy>'
<your_storage_policy>
:您可以在 EMR
控制台 ClickHouse 服务的配置页面,在搜索区域搜索 storage_configuration 参数,本文示例中 policies 层级下的 hdd_in_order 即为参数值。
注意: 参数值请填写为您实际查询到的。
<your_MergeTree>
:引擎名和参数。根
据您实际需求自定义,引擎(ENGINE)详细信息,请参见 MergeTree:
https://clickhouse.tech/docs/zh/engines/table-engines/mergetree-family/mergetree/
回顾
EMR ClickHouse 操作指南系列到此结束,本系列还包括以下内容,点击链接回顾吧~
获取更详细的信息,可至产品文档页查看:
EMR官网:
https://www.aliyun.com/product/emapreduce
EMR ClickHouse :
https://help.aliyun.com/document_detail/212195.html
扫描下方二维码加入阿里云 EMR 相关产品钉钉交流群一起参与讨论吧!