0
点赞
收藏
分享

微信扫一扫

Hadoop Web控制台添加身份验证

陈情雅雅 2022-03-25 阅读 29
java后端

我们在安装完hadoop 2.x 版本之后,默认情况下,可以通过 http://ip:50070/dfshealth.html访问hdfs页面,查看namenode和datanode状态,以及hdfs的相关文件等。但是这存在安全隐患,可能导致我们的文件信息的泄露,如果我们在页面里面添加个认证机制,只有验证之后的用户才可以进入页面里操作。

下面介绍一个既安全又好用的配置方案。

既然这是一个web界面,那就可以从为web项目添加用户校验入手,而不是为hadoop提供用户校验入手。

1、具体的配置如下

在namenode节点配置即可,不用在datanode中配置

web.xml (web项目的配置文件)

jetty.xml (jetty运行配置文件)

realm.properties (账号密码)

2、web.xml

路径: /usr/hdp/2.5.3.0-37/hadoop-hdfs/webapps/hdfs/WEB-INF

编辑web.xml,填入以下内容(这是我的配置, role-name 要根据自己的实际情况配置,我的hadoop用户是在hadoop group下的,所以填hadoop):

Protected

/*

hadoop

BASIC

jobtrackerRealm

3、jetty-web.xml

和web.xml在同一个文件夹下,如果没有,则新增一个,填入以下内容(/etc/hadoop/realm.properties是配置用户名密码的文件,

在同一行配置中已经加上hadoop.home.dir前缀了,这里补充实际路径就可以了):

jobtrackerRealm

/etc/hadoop/realm.properties

4、 realm.properties

jetty-web.xml 配置的路径下,/etc/hadoop/realm.properties ,这个文件是没有 的,要先创 建。

cp /etc/hadoop/realm.properties /etc/hadoop/2.5.3.0-37/0/

chmod 755 /etc/hadoop/2.5.3.0-37/0/realm.properties

此时做完文件会放到 /etc/hadoop/2.5.3.0-37/0/ realm.properties下面

vi /etc/hadoop/realm.properties

hadoop:4rfvbhu_2IU,hadoop

用户名:密码,用户所在的组 #比如: hadoop:hadoop123,root 一个用户密码一行,要配置多个,就多行

5、重启namenode,使认证生效

重启namenode
这里建议先重启standby nn,然后主从切换,重启切下来的standby nn,不要直接重启active的namenode

此法在yarn中,亦可使用。

举报

相关推荐

0 条评论