Hadoop安全模式
安全模式是保证系统保密性、完整性及可用性的一种机制,在一定程度上可以防止系统里的资源遭到破坏、更改和泄露,使整个系统持续、可靠地正常运行。
了解Hadoop安全模式
安全模式是Hadoop的保护机制,保障系统不受破坏。当处于安全模式时,文件系统只接收读数据的请求,而不接收删除、修改等变更请求。
若没有安全模式,则Hadoop将处于不受保护的状态,可能存在以下风险:
(1)Hadoop服务将不验证用户或其它服务。任何用户都可以访问HDFS,所有用户都可以对集群里的目录或文件进行增、删、改、查,个人文件的私密性将毫无保障。
(2)攻击者可以伪装成Hadoop服务。注册一个新的任务跟踪器,潜入Hadoop集群,监控整个集群的文件或目录和监控集群的运行。
(3)DataNode不会对节点上的数据块的访问实施任何访问控制。未经授权的用户可以随时获取想要的数据块信息,只需要提供对应的数据块ID,任何人都可以写任意数据到该节点。
所以,没有安全模式的Hadoop集群使用的风险是比较大的,集群的安全机制是必要的。
Hadoop开发者设定了一个安全模式:
用户只能访问有访问权限的HDFS目录或文件。
用户只能访问或修改自身的MapReduce任务。
用户使用Hadoop集群的相关服务要进行身份验证,以防未经授权的NameNode、DataNode、JobTracker或TaskTracker服务。
服务与服务之间也需要相互认证,以防未经授权的服务。
Kerberos凭证的获取和使用对用户和程序是透明的,前提是操作系统在登录时为用户获取了Kerberos票证授予票证,(Kerberos是一种计算机网络授权协议,使用在非安全网络中,对个人通信以安全的手段进行身份验证)。
查看、解除和开启Hadoop安全模式
查看安全模式
当启动Hadoop集群时,集群会进入安全模式,主要为了检查系统中的DataNode上的数据块的数量和有效性。在Linux系统上启动Hadoop集群,启动完成后可在本机浏览器的地址输入栏中输入“http://masster:9870”并按Enter键,查看HDFS的监控服务。
Summary模块下显示了安全模式信息,默认情况下刚开启集群时将自动开启安全模式,若显示“Safe mode is ON”,说明安全模式已启动。如果数据块还没加载到阈值,集群处于安全模式。若显示“Safe mode is off”,表示安全模式已自动关闭。
也可以在Linux终端使用命令查看安全模式情况。
解除和开启安全模式
当启动Hadoop集群时,集群会开启安全模式,原因是DataNode的数据块数没有达到总数据块的阈值。如果没有先关闭Hadoop集群,而直接关闭了虚拟机,那么Hadoop集群也会进