云服务器内容精选

  • 操作步骤 以客户端安装用户,登录客户端所在节点。 进入多线程写入工具“clickhouse_insert_tool”所在目录: cd /opt/client/ClickHouse/clickhouse_insert_tool 使用文本编辑器打开clickhouse_insert_tool.sh,按照注释填写所需信息: 参数 参数描述 示例 datapath 待导入数据所在目录。 /opt/data balancer_ip_list ClickHouse服务Balancer实例IP地址列表,整体使用括号括起,单个IP使用双引号引起,IP之间使用空格分隔。 ("192.168.1.1" "192.168.1.2") balancer_tcp_port ClickHouse服务Balancer实例TCP端口。 21428 local_table_name 待导入的本地库名.本地表名。 testdb1.testtb1 thread_num 并发导入线程数。 10 data_format 待导入数据的格式。 CS V is_security_cluster 是否为安全模式集群。 true:表示安全模式 false:表示普通模式 true 保存修改后的 “clickhouse_insert_tool.sh”,并执行如下命: cd /opt/client source bigdata_env 安全模式(开启Kerberos认证)执行kinit命令,普通模式(关闭Kerberos认证)无需执行: kinit clickhouseuser 运行脚本,导入数据。 ./ClickHouse/clickhouse_insert_tool/clickhouse_insert_tool.sh 登录ClickHouse客户端节点,连接服务端,具体请参考ClickHouse客户端使用实践。 执行如下命令,查询插入数据的本地表对应的分布式表,查看结果是否符合预期: select count(1) from testdb1.testtb1_all;
  • 前提条件 已安装ClickHouse客户端,例如客户端安装目录为“/opt/client”。 如果集群为安全模式需要创建一个具有ClickHouse相关权限的用户,例如创建用户“clickhouseuser”,具体请参考创建ClickHouse角色。 准备待导入的数据文件,并将数据文件上传到客户端节点目录,例如上传到目录“/opt/data”。ClickHouse支持的所有数据类型请参考:https://clickhouse.com/docs/en/interfaces/formats
  • ClickHouse通过MySQL引擎对接RDS服务 MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。 MySQL引擎使用语法: CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL('host:port', ['database' | database], 'user', 'password') MySQL数据库引擎参数说明: host:port:RDS服务MySQL数据库实例IP地址和端口。 database:RDS服务MySQL数据库名。 user:RDS服务MySQL数据库用户名。 password:RDS服务MySQL数据库用户密码,命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。 MySQL引擎使用示例: 连接到RDS服务的MySQL数据库。详细操作可以参考RDS服务MySQ L实例 连接。 在MySQL数据库上创建表,并插入数据。 创建表mysql_table: CREATE TABLE `mysql_table` ( `int_id` INT NOT NULL AUTO_INCREMENT, `float` FLOAT NOT NULL, PRIMARY KEY (`int_id`)); 插入表数据: insert into mysql_table (`int_id`, `float`) VALUES (1,2); 登录ClickHouse客户端安装节点。执行以下命令,切换到客户端安装目录。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建ClickHouse表的权限,具体请参见创建ClickHouse角色章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行本步骤。 如果是 MRS 3.1.0版本集群,则需要先执行:export CLICKHOUSE_SECURITY_ENABLED=true kinit 组件业务用户 例如,kinit clickhouseuser。 使用客户端命令连接ClickHouse。 clickhouse client --host clickhouse实例IP --user 用户名 --password --port 端口号 输入用户密码 在ClickHouse中创建MySQL引擎的数据库,创建成功后自动与MySQL服务器交换数据。 CREATE DATABASE mysql_db ENGINE = MySQL('RDS服务MySQL数据库实例IP地址:MySQL数据库实例端口', 'MySQL数据库名', 'MySQL数据库用户名', 'MySQL数据库用户名密码'); 切换到新建的数据库mysql_db,并查询表数据。 USE mysql_db; 在ClickHouse中查询MySQL数据库表数据。 SELECT * FROM mysql_table; ┌─int_id─┬─float─┐ │ 1 │ 2 │ └─────┴──── ┘ 新增插入数据后也可以正常进行查询。 INSERT INTO mysql_table VALUES (3,4); SELECT * FROM mysql_table; ┌─int_id─┬─float─┐ │ 1 │ 2 │ │ 3 │ 4 │ └─────┴──── ┘
  • 前提条件 已安装ClickHouse客户端,例如客户端安装目录为“/opt/client”。 在 FusionInsight Manager已创建具有ClickHouse相关表权限和访问HDFS的权限的用户,例如:clickhouseuser。 在对接HDFS组件之前,需要注意首先确保HDFS中有对应的目录,ClickHouse的HDFS引擎只会操作文件不会创建或删除目录。 当前系统只支持部署在x86节点的ClickHouse集群对接HDFS,部署在ARM节点的ClickHouse集群不支持对接HDFS。
  • 使用S3表函数 登录主 OMS 节点。 执行以下命令获取OBS内的存储数据。 select * from S3(path, [ak, sk,] format, structure, [compression]) path:访问 域名 /OBS文件路径,登录OBS管理控制台,在左侧导航栏单击“并行文件系统”,在“并行文件系统”页面单击对应的文件系统名称,在“文件”页面单击文件名称,文件“链接”即path路径,如图1所示。 图1 文件路径 ak:参数可选,具备访问OBS权限的ak。 sk:参数可选,具备访问OBS权限的sk。 format :文件的格式。 structure:表的结构。 compression:参数可选,压缩类型。
  • ClickHouse通过MySQL引擎对接RDS服务 MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。 MySQL引擎使用语法: CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL('host:port', ['database' | database], 'user', 'password') MySQL数据库引擎参数说明: host:port :RDS服务MySQL数据库实例IP地址和端口。 database :RDS服务MySQL数据库名。 user :RDS服务MySQL数据库用户名。 password:RDS服务MySQL数据库用户密码,命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。 MySQL引擎使用示例: 连接到RDS服务的MySQL数据库。详细操作可以参考RDS服务MySQL实例连接。 在MySQL数据库上创建表,并插入数据。 创建表mysql_table: CREATE TABLE `mysql_table` ( `int_id` INT NOT NULL AUTO_INCREMENT, `float` FLOAT NOT NULL, PRIMARY KEY (`int_id`)); 插入表数据: insert into mysql_table (`int_id`, `float`) VALUES (1,2); 登录ClickHouse客户端安装节点。执行以下命令,切换到客户端安装目录。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建ClickHouse表的权限,具体请参见ClickHouse用户及权限管理章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行本步骤。 如果是MRS 3.1.0版本集群,则需要先执行:export CLICKHOUSE_SECURITY_ENABLED=true kinit 组件业务用户 例如,kinit clickhouseuser。 使用客户端命令连接ClickHouse。 clickhouse client --host clickhouse实例IP --user 用户名 --password --port 端口号 输入用户密码 在ClickHouse中创建MySQL引擎的数据库,创建成功后自动与MySQL服务器交换数据。 CREATE DATABASE mysql_db ENGINE = MySQL('RDS服务MySQL数据库实例IP地址:MySQL数据库实例端口', 'MySQL数据库名', 'MySQL数据库用户名', 'MySQL数据库用户名密码'); 切换到新建的数据库mysql_db,并查询表数据。 USE mysql_db; 在ClickHouse中查询MySQL数据库表数据。 SELECT * FROM mysql_table; ┌─int_id─┬─float─┐ │ 1 │ 2 │ └─────┴──── ┘ 新增插入数据后也可以正常进行查询。 INSERT INTO mysql_table VALUES (3,4); SELECT * FROM mysql_table; ┌─int_id─┬─float─┐ │ 1 │ 2 │ │ 3 │ 4 │ └─────┴──── ┘