本文简单梳理一下自己在使用 StarRocks 时遇到的一些疑难杂症,仅供参考,本文会持续更新。
问题列表
ERROR 1064 (HY000): BE access S3 file failed, SdkResponseCode=-1, SdkErrorType=99, SdkErrorMessage=curlCode: 77, Problem with the SSL CA cert (path? access rights?): file = s3://hello/a.parquet
BE 访问对象存储时,遇到如上报错。这是因为 StarRocks 的 Release 包是在 Centos 上面打的,而你可能是在 Ubuntu 上面运行官方的 Release 包,两个系统的 SSL 证书路径不同,使得 AWS SDK 中的 CURL 会找不到 SSL 证书,便抛出这个错误。当然如果你用的是 Ubuntu 编译的 StarRocks,就没有这个问题。
你可以尝试执行如下命令,sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
,把 Ubuntu 平台下的 ca-certificates.crt 拷贝一份到目标位置,这样 AWS SDK 中的 CURL 就能顺利找到对应证书。
在使用 KS3,OBS 等对象存储时,发现如果路径存在 = 号,BE 就会抛出 403 异常。
这是因为 StarRocks 使用 AWS SDK 去访问国内这些对象存储,走的是 S3 协议,但是国内的厂商可能没有很好的兼容,从而导致鉴权失败。
在 be.conf
里面添加一行 aws_sdk_enable_compliant_rfc3986_encoding=true
即可解决。
原创文章,作者:Smith,如若转载,请注明出处:https://www.inlighting.org/archives/starrocks-faqs