由于手上负责的hadoop集群需要对公司外部提供服务,所有会有多个部门访问我们的hadoop集群,这个就涉及到了hadoop的安全性。
而hadoop的安全性是很弱的,只提供类似linux文件系统的帐户权限验证,而且可以通过简单的手段冒充用户名,如果有恶意用户,直接冒充为hadoop的super用户,那整个集群是很危险的。
hadoop支持kerberos,希望可以通过kerberos,限制恶意用户伪造用户。
预研过程中,发现kerberos生成证书和配置的步骤相当繁琐,首次配置也可以接受,但是对于用户权限的修改,机器的减容扩容,感觉会造成证书要重新生成,再分发证书,重启hadoop。而且还要考虑kerberos的宕机导致整个集群无法服务的风险,加上kerberos的东西也比较复杂,这些考虑,让我觉得上kerberos很可能会导致hadoop集群运维的不便。
于是咨询淘宝云梯管理员罗李,问他hadoop和kerberos是否很不好用,他回复:很不好用。给个案例,支付宝去年到今年上半年用了这东西,效率极低运维困难,下半年换成云梯版本后效率大涨连扩容都省了。
最后总结,hadoop权限方面,kerberos还是不适合,也许真的只能自己像云梯一样,修改hadoop源代码,添加自己的权限验证体系。