在hadoop中,通过knox + webhdfs可以访问的数据大小有限制吗?
In hadoop, Is there any limit to the size of data that can be accessed through knox + webhdfs?
在hadoop中,通过knox + webhdfs可以accessed/Ingested到HDFS的数据大小有没有限制?
理论上是没有限制的。但是,使用 Knox 会产生瓶颈。纯 WebHDFS 会将每个块的 read/write 请求重定向到
(可能)不同的数据节点,并行访问;但是使用 Knox,一切都通过单个网关进行路由并序列化。
也就是说,您可能不想使用 Knox 和 WebHDFS 上传一个巨大的文件。它只会花费太长时间(并且根据您的客户,您可能会超时。)
当您需要从受 firewall/s 保护的集群外部访问 webhdfs 资源时,Apache Knox 是您的最佳选择。如果您无权访问所有数据节点端口,那么直接访问 webhdfs 将不适合您。为所有这些打开防火墙漏洞 host:ports 会破坏防火墙的目的,引入管理噩梦并不必要地向外部客户端泄露网络详细信息。
正如 Hellmar 指出的那样,这取决于您的具体 usecase/s 和客户。如果您需要摄取大文件或大量文件,那么您可能需要考虑一种不同的方法来为这些客户端访问集群内部。如果您只需要访问任何大小的文件,那么您应该能够将该访问扩展到许多客户端。
无需使用 kerberos/SPNEGO 进行身份验证即可访问此类资源,这会打开许多可能的客户端,否则这些客户端将无法与安全集群一起使用。
Knox 用户指南包含访问 webhdfs 资源的示例 - 您可以找到它们:http://knox.apache.org/books/knox-0-7-0/user-guide.html#WebHDFS - 这也说明了 Knox 提供的基于 groovy 的脚本。这使您可以做一些非常有趣的事情。
在hadoop中,通过knox + webhdfs可以accessed/Ingested到HDFS的数据大小有没有限制?
理论上是没有限制的。但是,使用 Knox 会产生瓶颈。纯 WebHDFS 会将每个块的 read/write 请求重定向到 (可能)不同的数据节点,并行访问;但是使用 Knox,一切都通过单个网关进行路由并序列化。
也就是说,您可能不想使用 Knox 和 WebHDFS 上传一个巨大的文件。它只会花费太长时间(并且根据您的客户,您可能会超时。)
当您需要从受 firewall/s 保护的集群外部访问 webhdfs 资源时,Apache Knox 是您的最佳选择。如果您无权访问所有数据节点端口,那么直接访问 webhdfs 将不适合您。为所有这些打开防火墙漏洞 host:ports 会破坏防火墙的目的,引入管理噩梦并不必要地向外部客户端泄露网络详细信息。
正如 Hellmar 指出的那样,这取决于您的具体 usecase/s 和客户。如果您需要摄取大文件或大量文件,那么您可能需要考虑一种不同的方法来为这些客户端访问集群内部。如果您只需要访问任何大小的文件,那么您应该能够将该访问扩展到许多客户端。
无需使用 kerberos/SPNEGO 进行身份验证即可访问此类资源,这会打开许多可能的客户端,否则这些客户端将无法与安全集群一起使用。
Knox 用户指南包含访问 webhdfs 资源的示例 - 您可以找到它们:http://knox.apache.org/books/knox-0-7-0/user-guide.html#WebHDFS - 这也说明了 Knox 提供的基于 groovy 的脚本。这使您可以做一些非常有趣的事情。