当我从emr群集中的配置单元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中。
我尝试编辑主节点的安全组的入站/出站规则,但到目前为止没有成功。
谢谢,迈克尔
1条答案
按热度按时间prdp8dxp1#
aws支持人员能够帮助我:问题是glue中的数据库位置指向旧的hdfs地址ip-yy-yy-yy.ec2.internal(与xx.xx.xx.不同),根据上一个集群的主节点。我换了位置指向s3,问题就解决了。