文档首页/ 表格存储服务 CloudTable/ 最佳实践/ 访问集群/ 对接ELB访问CloudTable ClickHouse集群
更新时间:2025-07-14 GMT+08:00
分享

对接ELB访问CloudTable ClickHouse集群

应用场景

对于访问量较大的业务,可以通过ELB设置相应的分配策略,将访问量均匀的分配到多个后端服务器处理。同时您还可以开启会话保持功能,保证同一个客户请求转发到同一个后端服务器,消除单点故障,从而提升访问效率。

此章节为您介绍对接ELB访问ClickHouse集群。将ClickHouse集群的Server节点IP添加到ELB后端服务器中,通过公网访问ClickHouse集群。了解ELB请参见ELB产品介绍

准备工作

步骤一:创建ELB

  1. 登录云管理控制台,在服务列表中选择“网络 > 弹性负载均衡ELB”。
  2. 在“负载均衡器”界面右上方单击“购买弹性负载均衡”。
  3. 在“购买弹性负载均衡”界面,配置以下参数,其他参数保持默认即可:
    • 网络型(TCP/UDP)。
    • 开启IP类型后端。
  4. 单击“立即购买”,确认配置信息,并单击“提交”。
  5. 创建完成后,在“负载均衡器”界面可看到新建的负载均衡器。查看并获取该负载均衡器的公网IP地址。

    详细操作步骤请参考创建独享型ELB

步骤二:打通网络(可选)

前提:如果ELB和ClickHouse集群不在同一个VPC,则需要创建对等连接。

创建对等连接,请参见“对等连接”章节。

步骤三:获取CloudTable ClickHouse集群Server节点IP地址

  1. 登录表格存储服务控制台。
  2. 选择需要操作的ClickHouse集群,单击“集群名称”,进入集群详情页。
  3. 获取Server节点IP。
    图1 获取Server节点IP。

步骤四:绑定ELB

  1. 登录ELB控制台。
  2. 单击“弹性负载均衡 > 我的ELB”,进入弹性负载均衡页面。
  3. 选择需要操作的ELB,单击操作列的“添加监听器”。
  4. 进入添加监听器配置页面,配置参数,请参见添加监听器
    1. 前端协议TCP,前端端口8123/9000/8443/9440。
    2. 访问控制设置为“白名单”,防止引发安全问题。
    3. 添加后端服务器,选择“IP类型后端”。
    4. “IP类型后端IP”填写步骤三中获取的Server节点地址,“业务端口”填写8123/9000/8443/9440。

      业务端口使用方法:后端端口和前端端口填写一致,例如前端端口“8123”,则后端端口填写“8123”。

      • 8123:ClickHouse非安全集群的Http协议端口。
      • 9000:ClickHouse非安全集群的TCP协议端口。
      • 8443:ClickHouse安全集群的Https协议端口。
      • 9440:ClickHouse安全集群的安全TCP安全端口。
  5. 监听器添加后,查看后端服务器是否添加成功。
    1. 进入“弹性负载均衡 > 负载均衡器 > 名称 > 监听器”页面。
    2. 单击监听器名称进入基本信息页签,单击“后端服务器组(监听器默认转发)”模块中“后端服务器组”右边的链接。
    3. 进入后端服务器页面,单击“后端服务器”页签,在IP类型后端处查看后端服务器。
      图2 查看后端服务器

      如果集群扩容,则需要更新ELB的后端服务器。

步骤五:使用ELB地址访问ClickHouse集群

  1. 集群安全组是否有添加ELB子网。
    1. 登录CloudTable服务控制台。
    2. 进入“集群管理 ”页面,单击集群名称,进入集群详情页面。
    3. 单击“网络配置”模块,安全组名称,进入安全组管理页面。
    4. 单击“安全组名称 > 入方向规则”,查看是否添加ELB子网网段。
      1. 如果添加ELB子网网段,则不需要重复添加。
      2. 如果没有添加ELB子网网段,则添加入方向规则,请参考添加安全组规则
  2. 监听器创建成功后,使用ELB地址和前端协议端口访问ClickHouse集群。获取IP地址和协议端口:
    1. IP地址:单击“负载均衡器名称 > 基本信息”,在服务地址处获取。
      图3 获取IP地址
    2. 协议端口:单击“负载均衡器名称 > 监听器”,在前端协议/端口处获取。
      图4 获取协议端口
  3. 连接集群。对接ELB,不推荐使用客户端直连方式连接集群。

    非安全集群连接命令。

    echo 'SELECT 1' | curl  -k 'http://IP:8123/?user=test_user&password=***' -d @-

    安全集群连接命令。

    echo 'SELECT 1' | curl  -k 'https://IP:8443/?user=test_user&password=***'  -d @-
    表1 参数描述

    参数

    描述

    select 1

    执行的sql语句。

    user

    连接集群的用户名。

    password

    创集群时创建的密码。

    IP

    ELB IP地址。

相关文档