zoukankan      html  css  js  c++  java
  • kerberos下JAVA代码操作hbase的方式(客户端方式,应用程序方式)

    (一)如果部署JAVA 代码的主机用户获取了kerberos权限情况下

       假设主机名是:client

       su - client 登录主机后

      kinit -kt /keytab的路径/client.keytab client@STARYEA.COM

      编写的java代码入下:

      

    public static void main(String[] args) throws IOException, InterruptedException {

    conf = HBaseConfiguration.create();
    conf.addResource("hbase-site.xml");
    conf.addResource("core-site.xml");
    conf.addResource("hdfs-site.xml");

    --代码正常写不需要添加任何东西

    conn = ConnectionFactory.createConnection(conf);

    createTable("client:test_table_0204");
    insertData("clienttest_table_0204");
    QueryAll("client:test_table_0204");

    conn.close();

    }

    (二)以应用程序的方式获取kerberos认证的情况下

       假设主机名是:client

       su - client 登录主机后

       kdestory --删除主机的凭证,在这种情况下 JAVA代码如下

    public static void main(String[] args) throws IOException,
    InterruptedException {

    conf = HBaseConfiguration.create();
    conf.addResource("hbase-site.xml");
    conf.addResource("core-site.xml");
    conf.addResource("hdfs-site.xml");

    --需要添加kerberos认证
    String USER = "client@STARYEA.COM";
    String KEYTAB = "/etc/security/keytabs/client.keytab";

    --APP需要kerberos认证
    UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytabAndReturnUGI(USER, KEYTAB);


    ugi.doAs(new PrivilegedExceptionAction<Void>() {
       public Void run() {
         try {
          conn = ConnectionFactory.createConnection(conf);

          createTable("client:test_table_0204");
          insertData("client:test_table_0204");
          QueryAll("client:test_table_0204");
        }   catch (IOException e) {
        // TODO Auto-generated catch block
         e.printStackTrace();
    }

    return null;
    }
    });

    conn.close();

    }

  • 相关阅读:
    Python性能分析指南
    centos加入启动服务
    北京户口
    北京户口
    【汽车进口税】 关于汽车进口税计算你知道多少-汽车保险资讯-阳光车险官方网站
    在北京公司要多长时间才可以申请摇车牌号
    Kivy: Crossplatform Framework for NUI
    说说设计模式~大话目录(Design Pattern)
    说说设计模式~策略模式(Strategy)
    说说设计模式~装饰器模式(Decorator)
  • 原文地址:https://www.cnblogs.com/staryea/p/8520414.html
Copyright © 2011-2022 走看看