导入并配置ClickHouse样例工程
背景信息
获取ClickHouse开发样例工程,将工程导入到IntelliJ IDEA开始样例学习。
前提条件
- 确保本地环境的时间与MRS集群的时间差要小于5分钟,若无法确定,请联系系统管理员。集群的时间可通过FusionInsight Manager页面右下角查看。
- 已准备开发环境及MRS集群相关配置文件,详情请参考准备ClickHouse应用运行环境。
操作场景
ClickHouse针对多个场景提供样例工程,帮助客户快速学习ClickHouse工程。
操作步骤
- 参考获取MRS应用开发样例工程,获取样例代码解压目录中“src”目录下的样例工程,可根据实际业务场景选择对应的样例,相关样例介绍请参见ClickHouse样例工程介绍。
- 在应用开发环境中,导入样例工程到IntelliJ IDEA开发环境。
- 工程导入完成后,修改样例工程的“conf”目录下的“clickhouse-example.properties”文件,根据实际环境信息修改相关参数。
MRS 3.1.5之前版本:
loadBalancerIPList= sslUsed=false loadBalancerHttpPort=21425 loadBalancerHttpsPort=21426 CLICKHOUSE_SECURITY_ENABLED=true user= #密码明文存储存在安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 password= clusterName=default_cluster databaseName=testdb tableName=testtb batchRows=10000 batchNum=10
MRS 3.1.5及之后版本:
loadBalancerIPList= sslUsed=false loadBalancerHttpPort=21425 loadBalancerHttpsPort=21426 CLICKHOUSE_SECURITY_ENABLED=true user= #密码明文存储存在安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 password= isMachineUser=false isSupportMachineUser=true clusterName=default_cluster databaseName=testdb tableName=testtb batchRows=10000 batchNum=10 clickhouse_dataSource_ip_list= native_dataSource_ip_list=
表1 配置说明表 配置名称
默认值
含义
loadBalancerIPList
-
必填参数,配置为LoadBalance的IP列表。
登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 实例”,查看所有ClickHouseBalancer实例对应的业务IP地址。
多个IP地址使用逗号分隔,例如配置为“10.10.10.100,10.10.10.101”。
sslUsed
false
是否启用ssl加密,普通模式集群建议配置为“false”。
loadBalancerHttpPort
21425
LoadBalance的HTTP端口。若sslUsed配置为false,则此参数不允许为空。
MRS 3.2.0之前版本,登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 实例”,单击对应的ClickHouseBalancer实例,选择“实例配置 > 全部配置”,搜索“lb_http_port”并获取其参数值,默认为21425。
MRS 3.2.0及之后版本,登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 逻辑集群”,查看对应逻辑集群的HTTP Balancer端口号中的“非加密端口”。
loadBalancerHttpsPort
21426
LoadBalance的HTTPS端口,若sslUsed配置为true,则此参数不允许为空。
MRS 3.2.0之前版本,登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 实例”,单击对应的ClickHouseBalancer实例,选择“实例配置 > 全部配置”,搜索“lb_https_port”并获取其参数值,默认为21426。
MRS 3.2.0及之后版本,登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 逻辑集群”,查看对应逻辑集群的HTTP Balancer端口号中的“加密端口”。
CLICKHOUSE_SECURITY_ENABLED
true
ClickHouse安全模式开关,普通模式集群时该参数填写为false。
user
无默认值
表1中已准备好的开发用户。
password
无默认值
开发用户对应的密码。
密码明文存储存在安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全
说明:如果是在Manager上新建的用户,首次使用前需要修改初始密码。
isMachineUser
false
使用机机用户认证时,参数值修改为true。
如果配置为true,则user和password参数为机机用户的用户名和密码。
说明:该参数仅适用于MRS 3.1.5及之后版本。
isSupportMachineUser
true
是否支持机机用户认证的功能。
true:支持机机用户认证的功能。
false:不支持机机用户认证的功能。
该参数配置请通过以下操作确认:
登录Manager,选择“集群 > 服务 > ClickHouse > 配置 > 全部配置”,在“ClickHouseServer(角色)”下选择“安全”,查看“SUPPORT_MACHINE_USER”参数配置。
说明:该参数仅适用于MRS 3.1.5及之后版本。
clusterName
default_cluster
ClickHouse逻辑集群名称,保持默认值。
databaseName
testdb
样例代码工程中需要创建的数据库名称,可以根据实际情况修改。
tableName
testtb
样例代码工程中需要创建的表名称,可以根据实际情况修改。
batchRows
10000
一个批次写入数据的条数。
batchNum
10
写入数据的总批次。
clickhouse_dataSource_ip_list
-
必填参数,配置为ClickHouseBalancer实例的IP列表和http端口。
多个IP地址使用逗号分隔,具体格式为:ip:port,ip:port,ip:port
IP和端口获取:
IP:登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 实例”,查看所有ClickHouseBalancer实例对应的业务IP地址。
端口:登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 逻辑集群”,查看对应逻辑集群的HTTP Balancer端口号中的“非加密端口”。
说明:该参数仅适用于MRS 3.1.5及之后版本。
native_dataSource_ip_list
-
必填参数,配置为ClickHouseBalancer实例的IP列表和tcp端口。
多个IP地址使用逗号分隔,具体格式为:ip:port,ip:port,ip:port
IP和端口获取:
IP:登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 实例”,查看所有ClickHouseBalancer实例对应的业务IP地址。
端口:登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 逻辑集群”,查看对应逻辑集群的TCP Balancer端口号中的“非加密端口”。
说明:该参数仅适用于MRS 3.1.5及之后版本。
ClickHouse提供了基于Loadbalance部署架构,可以将用户访问流量自动分发到多台后端节点,扩展系统对外的服务能力,实现更高水平的应用容错。客户端应用请求集群时,使用基于Nginx的ClickHouseBalancer控制节点来进行流量分发,无论集群写入的负载、读的负载以及应用接入的高可用性都具备了有力的保障。