导入org.apache.hadoop.conf.Configuration;导入org.apache.hadoop.security.UserGroupInformation;导入java.io.IOException;导入java.sql.Connection;导入java.sql.DriverManager;导入java.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassKerberos{privatestaticStringdriverName="org.apache.hive.jdbc.HiveDriver";//jdbc?y?ˉ?·??privatestaticStringurl="jdbc:hive2://node01.bigdata.hadoop:10000/default;principal=hive/node01.bigdata.hadoop@HADOOP.COM";//hive?aμ??·+?a?static{//éè??jvm???ˉê±krb5μ??áè??·??2êySystem.setProperty("java.security.krb5.conf","krb5.conf");//????kerberosè??¤配置conf=newConfiguration();conf.setBoolean("hadoop.security.authorization",true);conf.set("hadoop.security.authentication","kerberos");用户组信息.setConfigurati开(会议);尝试{UserGroupInformation.loginUserFromKeytab("hive/node01.bigdata.hadoop@HADOOP.COM","hive.keytab");}catch(IOExceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){Connectionconn=null;语句stmt=null;尝试{conn=getConn();stmt=conn.createStatement();Stringsql="显示数据库";结果集res=stmt.executeQuery(sql);System.out.println("ùóD?a:");while(res.next()){System.out.println(res.getString(1));}}catch(ClassNotFoundExceptione){e.printStackTrace();系统.exit(1);}catch(SQLExceptione){e.printStackTrace();系统.exit(1);}finally{try{if(stmt!=null){stmt.close();stmt=空;}if(conn!=null){conn.close();连接=空;}}catch(SQLExceptione){e.printStackTrace();}}}privatestaticConnectiongetConn()throwsClassNotFoundException,SQLException{Class.forName(driverName);连接conn=DriverManager.getConnection(url);返回康恩;}}
