我有自己的s3在本地运行,而不是awss3。有没有办法覆盖s3.amazonaws.com?
我创造了 hive-site.xml
把它放进去 ${HIVE_HOME}/conf/
.
这是我在.xml中得到的:
<configuration>
<property>
<name>fs.s3n.impl</name>
<value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>
<property>
<name>fs.s3n.endpoint</name>
<value>local_s3_ip:port</value>
</property>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>VALUE</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>VALUE</value>
</property>
现在我想创建一个表,如果我把:
LOCATION('s3n://hive/sample_data.csv')
我有个错误:
org.apache.hadoop.hive.ql.exec.ddltask。java.net.unknownhostexception:hive.s3.amazonaws.com:名称解析暂时失败
它既不适用于s3也不适用于s3n。
是否可以覆盖默认的s3.amazonaws.com并使用我自己的s3?
2条答案
按热度按时间l0oc07j21#
切换到s3a连接器(和Hadoop2.7+jars)
将“fs.s3a.endpoint”设置为服务器的主机名
和“fs.s3a.path.style.access”=true(而不是期望每个bucket都有dns)
由于签名在第三方商店中总是一个麻烦的问题,所以您应该花时间研究身份验证选项。
vwoqyblh2#
通过这种配置,我可以到达自己的s3端点。