注,本次使用腾讯云EMR的 StarRocks-V1.1.0 ,starrocks-2.2.2
StarRocks 自带的cos jar包版本比较老( hadoop-cos-2.8.5-5.9.3.jar、cos_api-bundle-5.6.35.jar),已经不支持访问开启元数据加速的存储桶。使用会报错:Caused by: java.io.IOException: Cannot rename /export/customer/__starrocks_export_tmp_2ebb2a29-9181-11ed-b129-525400ae9a9f/data_2ebb2a29-9181-11ed-b129-525400ae9a9f_0_11_0.csv.1673421963372 to /export/customer/data_2ebb2a29-9181-11ed-b129-525400ae9a9f_0_11_0.csv, /export/customer is a file
需要更新cos的相关jar,并做相关配置来支持访问。
更新jar包
在 https://github.com/tencentyun/hadoop-cos/releases 上选择较新的jar包,本次选择使用 cos_api-bundle-5.6.69.jar 、hadoop-cos-2.8.5-8.1.7.jar
在StarRocks集群的Broker节点,也就是 StarRocksBroker ,将之前的jar包替换为本次的jar。替换操作参考如下:
代码语言:javascript复制#创建备份目录
mkdir /data/emr/starrocks/back
#进行备份
mv /usr/local/service/starrocks/lib/broker/cos_api-bundle-5.6.35.jar /data/emr/starrocks/back/
mv /usr/local/service/starrocks/lib/broker/hadoop-cos-2.8.5-5.9.3.jar /data/emr/starrocks/back/
#进行替换
chown hadoop.hadoop cos_api-bundle-5.6.69.jar hadoop-cos-2.8.5-8.1.7.jar
chmod 644 cos_api-bundle-5.6.69.jar hadoop-cos-2.8.5-8.1.7.jar
mv cos_api-bundle-5.6.69.jar /usr/local/service/starrocks/lib/broker/
mv hadoop-cos-2.8.5-8.1.7.jar /usr/local/service/starrocks/lib/broker/
添加配置
在StarRocks控制台的 配置管理中的 core-site.xml 文件中添加相关配置
代码语言:javascript复制<property>
<name>fs.AbstractFileSystem.cosn.impl</name>
<value>org.apache.hadoop.fs.CosN</value>
</property>
<property>
<name>fs.cosn.impl</name>
<value>org.apache.hadoop.fs.CosFileSystem</value>
</property>
<property>
<name>fs.cosn.bucket.region</name>
<value>ap-guangzhou</value>
<description>需要修改为元数据加速的存储桶对应的地域,本次使用的是广州地域</description>
</property>
<property>
<name>fs.cosn.posix_bucket.fs.impl</name>
<value>org.apache.hadoop.fs.CosNFileSystem</value>
</property>
修改完成后,重启 StarRocksBroker 服务,重启后即可。
验证
将SR中的数据拷贝到ofs上,参考命令如下:
代码语言:javascript复制EXPORT TABLE customer
TO "cosn://wangxpofsn-xxxx/export/customer/"
WITH BROKER "Broker_StarRocks"
(
"fs.cosn.userinfo.secretId" = "xxxxxx",
"fs.cosn.userinfo.secretKey" = "xxxxxx",
"fs.cosn.bucket.endpoint_suffix" = "cos.ap-guangzhou.myzijiebao.com"
);
可以使用 SHOW EXPORT; 来查看任务运行情况 ,运行完成后可以在相关的目录中看到文件
参考:
https://cloud.tencent.com/document/product/436/71550#3.-s3-.E5.8D.8F.E8.AE.AE.E8.AE.BF.E9.97.AE.E6.96.B9.E5.BC.8F.E5.BF.85.E5.A1.AB.E9.85.8D.E7.BD.AE.E9.A1.B9