scala代码
package com.dahua88.yy
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.security.UserGroupInformation
import java.sql.DriverManager
object ConnectKerberosHive {
/**
* 除了代码外 需要两个文件(都是从开启了kerberos的服务器下载下来的) krb5.ini(和服务器krb5.conf一样的内容) 和 Hive_HiveServer2.keytab(去服务器 find / -name *.keytab 即可,名字可能不同,尾缀相同)
* windows 路径使用 / 或者 \\
*/
def main(args: Array[String]): Unit = {
System.setProperty("java.security.krb5.conf","D:/krb5/krb5.ini")
val conf = new Configuration()
conf.set("hadoop.security.authentication", "Kerberos")
UserGroupInformation.setConfiguration(conf)
// 两个参数: kerberos.principal kerberos.keytab
UserGroupInformation.loginUserFromKeytab("hadoop/hdp-hive-hdp-hive-server2-0.hdp-hive-hdp-hive-server2.cloudspace.svc.cluster.local@DAHUA.COM","D:/SWAP/kerberos/Hive_HiveServer2.keytab"