1.简单模式html
这种模式,配置简单,使用简单。linux
core-site.xml添加apache
<property> <name>hadoop.security.authorization</name> <value>true</value> </property> <property> <name>hadoop.security.authentication</name> <value>simple</value> </property>
hadoop.security.authentication能够不用配,默认就是simple的。安全
hadoop-policy.xml,是设置各类服务对应的可登录的用户和组,*天然是全部的,看里面的注释就能够了,或者直接看官方文档http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/ServiceLevelAuth.html,里面有详细的介绍和使用方式。运维
可登陆的用户在列表里面,实际运行时,还要看用户对各类资源的rwx权限,这个权限要用“hadoop fs”相关的命令进行设置了,和linux系统下设置文件权限是同样的。oop
问题在于这种登陆,有个用户名就能够,安全性不高啊,果真是简单模式。实际应用时,就本身用用仍是能够的,搭配下防火墙应该问题不大。可是,若是要对外提供服务啥的,这问题仍是不小的,伪造个用户名链接上服务,只要一行代码设置环境变量就伪造好了。。。spa
2.kerberos认证code
官方文档先挂上http://hadoop.apache.org/docs/stable2/hadoop-project-dist/hadoop-common/SecureMode.htmlxml
core-site.xmlhtm
<property> <name>hadoop.security.authorization</name> <value>true</value> </property> <property> <name>hadoop.security.authentication</name> <value>kerberos</value> </property>
接着就是安装kerberos,再就是一堆的配置啥的,而后,看到篇文章介绍支付宝hadoop集群使用kerberos的状况,里面所说,对于用户权限的修改,机器的减容扩容,会形成证书要从新生成,再分发证书,重启hadoop,并且还要考虑kerberos的宕机致使整个集群没法服务的风险,还有支付宝的那个例子,运维都难,仍是不用了。。。
3.看来是要修改hadoop源码,添加本身的验证体系了。