给hadoop web监控界面加上安全机制,hadoopweb监控界面
当hadoop集群安装完成后,如果集群是部署在局域网上,相对来讲,可不考虑安全问题,但部署在互联网上,需要对web控制界面进行安全机制设置。如果没有设置时,在浏览器中输入namenode的主机地址加上50070端口时,出现如下的界面:
注意,图中有一名:Security is OFF,说明没有设置安全机制,那如何设置安全机制呢?
1.修改文件core-site.xml
<property>
<name>hadoop.http.filter.initializers</name>
<value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
</property>
<property>
<name>hadoop.http.authentication.type</name>
<value>simple</value>
</property>
<property>
<name>hadoop.http.authentication.token.validity</name>
<value>3600</value>
</property>
<property>
<name>hadoop.http.authentication.signature.secret.file</name>
<value>/usr/local/hadoop1/hadoop-http-auth-signature-secret</value>
</property>
<property>
<name>hadoop.http.authentication.cookie.domain</name>
<value></value>
</property>
<property>
<name>hadoop.http.authentication.simple.anonymous.allowed</name>
<value>false</value>
</property>
2.在目录/usr/local/hadoop1(我的hadoop目录)下生成文件hadoop-http-auth-signature-secret
命令:echo \"xcg\" > /usr/local/hadoop1/hadoop-http-auth-signature-secret
3.将生成的文件复制到其他data节点主机对应目录下,重启集群。
4.在地址栏用http://192.168.1.101:50070(我的namenode节点主机)会401错误,但在地址后加上?user.name=xcg,xcg是刚才我在/hadoop-http-auth-signature-secret文件中输入的用户名,这时可以正常访问了。