前言
自从2018年大数据平台升级,Hadoop/Kafka从此被Kerberos立体环绕,虽然知道kinit/kdestory/klist命令,但是每次执行都感觉云里雾绕,尤其是对接租户的时候,多次陷入尴尬的境地。实习带我的老师曾提起培训一次kerberos,可是还没提上日程就离职了。于是决定去靠自己理解一下Kerberos,脱离这种没有安全感的日子。
什么是kerberos?
Kerberos是一种由MIT(麻省理工大学)提出的一种网络身份验证协议,个人认为可以类比https去理解。Kerberos的client、service、KDC可以类比https的client、server、CA去理解。
在大数据平台的应用中,可以给不同的资源添加不同的权限,例如HDFS的访问、kakfa的topic读写,必须带有对应权限的principal和对应的"密码"去访问。
Kerberos名词
例如: 你的hadoop有十台主机,/etc/hosts配置的host为hadoop[1-10].hadoop.com,name在定义你的Kerberos的Realm时就是HADOOP.COM,你创建的客户端的服务端的principal都是以@HADOOP.COM结尾。 Client通过解析Server的principal中的hostname部分来通过/etc/hosts来映射出Server的IP,所以使用Kerberos一定要配置Server所有的hosts
安装
命令
认证过程
WHY
以上就是对Kerberos概念的一些了解,后续可能会对具体场景下的使用进行汇总,主要是java/scala/flume对hadoop/kafka的读写等。See U again