目录
一、概述
2.1 knox介绍
2.2 版本信息
二、部署
三、验证Knox网关
3.1 Hdfs RESTFULL
3.2 HDFSUI
3.3 YARNUI
3.4 HBASEUI
一、概述
2.1 knox介绍
Apache Knox网关是一个用于与Apache Hadoop部署的REST api和ui交互的应用程序网关。Knox网关为所有与Apache Hadoop集群的REST和HTTP交互提供了一个单一的访问点。
Apache Knox Gateway是一款用于保护Hadoop生态体系安全的代理网关系统,为Hadoop集群提供唯一的代理入口。Knox以类似反向代理的形式挡在集群前面,隐匿部署细节(例如端口号和机器名等),接管所有用户的HTTP请求(例如WEB UI 控制台访问和RESTful 服务调用),以此来保护集群安全。
Knox提供三组面向用户的服务:
代理服务
Apache Knox项目的主要目标是通过代理HTTP资源提供对Apache Hadoop的访问。
身份验证服务
REST API访问的身份验证以及ui的WebSSO流。LDAP/AD,基于报头的预认证,Kerberos,SAML、OAuth都是可用的选项。
客户服务
客户端开发可以通过DSL编写脚本或直接使用Knox Shell类作为SDK来完成。KnoxShell交互式脚本环境将groovy shell的交互式shell与Knox shell SDK类相结合,用于与部署的Hadoop集群中的数据进行交互。
Knox网关本质上是一款基于Jetty实现的高性能反向代理服务器,通过内置的过滤器链来处理URL请求,支持使用LDAP进行用户身份认证。Knox网关在架构设计上具有良好的可扩展性,这种扩展性主要通过Service和Provider这两个扩展性框架来实现。Server扩展性框架还提供了一种网关新增的HTTP或RESTful服务端点的途径,例如WebHDFS就是以新建的Service的形式加入Knox网关的。而Provider扩展性框架则是用来定义并实现相应Service所提供的功能,例如端点的用户认证或是WebHDFS中的文件上传等功能。当我们使用Knox作为代理网关之后,大数据平台中Hadoop系统的逻辑拓扑就会变成如下图所示:
2.2 版本信息
序号 | 名称 | 版本 | 描述 |
1 | HDFS | 3.3.3 | 分布式大数据存储 |
2 | YARN | 3.3.3 | 分布式资源调度与管理平台 |
3 | Spark | 3.1.3 | 分布式计算系统 |
4 | Hbase | 2.0.2 | 分布式列式存储数据库 |
二、部署
安装包下载地址:
解压
unzip knox-2.0.0.zip
ll knox-2.0.0
bin目录说明
[root@ddp01 knox-2.0.0]# ll bin/
总用量 140
-rw-r--r-- 1 root root 22425 1月 22 2020 gateway.jar
-rwxr-xr-x 1 root root 4657 1月 22 2020 gateway.sh # 启动gateway的脚本
-rw-r--r-- 1 root root 1024 1月 22 2020 gateway.xml
-rw-r--r-- 1 root root 22386 1月 22 2020 knoxcli.jar
-rwxr-xr-x 1 root root 1987 1月 22 2020 knoxcli.sh # 内置的knox客户端脚本,一般用于密码、证书、别名、ldap服务、测试等
-rwxr-xr-x 1 root root 5599 1月 22 2020 knox-env.sh
-rwxr-xr-x 1 root root 8580 1月 22 2020 knox-functions.sh # 一些预定的脚本函数,例如appStart等,在ldap.sh和gateway.sh加载使用
-rw-r--r-- 1 root root 22454 1月 22 2020 ldap.jar
-rwxr-xr-x 1 root root 2862 1月 22 2020 ldap.sh # /启动ldap脚本,gateway的服务依赖于ldap服务,不启动会报错
-rw-r--r-- 1 root root 1059 1月 22 2020 ldap.xml
-rw-r--r-- 1 root root 22421 1月 22 2020 shell.jar
conf 目录说明
[root@ddp01 knox-2.0.0]# ll conf/
总用量 36
drwxr--r-- 2 root root 20 1月 22 2020 descriptors
-rw-r--r-- 1 root root 4714 1月 22 2020 gateway-log4j2.xml
-rw-r--r-- 1 root root 8052 1月 22 2020 gateway-site.xml # gateway总配置,主要配置例如ldap服务url、网关的port、网关的名字(访问路径)、黑白名单等
-rw-r--r-- 1 root root 1684 1月 22 2020 knoxcli-log4j2.xml
-rw-r--r-- 1 root root 1765 1月 22 2020 ldap-log4j2.xml
-rw-r--r-- 1 root root 91 1月 22 2020 README
drwxr--r-- 2 root root 50 1月 22 2020 shared-providers
-rw-r--r-- 1 root root 1621 1月 22 2020 shell-log4j2.xml
drwxr--r-- 2 root root 134 1月 22 2020 topologies # 主要用户配置服务,所有的服务,不管是hdfsui、yarnui、sparkui都从这里配置
-rw-r--r-- 1 root root 2987 1月 22 2020 users.ldif # 内置的ldap的配置文件,在ldap服务启动的时候,会自动读取这个配置文件
gateway-site.xml 重要参数如下:
param | default | description |
gateway.port | 8443 | knox默认端口 |
gateway.path | gateway | 默认url中的路径 |
gateway.hadoop.kerberos.secured | FALSE | 集群是否开启kerberos |
java.security.krb5.conf | /etc/knox/conf/krb5.conf | krb5.conf的完整路径 |
java.security.auth.login.config | /etc/knox/conf/krb5JAASLogin.conf | JAAS登陆配置的完整路径 |
| default | 一个以分号分隔的正则表达式列表,用于控制允许Knox将调度和重定向到哪些端点。 |
| localhost | 将应用白名单服务角色列表以逗号分隔 |
topologies 放置所有的网络拓扑xml文件,用于部署集群代理:
添加 knox用户并启动 ldap和gateway 服务
使用knox 用户启动,然后使用 jps 可以看到两个进程
使用 jps 可以看到两个进程
https://192.168.2.98:8443/gateway/homepage/home/, 账号: admin/admin-password
https://192.168.2.98:8443/gateway/knoxsso/knoxauth/lgin.html?originalUrl=https://192.168.2.98:8443/gateway/homepage/home/
https://192.168.2.98:8443/gateway/homepage/home/
如下可以看到两个配置
三、验证Knox网关
3.1 Hdfs RESTFULL
curl -i -ku admin:admin-password -X GET "https://localhost:8443/gateway/my_hdfs/webhdfs/v1/?op=LISTSTATUS"
3.2 HDFSUI
https://192.168.2.98:8443/gateway/my_hdfs/hdfs
https://192.168.2.98:8443/gateway/my_hdfs/hdfs/?host=http://192.168.2.100:9870
账号密码:admin/admin-password
可以正常访问HDFSUI
3.3 YARNUI
https://192.168.2.98:8443/gateway/my_hdfs/yarn/
提交测试任务
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--executor-memory 1G \
--num-executors 1 \
/opt/datasophon/spark3/examples/jars/spark-examples_2.12-3.1.3.jar \
2
查看job日志
3.4 HBASEUI
https://192.168.2.98:8443/gateway/my_hdfs/hbase/webui/master?&host=192.168.2.100&port=16010
master页面
👇👇👇
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取,或微信扫描下方二维码领取~
**读者福利 |**
CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 **(安全链接,放心点击)**
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。****(全套教程文末领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!****(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或点击链接免费领取~
**读者福利 |**
CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 **(安全链接,放心点击)**
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!