Hadoop Web控制台添加身份验证

       我们在安装完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中,亦可使用。

你可能感兴趣的:(hbase日常维护,hadoop,大数据,hdfs)