阿里云 E-MapReduce ClickHouse 操作指南 05 期 — 常见问题

阿里云 E-MapReduce(简称EMR)是运行在阿里云平台上的一种大数据处理的系统解决方案。ClickHouse 作为开源的列式存储数据库,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。而阿里云 EMR ClickHouse 则提供了开源 OLAP 分析引擎 ClickHouse 的云上托管服务。


本系列文章将从以下几个方面详细介绍 EMR ClickHouse 的操作指南:


EMR ClickHouse 操作指南 — 常见问题

阿里云 E-MapReduce ClickHouse 操作指南 05 期 — 常见问题

一、如何创建 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 用户
  1. 在 EMR 控制台 ClickHouse 服务的配置页面,单击 server-users 页签,新增参数为users.default.access_management,参数值为1的配置项,保存该配置并重启服务。使用默认用户连接 ClickHouse 集群。
  2. 使用 SSH 方式登录到集群,具体步骤请参见登录集群
  3. 执行以下命令,启动 ClickHouse 客户端。
clickhouse-client
  1. 执行以下命令,创建用户。
CREATE USER IF NOT EXISTS user_test ON CLUSTER new_cluster_emr IDENTIFIED WITH plaintext_password BY '123456';

返回信息如下图所示。

阿里云 E-MapReduce ClickHouse 操作指南 05 期 — 常见问题

创建用户命令格式如下。

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'] [,...]
  1. 执行以下命令,查看已有的用户。
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 即为参数值。


注意: 参数值请填写为您实际查询到的。

阿里云 E-MapReduce ClickHouse 操作指南 05 期 — 常见问题

  •  <your_MergeTree>:引擎名和参数。根据您实际需求自定义,引擎(ENGINE)详细信息,请参见MergeTree


回顾

EMR ClickHouse 操作指南系列到此结束,本系列还包括以下内容,点击链接回顾吧~




获取更详细的信息,点击下方链接查看:

EMR官网:https://www.aliyun.com/product/emapreduce

EMR ClickHouse :https://help.aliyun.com/document_detail/212195.html


扫描下方二维码加入 EMR 相关产品钉钉交流群一起参与讨论吧!

阿里云 E-MapReduce ClickHouse 操作指南 05 期 — 常见问题

上一篇:Eclipse代码自动完成功能


下一篇:第三章 : JavaORM框架之Mybatis篇(Ibatis)