配置ClickHouse对接HDFS源文件
本章节适用于MRS 3.2.0及之后版本。
操作场景
本章节主要介绍使用ClickHouse对接HDFS组件进行文件读写。
前提条件
- 已安装ClickHouse客户端,例如客户端安装目录为“/opt/client”。
- 在FusionInsight Manager已创建具有ClickHouse相关表权限和访问HDFS的权限的用户,例如:clickhouseuser。
- 在对接HDFS组件之前,需要注意首先确保HDFS中有对应的目录,ClickHouse的HDFS引擎只会操作文件不会创建或删除目录。
- 当前系统只支持部署在x86节点的ClickHouse集群对接HDFS,部署在ARM节点的ClickHouse集群不支持对接HDFS。
操作步骤
- 以客户端安装用户,登录客户端所在节点。
- 执行以下命令切换到客户端安装目录。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 执行以下命令认证当前用户(首次认证需要修改密码,未启用Kerberos认证集群跳过此步骤)。
kinit clickhouseuser
- 执行ClickHouse组件的客户端命令登录客户端。
clickhouse client --host ClickHouseServer的实例业务IP --secure --port 9440
- 执行以下命令对接HDFS组件。
CREATE TABLE default.hdfs_engine_table (`name` String, `value` UInt32) ENGINE = HDFS('hdfs://{namenode_ip}:{dfs.namenode.rpc.port}/tmp/secure_ck.txt', 'TSV')
- ClickHouseServer的实例业务IP地址获取方式:
在FusionInsight Manager首页,选择“集群 > 服务 > ClickHouse > 实例”,获取ClickHouseServer实例对应的业务IP地址。
- namenode_ip的获取方式:
在FusionInsight Manager首页,选择“集群 > 服务 > HDFS > 实例”,获取主NameNode业务IP。
- dfs.namenode.rpc.port的获取方式:
在FusionInsight Manager首页,选择“集群 > 服务 > HDFS > 配置 > 全部配置”,搜索并获取参数“dfs.namenode.rpc.port”的值。
- 访问的HDFS文件路径:
如果是访问的多个文件,需要指定到文件夹后边加上*号,如:hdfs://{namenode_ip}:{dfs.namenode.rpc.port}/tmp/*
- ClickHouseServer的实例业务IP地址获取方式: