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();

    }

  • 相关阅读:
    lamp一键安装
    mysql忘记密码
    lamp搭建
    进程与线程的一个简单解释
    使用jmeter进行api接口压力测试(转自某位大佬,感谢)
    cookie,session的区别
    Pycharm2019最新激活注册码(亲测有效)
    安装jmeter
    php环境搭建(需编译安装)
    (转载某位大神的,谢谢啦)listener.ora、tnsnames.ora和sqlnet.ora这3个文件的关系和作用
  • 原文地址:https://www.cnblogs.com/staryea/p/8520414.html
Copyright © 2011-2022 走看看