繁体   English   中英

Hadoop服务器连接,用于将文件从HDFS复制到AWS S3

[英]Hadoop server connection for copying files from HDFS to AWS S3

要求是使用每日CRON安排的独立Java应用程序将hdfs文件从Hadoop集群(非aws)复制到AWS S3存储桶。 将使用AmazonS3.copyObject()方法进行复制。 如何为源Hadoop集群指定使用Kerberos的服务器连接详细信息,以便S3client可以访问源hdfs文件夹中的文件。

下面的命令较早使用,但不是安全的文件传输方式。

hadoop distcp -Dfs.s3a.access.key = << >> -Dfs.s3a.secret.key = << >> hdfs:// nameservice1 / test / test1 / folder s3a:// <> / test / test1 /夹

S3不会靠近kerberos; 您的cronjob将必须使用密钥表上的kinit来对HDFS访问进行身份验证。

将秘密传递给distcp的最安全方法是将其保存在群集FS的JCEKS文件中,例如运行该作业的用户的主目录中的一个文件,该权限仅允许该人读取(最大妄想症:设置一个加密密码,并将其与作业一起传递)。 请参阅使用凭证提供者保护S3凭证

可以尝试的另一种技巧:使用CLI 假定角色命令创建会话凭据,然后将临时凭据传递给distcp ,以使s3a接起来 这样,是的,秘密对于.ps是可见的,但不是寿命更长的秘密。 与用户的完整帐户相比,您还可以要求访问权限受限的特定角色(例如:仅对一个存储桶进行读/写访问)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM