java连接simple与kerberos认证hadoop集群
1.设置参数
conf.setBoolean(CommonConfigurationKeys.IPC_CLIENT_FALLBACK_TO_SIMPLE_AUTH_ALLOWED_KEY, true);
这个参数会在连接kerberos失败时退回到simple认证。
2.提前加载krb5.conf文件
System.setProperty("java.security.krb5.conf", "C:/data/krb5.conf");
由于系统只在jvm启动是加载配置文件,系统启动后将无法加载配置,所以kerberos配置文件要提前加载,无论是否使用到。
3.提前加载core-site.xml等hadoop集群配置文件。
与jvm初始化加载原理一样,jvm只进行一次配置文件初始化加载,所以需要将两个集群的配置文件都一次性加载进来,加载之后再根据不同集群请求选择相应的配置文件进行选择使用。
通过以上三个步骤即可实现java对多个hadoop集群的连接和操作了。