通过Presto连接器连接AWS S3遇配置问题求助
Presto Hive连接器连接AWS S3失败的配置问题
问题描述
已按照Presto官方文档配置Hive连接器以连接AWS S3,但未能成功。配置代码如下:
connector.name=hive-hadoop2 hive.metastore.uri=thrift:mariadb://md7wf1g369xf22.cluz8hwxjhb6.us-east-2.rds.amazonaws.com:3306 hive.s3.endpoint=https://databricks-workspace-stack-3545e-metastore-bucket.s3-us-east-2.amazonaws.com hive.s3.aws-access-key= hive.s3.aws-secret-key=
配置错误与遗漏项
- Hive元数据存储URI格式错误:
hive.metastore.uri的格式应为Hive Metastore服务(HMS)的Thrift地址,而非数据库连接格式。如果你的元数据存在MariaDB中,需要先部署HMS,正确格式为thrift://<hms主机地址>:9083(默认端口为9083)。直接填写数据库地址无法让Presto与Hive元数据交互。 - AWS访问密钥未填充:
hive.s3.aws-access-key和hive.s3.aws-secret-key为空,必须填入拥有目标S3桶读写、列表等权限的AWS IAM密钥,否则Presto无法访问S3存储资源。 - 缺少S3文件系统类型声明:需添加
hive.s3.file-system-type=S3,明确指定存储系统类型,部分Presto版本依赖该配置识别S3后端。 - 可选的补充S3配置:
- 若使用路径样式访问S3,需添加
hive.s3.path-style-access=true; - 若环境需通过代理访问S3,需配置
hive.s3.proxy-host和hive.s3.proxy-port; - 可添加
hive.s3.region=us-east-2明确指定AWS区域,避免自动识别出错。
- 若使用路径样式访问S3,需添加
- JDBC直连元数据库的替代配置:如果不想部署HMS,直接通过JDBC连接MariaDB元数据库,需替换元数据相关配置:
此模式下无需配置hive.metastore.type=jdbc hive.metastore.jdbc-url=jdbc:mysql://md7wf1g369xf22.cluz8hwxjhb6.us-east-2.rds.amazonaws.com:3306/metastore_db hive.metastore.jdbc-user=<数据库用户名> hive.metastore.jdbc-password=<数据库密码>hive.metastore.uri。
内容的提问来源于stack exchange,提问作者Rajesh m
相关产品推荐
相关产品推荐

