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

    }

  • 相关阅读:
    基于git的源代码管理模型——git flow
    [Android]在Adapter的getView方法中绑定OnClickListener比较好的方法
    Java后台测试技巧
    JIRA python篇之展示多人未完成任务列表
    基于python3在nose测试框架的基础上添加测试数据驱动工具
    Java操作memcache
    对于软件测试行业的观察与反思
    通过Fiddler肆意修改接口返回数据进行测试
    Python操作MySQL数据库
    如何通过Fiddler模拟弱网进行测试
  • 原文地址:https://www.cnblogs.com/staryea/p/8520414.html
Copyright © 2020-2023  润新知