其实用Knox可以代理任何http服务或者web app,不仅仅局限于代理hadoop的服务或者web应用/界面。
例如,你可以把tomcat装在一台机器上,然后把knox装在另一台机器上或者跟tomcat相同的机器上。knox就可以作为代理,作为通向tomcat的访问点。
1.下载并安装knox 0.6.0或者以上版本。
http://mirror.bit.edu.cn/apache/knox/0.6.0/knox-0.6.0.zip
解压后,先运行knox/bin/knoxcli create-master 来创建密码,再运行knox/bin/ldap start 启动ldap,最后运行knox/bin/gateway来启动knox服务器.
2.下载并安装Tomcat,最新版本或者以前版本都可以.(需要注意的是tomcat9需要java8以上版本)
http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M1/bin/apache-tomcat-9.0.0.M1.zip
解压后,到tomcat/bin目录运行startup [Windows运行startup.bat ,Linux运行startup.sh]
tomcat默认端口号是8080,如果要修改可到tomcat/conf/server.xml中找到Connector port=”8080”这一行将8080改为其他值.
3.创建一个tomcat.xml放于knox/conf/topologies目录下,并具有以下内容(这样一来tomcat将被视作一个集群的名字,同理如果在knox/conf/topologies目录下放置一个mycluster.xml,那么mycluster也被看做是一个集群的名字,会在knox/data/deployment生成其最新的war包)
<?xml version="1.0" ?>
<topology>
<gateway>
<provider>
<role>authentication</role>
<name>ShiroProvider</name>
<enabled>true</enabled>
<param>
<name>sessionTimeout</name>
<value>30<