hadoop安全

wqsoz72f  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(506)


我试图学习“如何在hadoop中实现kerberos?”我已经阅读了这个文档https://issues.apache.org/jira/browse/hadoop-4487 我还学习了kerberos的基本知识(https://www.youtube.com/watch?v=kd2q-2toloe)
从这些资源中学习之后,我得出了一个结论,我通过一个图表来表示这个结论。场景:-用户登录到他的计算机通过kerberos身份验证并提交map reduce作业(请阅读图的描述,它几乎不需要您5分钟的时间)我想解释图并询问与几个步骤相关的问题(粗体)黄色背景中的数字代表整个流程(数字1到19)dt(红色背景)表示委派令牌bat(绿色背景)表示块访问令牌jt(棕色背景)表示作业令牌
步骤1、2、3和4表示:-请求tgt(票证授予票证)请求name节点的服务票证。问题1)kdc应该位于哪里?它能在我的名字节点或工作跟踪器所在的机器上吗?
步骤5、6、7、8和9表示:-向name节点显示服务票证,获取确认。name节点将发出一个委派令牌(red),用户将告知令牌续订者(在本例中是job tracker)
问题2)用户将此委派令牌与作业一起提交给作业跟踪器。委派令牌将与任务跟踪器共享吗?
步骤10、11、12、13和14 represents:- ask jobtracker的服务票证,从kdc获取服务票证将此票证显示给jobtracker并从jobtracker获取ack将作业+委派令牌提交给jobtracker。
步骤15、16和17 represents:- generate 阻止访问令牌并分布在所有数据节点上。将blockid和块访问令牌发送到job tracker,job tracker会将其传递给tasktracker
问题3)谁将从名称节点请求blockaccesstoken和块id?jobtracker或tasktracker
对不起,我误打了18号。第19步represents:- job tracker生成作业令牌(brown)并将其传递给tasktrackers。
问题4)我能否得出这样的结论:每个用户将有一个委派令牌,它将分布在整个集群中,每个作业将有一个作业令牌?因此,一个用户只有一个委派令牌和多个作业令牌(等于他提交的作业数)。
请告诉我,如果我遗漏了什么,或者我的解释有错。

ekqde3dh

ekqde3dh1#

确保hadoop安全的步骤
在所有群集节点都可以访问的任何服务器中安装kerberos。yum安装krb5服务器yum安装krb5工作站yum安装krb5 libs
修改kdc server configuration中的配置文件,为主机设置acl文件admin keytab files/var/kerberos/krb5kdc/kdc.conf
修改配置文件/etc/krb5.conf以设置kdc主机和管理服务器
在kdc主机中创建数据库
$kdb5_util create–r主机名称-s
将管理员添加到acl文件
vi/etc/kdamin.acl文件
添加管理员负责人'admin/admin@host_name“在那个文件里
添加管理主体$addprinc admin/admin@host_name
在所有群集节点上安装kerberos客户端
yum安装krb5工作站
将krb5.conf复制到所有集群节点
通过设置所需的配置,确保在hadoop中启用安全模式https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/securemode.html
验证:
以普通用户身份登录到部署用户密钥表的集群网关或节点
运行“kinit–k–t/location/of/keytab”文件username@host_name”
并运行hdfs命令或mapreduce作业来验证集群是否安全
这些是确保在集群中启用kerberos的基本步骤。

kd3sttzy

kd3sttzy2#

hadoop安全性主要使用kerberos进行身份验证,sentry进行授权。像游侠一样的网关,knox用于安全方面http://commandstech.com/latest-hadoop-admin-interview-questions/

相关问题