You need to enable JavaScript to run this app.
导航
快速开始
最近更新时间:2023.01.06 19:57:48首次发布时间:2023.01.06 19:57:48

本文为您介绍创建 ClickHouse 集群的详细操作步骤和相关配置。

1 创建集群

创建集群分为四步,软件设置-->硬件设置-->其他设置-->预览确认。

  1. 登录 EMR 控制台

  2. 在顶部菜单栏中,根据实际场景,下拉选择地域和项目空间。

  3. 在总览界面,单击创建集群,进入集群创建页面。

  4. 在创建集群页面,选择分析场景为交互式查询,集群类型为 ClickHouse,根据需要选择相应的产品版本,支持 EMR-3.0.1、EMR-3.1.0 及以上版本。不同版本说明详见版本概述

  5. ClickHouse 集群创建第一步软件设置中,可以选择服务是否为高可用,高可用时,Zookeeper 必须为 3节点,ClickHouse 数据为 2副本。

    说明

    推荐在生产环境中使用高可用模式,保证服务稳定,数据不丢失。 非高可用模式,只用于测试场景。

  6. 在硬件设置中,完成以下实例设置信息,其余配置信息详见硬件设置

    注意

    VPC、子网等网络配置在集群创建后无法更改,请合理规划网络。

    配置项说明

    Replica 与 Shard 配置

    设置集群 Replica 与 Shard 配置:

    • Replica:Clickhouse 的副本数

    • Shard:Clickhouse 的分片数

    确定这两者数值,即可确定 Core 节点的数量。

    节点选型配置


    实例节点类型分为 Master 与 Core。其中 Master 部署 Zookeeper,Core 部署 ClickHouse 集群,您可以根据业务需求及数据增长合理规划计算资源与磁盘空间。

    • Master 实例 :

      • Master 节点数量:普通集群默认 1 台;高可用集群默认 3 台。

      • 机型选择:支持选择计算型、通用型两种机型,根据需要选取适用的实例规格。不同机型区分详见云服务器实例规格介绍

      • 系统盘:支持极速型 SSD 云盘,大小可根据需要调整,容量范围:60~2048 GB。

      • 数据盘:支持极速型 SSD 云盘,大小可根据需要调整,容量范围:容量范围:60~32768 GB。

      云盘性能详见云盘规格

    • Core实例 :

      • Core 数量:根据 Replica 与 Shard 配置数量调整。

      • 机型选择:支持选择计算型、本地 SSD 型、通用型、内存型、大数据五种机型,根据需要选取适用的实例规格。不同机型区分详见云服务器实例规格介绍

      • 系统盘:支持极速型 SSD 云盘,大小可根据需要调整,容量范围:60~2048 GB。

      • 数据盘:支持极速型 SSD 云盘,大小可根据需要调整,容量范围:容量范围:60~32768 GB。

      云盘性能详见 云盘规格

      注意

      Core 节点建议使用极速型 SSD 及以上磁盘。

  7. 硬件设置配置完成后,单击下一步,完成集群其他信息配置,包含集群名称、机器密钥或密码等。

  8. 最后预览之前步骤设置的相关参数,确认无误后,查看并勾选“同意服务条款”后,单击立即创建,提交创建集群。

详见创建集群

2 配置修改

创建集群成功后,可直接使用 ClickHouse 服务。如需要修改 ClickHouse 的相关配置,可在集群列表界面选择需要管理的 ClickHouse 集群,进入集群详情 > 服务列表 > ClickHouse 服务 > 服务参数查看或修改相应参数。

注意

修改参数后需要保存并重启相应组件。

3 查询数据

ClickHouse 服务启动后可以使用 ClickHouse 的客户端连接集群, 执行创建 database,table,插入并查询数据等操作。
以下是一个样例 SQL 操作。

  1. 登录到 ClickHouse 集群的 Core 实例节点中,可以使用 SSH 登录或者 ECS 远程登录的方式,示例为远程登录方式:

    1. 单击集群列表 > 服务列表 > ClickHouse > 部署拓扑页签,进入 ClickHouse 组件服务的部署拓扑。

    2. 单击组件名称下 (emr-core-1 主机名称)的 ECS ID,跳转进入到云服务器的实例界面,点击右上角的远程连接按钮。

    3. 选择一种远程连接方式(推荐选择 ECS Terminal),并输入集群相关认证信息,登录到 ClickHouse 集群的 Core 实例节点命令行环境中,以执行相关命令行操作。

  2. 使用 ClickHouse 客户端连接 ClickHouse 的当前节点:

-- 切换到 ClickHouse 目录
cd /usr/lib/emr/current/clickhouse/
-- 执行客户端命令,连接 ClickHouse 集群
./clickhouse-client
  1. 登录后创建 database:
CREATE DATABASE IF NOT EXISTS helloworld ON CLUSTER  cluster_emr;
  1. 在 db 下创建 table:
-- 创建本地数据表
CREATE TABLE helloworld.my_first_table ON CLUSTER  cluster_emr
(
    user_id UInt32,
    message String,
    timestamp DateTime,
    metric Float32
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp);

-- 创建分布式表
CREATE TABLE IF NOT EXISTS helloworld.my_first_table_dist ON CLUSTER  cluster_emr 
(
    user_id UInt32,
    message String,
    timestamp DateTime,
    metric Float32
) ENGINE = Distributed(cluster_emr, helloworld, my_first_table, rand());
  1. 插入数据
INSERT INTO helloworld.my_first_table_dist (user_id, message, timestamp, metric) VALUES
    (101, 'Hello, ClickHouse!',                                 now(),       -1.0    ),
    (102, 'Insert a lot of rows per batch',                     yesterday(), 1.41421 ),
    (102, 'Sort your data based on your commonly-used queries', today(),     2.718   ),
    (101, 'Granules are the smallest chunks of data read',      now() + 5,   3.14159 )
  1. 查询数据:
select * from helloworld.my_first_table_dist;