阿里云 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>需要替换为您待创建用户的名称。
说明:添加组件参数详情,请参见管理组件参数。重启服务详情,请参见重启服务。
- 通过 ClickHouse 客户端创建 ClickHouse 用户
- 在 EMR 控制台 ClickHouse 服务的配置页面,单击 server-users 页签,新增参数为users.default.access_management,参数值为1的配置项,保存该配置并重启服务。使用默认用户连接 ClickHouse 集群。
- 使用 SSH 方式登录到集群,具体步骤请参见登录集群。
- 执行以下命令,启动 ClickHouse 客户端。
clickhouse-client
- 执行以下命令,创建用户。
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'] [,...]
- 执行以下命令,查看已有的用户。
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。
回顾
EMR ClickHouse 操作指南系列到此结束,本系列还包括以下内容,点击链接回顾吧~
- ClickHouse 概述
- 快速入门
- ClickHouse 运维
- 数据导入
获取更详细的信息,点击下方链接查看:
EMR官网:https://www.aliyun.com/product/emapreduce
EMR ClickHouse :https://help.aliyun.com/document_detail/212195.html
扫描下方二维码加入 EMR 相关产品钉钉交流群一起参与讨论吧!