http://testing:50070/webhdfs/v1/Test/asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg?op=OPEN 我用webhdfs通过hadoop获取上面的图像我想在浏览器中缓存这个图像怎么做有什么机制来缓存来自hadoop的图像以及如何在这个url中隐藏端口号
http://testing:50070/webhdfs/v1/Test/asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg?op=OPEN
flseospp1#
我不熟悉 webhdfs 但如果它不支持缓存,则必须在客户端和webhdfs服务器之间放置一个缓存层。好吧,你需要的是启用缓存功能的反向代理。有几种方法可以选择,但是您应该使用apache mod\u缓存或nginx反向代理缓存,这样就可以了。所以,如果您想从url中隐藏端口,就必须在端口上启动webserver/proxy 80 . 然后,只需启用代理别名 /proxy 上下文并将请求重定向设置为 http://testing:50070/webhdfs . 启用缓存。最后你可以要求 webhdfs 通过缓存url上的代理 http://testing/proxy/v1/Test/asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg?op=OPEN 通信将如下所示:
webhdfs
80
/proxy
http://testing:50070/webhdfs
http://testing/proxy/v1/Test/asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg?op=OPEN
Client 1:00PM <> Proxy (no cache) <> Webhdfs (asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg) Client 2:00PM <> Proxy (asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg) expires in 1h Client 2:45PM <> Proxy (asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg) expires in 15min Client 4:00PM <> Proxy (asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg) expired!! <> Webhdfs (asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg)
我没有提供任何示例,但是您可以找到许多针对apache或nginx的示例。你自己选择。
yh2wf1be2#
我知道这是一个延迟响应,但是apacheknox是用于hadoop访问的restapi网关。它的一个具体目标是对使用者隐藏内部拓扑信息。Apache诺克斯
2条答案
按热度按时间flseospp1#
我不熟悉
webhdfs
但如果它不支持缓存,则必须在客户端和webhdfs服务器之间放置一个缓存层。好吧,你需要的是启用缓存功能的反向代理。有几种方法可以选择,但是您应该使用apache mod\u缓存或nginx反向代理缓存,这样就可以了。
所以,如果您想从url中隐藏端口,就必须在端口上启动webserver/proxy
80
. 然后,只需启用代理别名/proxy
上下文并将请求重定向设置为http://testing:50070/webhdfs
. 启用缓存。最后你可以要求webhdfs
通过缓存url上的代理http://testing/proxy/v1/Test/asaw4zds_ssdf4_ht35-9a1a-4a7b-9n.jpg?op=OPEN
通信将如下所示:我没有提供任何示例,但是您可以找到许多针对apache或nginx的示例。你自己选择。
yh2wf1be2#
我知道这是一个延迟响应,但是apacheknox是用于hadoop访问的restapi网关。它的一个具体目标是对使用者隐藏内部拓扑信息。Apache诺克斯