准备ClickHouse应用开发和运行环境
准备开发环境
在进行应用开发时,要准备的开发和运行环境如表1所示。
准备项 |
说明 |
---|---|
操作系统 |
如需在本地调测程序,运行环境需要和集群业务平面网络互通。 |
安装JDK |
开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。
说明:
基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 |
安装和配置IntelliJ IDEA |
开发环境的基本配置,建议使用2019.1或其他兼容版本。
说明:
|
安装Maven |
开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 |
准备开发用户 |
准备用于应用开发的ClickHouse集群用户并授予相应权限。 |
7-zip |
用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 |
准备运行环境
进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。
- 如果本地Windows开发环境和集群业务平面网络互通,可下载集群客户端到本地,获取相关调测程序所需的集群配置文件及配置网络连通后,然后直接在Windows中进行程序调测。
- 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
例如,客户端文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。解压到本地PC的“D:\FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles”目录下(路径中不能有空格)。
- 复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与解压目录下“hosts”文件中所列出的各主机在网络上互通。
- 当客户端所在主机不是集群中的节点时,配置客户端网络连接,可避免执行客户端命令时出现错误。
- Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。
- 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
- 如果使用Linux环境调测程序,需在准备安装集群客户端的Linux节点并获取相关配置文件。
- 在节点中安装客户端,例如客户端安装目录为“/opt/client”。
集群的Master节点或者Core节点使用客户端可参考集群内节点使用MRS客户端,MRS集群外客户端的安装操作可参考集群外节点使用MRS客户端。
- 检查客户端节点网络连接。
在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
- 在节点中安装客户端,例如客户端安装目录为“/opt/client”。