最近更新时间:2023.12.06 10:53:55
首次发布时间:2023.12.06 10:53:55
创建火山引擎 E-MapReduce(EMR)StarRocks 存算分离集群,需要在创建 StarRocks 集群时开启自定义集群配置,增加 StarRocks 存算分离配置项,您需要配置 TOS 路径做为数据存储路径,因此需要提前在 TOS 上创建好相应的 bucket 与路径。
您在创建存算分离集群前可以预先配置好访问 TOS 的 AK、SK 等账号信息,当然也可以在创建后指定 AK、SK,不同情况可参考下文创建集群的方案一和方案二。
注意
仅 StarRocks 3.1.4 以上版本支持存算分离,创建集群时需选择 EMR 3.7.0 以上版本。
登录 EMR 控制台。
选择项目和地域信息后,在总览界面,单击创建集群按钮,进入集群创建流程界面。
在软件配置界面,依次选择交互式查询 > StarRocks > EMR 3.7.0 及以上版本,StarRocks 服务需选择StarRocks 3.1.4 及以上版本服务。
在软件配置界面,下方展开高级设置,并开启自定义配置,配置以下参数:
[ { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "run_mode", "value": "shared_data" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "enable_load_volume_from_conf", "value": "false" } ]
参数说明:
说明
serviceName 需要设置为 STARROCKS3
fileName 需要设置为 fe.conf
配置项 | 配置值 | 说明 |
---|---|---|
run_mode | shared_data | StarRocks 集群的运行模式。有效值:
注意 StarRocks 集群不支持存算分离和存算一体模式混合部署。请勿在集群部署完成后更改 |
enable_load_volume_from_conf | false | 是否允许 StarRocks 使用 FE 配置文件中指定的存储相关属性来创建默认存储卷。有效值:
注意 该模式下必须设置为false,创建集群成功后再配置TOS认证相关信息。 |
高级设置中参数设置完成后,单击下一步按钮,完成后续的集群设置。其余集群设置详见创建集群。
集群创建完成后,您可登录集群,并执行以下语句来创建默认存储卷:
CREATE STORAGE VOLUME def_volume TYPE = S3 LOCATIONS = ("s3://bucket_name/warehouse_path/") PROPERTIES ( "enabled" = "true", "aws.s3.region" = "cn-beijing", "aws.s3.endpoint" = "https://tos-s3-cn-beijing.ivolces.com", "aws.s3.use_aws_sdk_default_behavior" = "false", "aws.s3.use_instance_profile" = "false", "aws.s3.access_key" = "xxxxxxxxxx", "aws.s3.secret_key" = "yyyyyyyyyy" ); SET def_volume AS DEFAULT STORAGE VOLUME;
登录 EMR 控制台。
选择项目和地域信息后,在总览界面,单击创建集群按钮,进入集群创建流程界面。
在软件配置界面,依次选择交互式查询 > StarRocks > EMR 3.7.0 及以上版本,StarRocks 服务需选择StarRocks 3.1.4 及以上版本服务。
在软件配置界面,下方展开高级设置,并开启自定义配置,配置以下参数:
[ { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "run_mode", "value": "shared_data" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "cloud_native_storage_type", "value": "S3" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "aws_s3_endpoint", "value": "https://tos-s3-cn-beijing.ivolces.com" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "aws_s3_region", "value": "cn-beijing" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "aws_s3_path", "value": "bucket_name/warehouse_path" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "aws_s3_access_key", "value": "xxx" }, { "serviceName": "STARROCKS3", "fileName": "fe.conf", "key": "aws_s3_secret_key", "value": "xxx" } ]
参数说明:
说明
serviceName 需要设置为 STARROCKS3
fileName 需要设置为 fe.conf
配置项 | 配置值 | 说明 |
---|---|---|
run_mode | shared_data | StarRocks 集群的运行模式。有效值:
注意 StarRocks 集群不支持存算分离和存算一体模式混合部署。请勿在集群部署完成后更改 |
cloud_native_storage_type | S3 | 存算分离表的存储空间类型。使用 TOS 时配置为 S3。 |
aws_s3_endpoint | 访问 S3 存储空间的连接地址,如 注意 需使用S3 Endpoint 内网地址。 | |
aws_s3_region | cn-beijing | 需访问的 S3 存储空间的地区,如 |
aws_s3_path | bucket/warehouse_path | 用于存储数据的 S3 存储空间路径,由 S3 存储桶的名称及其下的子路径(如有)组成,如 bucket_name/warehouse_path 。 |
aws_s3_access_key | xxx | 输入有权限访问 S3 存储空间的 Access Key。 |
aws_s3_secret_key | xxx | 输入有权限访问 S3 存储空间的 Secret Key,与 Access Key ID 配套使用。 |
参数设置完成后,单击下一步按钮,完成后续的集群设置。其余集群设置详见创建集群。
集群创建完成后,您可登录集群,并执行以下命令,使用 MySQL 客户端连接 StarRocks。
mysql -h127.0.0.1 -uroot -P9030
执行以下命令,在 StarRocks 环境中创建数据库与数据表信息,并插入测试数据进行校验。
create database demo; use demo; CREATE TABLE IF NOT EXISTS tb_demo ( c1 DATE NOT NULL COMMENT "YYYY-MM-DD", c2 TINYINT COMMENT "range [-128, 127]", c3 SMALLINT COMMENT "range [-32768, 32767] ", c4 INT COMMENT "range [-2147483648, 2147483647]", c5 BIGINT COMMENT "range [-2^63 + 1 ~ 2^63 - 1]", c6 LARGEINT COMMENT "range [-2^127 + 1 ~ 2^127 - 1]" ) DUPLICATE KEY(c1, c2) DISTRIBUTED BY HASH(c1, c2) PROPERTIES ( "in_memory" = "false" ); insert into tb_demo values('2023-10-01', 2, 3, 4, 5, 6); select * from tb_demo;
上述语句执行完成后,您便可登录 TOS 控制台,前往指定路径下查看数据。