我正在尝试从我的工作的Mapper类发出HTTPS请求。我正在使用Java的HttpsURLConnection库,这需要我设置以下属性:
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
在Java应用程序中设置这些属性没有问题,但在MapReduce中,我在映射器级别设置这些属性时遇到问题。我无法弄清楚如何“到达外部”Hadoop并为每个映射器设置这些属性。
答案 0 :(得分:0)
从MapReduce创建请求不是一个好方法。直觉是:您使用MapReduce来扩展计算。你还没有提供有关你正在做什么的更多信息,所以让我们考虑当你扩展(数量级)任务时会发生什么。
如果您的目标是连接到一个地方,那么您实际上是(D)执行此操作。另一端的服务器可能不会像MapReduce(集群)一样扩展。
如果您要抓取多个目标,请考虑使用一些抓取分布式框架(在Google上找一些)。
答案 1 :(得分:0)
解决方案与应用程序代码的任何内容无关,而是与群集配置相关。密钥库文件需要放在每个数据节点上的相同位置。并不完全赞同这是安全方面最安全的解决方案,但它适用于快速POC。