访问E-MapReduce(简称EMR)上的ClickHouse集群支持通过原生JDBC访问和通过负载均衡SLB访问两种方式。本文为您介绍如何通过这两种方式访问ClickHouse集群。

背景信息

  • 通过原生JDBC访问ClickHouse集群的架构图如下。JDBC
  • 通过负载均衡器SLB访问ClickHouse集群的架构图如下。SLB

前提条件

  • 已创建E-MapReduce的ClickHouse集群,详情请参见创建ClickHouse集群
  • 已创建SLB服务,详情请参见创建和管理CLB实例
    重要 如果是想通过负载均衡器SLB访问ClickHouse集群,则需要创建SLB服务。并且在创建SLB服务时,如果实例类型选择的是私网,则在选择专有网络时,必须选择与EMR ClickHouse集群相同的VPC。

通过原生JDBC访问ClickHouse集群

  1. 获取主机的IP地址。
    1. 登录EMR on ECS控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 集群管理页面,单击目标集群操作列的节点管理
      在此页面您可以查看ClickHouse集群的IP地址。IP地址
  2. 配置JDBC以访问ClickHouse集群,详情请参见ClickHouse JDBC driver

通过负载均衡器SLB访问ClickHouse集群

  1. 配置SLB服务,详情请参见配置实例
    通常情况下,ClickHouse使用SLB服务仅需要配置HTTP及TCP两种协议的监听,如果您有需要,也可以配置HTTPS的监听。配置监听详情,请参见添加TCP监听添加HTTP监听添加HTTPS监听
    重要
    • TCP监听所使用的虚拟服务器组,其端口应为ClickHouse通过TCP连接到服务器的端口,默认为9000。您可以在EMR控制台ClickHouse服务的配置页面,在搜索区域搜索tcp_port参数,参数值即为TCP端口。
    • HTTP监听所使用的虚拟服务器组,其端口应为ClickHouse通过HTTP连接到服务器的端口,默认为8123。您可以在EMR控制台ClickHouse服务的配置页面,在搜索区域搜索http_port参数,参数值即为HTTP端口。
  2. 实例管理页面,获取SLB的服务地址。
    SLB_IP
  3. 配置JDBC以访问ClickHouse集群,详情请参见ClickHouse JDBC driver