服务端:
这次开发的服务有两个前提设置:
1)是基于NN启动而启动的。
2)使用了 kerberos 认证。
3)使用自己设置的端口和进程单独服务。
所以,在服务启动时可以使用NN的kerberos 认证信息进行认证。在启动服务前,通过HADOOP 的配置文件获取到 principal 和 keyTabPath 并将 principal 的值赋于 CommonConfigurationKeys.HADOOP_SECURITY_SERVICE_USER_NAME_KEY 这个配置参数。
然后获取 RPC.server 的 实例,将相关的 hadoop的配置conf,protocol,instance,host,port,numHandlers 等参数配置,conf 以外的其他参数引用不需要 kerberos 相关的引入。
接着启动 RPC 服务即可。
接下来是最重要的,刷新服务端ACL
Refresh the service authorization ACL for the service handled by this server