【问题标题】:DynamoDBStorageHandler Hive connectorDynamoDBStorageHandler Hive 连接器
【发布时间】:2019-12-04 11:19:48
【问题描述】:

当我从 EMR 集群中的 Hive shell 运行此命令时:

CREATE EXTERNAL TABLE my_db.my_table
     (col1 string, ...)
 STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' 
 TBLPROPERTIES (
     "dynamodb.table.name" = "table_name", 
     "dynamodb.column.mapping" = "col1:col1  ... "
 );

我收到以下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.net.ConnectTimeoutException Call From ip-xx-xx-xx-xxx.ec2.internal/xx.xx.xx.xxx to ip-yy-yy-yy-yyy.ec2.internal:8020 failed on socket timeout exception: org.apache.hadoop.net.ConnectTimeoutException: 20000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=ip-yy-yy-yy-yyy.ec2.internal/yy.yy.yy.yyy:8020]; For more details see:  http://wiki.apache.org/hadoop/SocketTimeout)

EMR 集群位于 VPC 中。
我尝试编辑主节点安全组的入站/出站规则,目前没有成功。

谢谢,迈克尔

【问题讨论】:

    标签: hadoop hive amazon-dynamodb amazon-emr


    【解决方案1】:

    AWS Support 能够帮助我:问题是 Glue 中的数据库位置指向旧的 HDFS 地址 ip-yy-yy-yy-yyy.ec2.internal(不同于 xx.xx.xx.xxx) ,根据上一个集群的master的节点。我将位置更改为指向 S3,问题已解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 2019-11-24
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多