【问题标题】:Hive Create table over S3 in RIAK CSHive 在 RIAK CS 中通过 S3 创建表
【发布时间】:2016-04-27 15:41:43
【问题描述】:

我在 Hadoop 集群上运行 Hive 服务。我正在尝试在 Eucalyptus(RIAK CS) S3 数据上创建 Hive 表。我已经在 core-site.xml 和 hive-site.xml 中配置了 AccessKeyID 和 SecretAccessKey。当我执行 Create table 命令并使用 s3n 模式指定 S3 位置时,出现以下错误:

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。 MetaException(message:org.apache.http.conn.ConnectTimeoutException: Connect to my-bucket.s3.amazonaws.com:443 timed out)

如果我尝试使用 s3a 架构,我会收到以下错误:

失败:AmazonClientException 无法从链中的任何提供商加载 AWS 凭证

我可以使用 jets3t 更改 distcp 命令的端点 URL,但同样不适用于 Hive。欢迎提出任何将 Hive 指向 Eucalyptus S3 端点的建议。

【问题讨论】:

  • 是否可以通过更简单的命令行工具连接 Riak CS,例如s3cmd 还是 s3curl ?
  • 是的,我可以使用 s3cmd 进行连接。
  • 还有一些问题。 - 你在 s3cmd 中也使用了 https 吗? - 你可以尝试在连接riak cs 时连接普通的http 而不是https 吗? - 你使用代理连接到 riak cs 吗? - 你能确认客户端确实尝试连接到你的 riak cs 服务器吗? - riak cs 日志中是否有任何指示错误的行?
  • 我已使用具有端点 URL 的 s3cfg 文件为我的帐户配置了 S3 访问权限。我没有为连接配置 http 或 https 协议。 Hive 客户端未尝试连接到 RIAK CS。默认情况下,客户端指向“s3.amazonaws.com”,我无法将其修改为所需的端点。
  • 您想连接到 AWS S3 还是(您自己的?)riak cs?如果您的 Hive 客户端未尝试连接 ro Riak CS,则这不是 Riak CS 相关问题。

标签: hadoop amazon-s3 hive eucalyptus riak-cs


【解决方案1】:

我已升级到 HDP2.3(Hadoop 2.7),现在我可以配置 s3a 架构以实现 Hive 到 S3 的访问。

【讨论】:

    【解决方案2】:

    我不熟悉 Hive,但只要我听说它使用 MapReduce 作为后端处理系统。 MapReduce 使用 jets3t 作为 S3 连接器 - 在 MapReduce 和 Spark 中更改其配置对我都有效。希望这会有所帮助:http://qiita.com/kuenishi/items/71b3cda9bbd1a0bc4f9e

    类似的配置

    s3service.https-only=false

    s3service.s3-endpoint=yourdomain.com

    s3service.s3-endpoint-http-port=8080

    s3service.s3-endpoint-https-port=8080

    对你有用吗?

    【讨论】:

    • 我曾尝试使用提到的配置设置 jets3t.properties,但 Hive 客户端仍然指向 s3.amazonaws.com
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2015-09-27
    相关资源
    最近更新 更多