Hadoop生态圈-Knox网关的应用案例

时间:2022-12-20 14:00:30

一.Knox网关简介

  据Knox官网所述(http://knox.apache.org/):Apache Knox Gateway是用于与Apache Hadoop部署的RESTAPI和UI交互的应用程序网关。Knox Gateway为与Apache Hadoop集群的所有REST和HTTP交互提供一个单一的访问点。KNOX提供三组面向用户的服务:

    代理服务:Apache Knox项目的主要目标是通过代理HTTP资源提供对Apache Hadoop的访问。

    认证服务:对USTAPI访问以及UIS的WebSSO流进行身份验证。LDAP/AD基于头的PROAUTHKerberosSAMLOAUTH都是可用的选项。

    客户服务:可以通过DSL编写脚本或直接将Knox Shell类作为SDK来完成客户端开发。

Hadoop生态圈-Knox网关的应用案例

简单的说,Apache Knox Gateway是一款用于保护Hadoop生态体系安全的代理网关系统,为Hadoop集群提供唯一的代理入口。Knox以类似反向代理的形式挡在汲取你的前面,隐匿部署细节(例如端口号和机器名等),接管所有用户的HTTP请求(例如WEB UI 控制台访问和RESTful 服务调用),以此来保护集群安全。不仅如此,Knox还能担任认证网关的角色。如下图所示:

Hadoop生态圈-Knox网关的应用案例

Knox网关本质上是一款基于Jetty实现的高性能反向代理服务器,通过内置的过滤器链来处理URL请求,支持使用LADP进行用户身份认证。Knox网关在架构设计上具有良好的可扩展性,这种扩展性主要通过Service和Provider这两个扩展性框架来实现。Server扩展性框架还提供了一种网关新增的HTTP或RESTful服务端点的途径,例如WebHDFS就是以新建的Service的形式加入Knox网关的。而Provider扩展性框架则是用来定义并实现相应Service所提供的功能,例如端点的用户认证或是WebHDFS中的文件上传等功能。当我们使用Knox作为代理网关之后,大数据平台中Hadoop系统的逻辑拓扑。

更多关于Knox的知识请参考官网链接:http://knox.apache.org/。