Java 访问连接Hive的Kerberos认证前提

这篇具有很好参考价值的文章主要介绍了Java 访问连接Hive的Kerberos认证前提。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Simply put

The reason why authentication needs to be added when connecting to Hive in the Java code is that Hive is a distributed data processing system that is typically deployed in a multi-user environment, where access to data is controlled by policies and permissions.

Therefore, to ensure the security and integrity of the data, it is necessary to authenticate users before granting them access to the data.

In the code snippet provided, Kerberos is used as the authentication mechanism, which is a widely used network authentication protocol that provides strong authentication and secure communication over insecure networks.

The code sets the appropriate configuration properties for Kerberos authentication and uses the UserGroupInformation class to log in the user from the keytab file, which contains the user’s credentials.

By using Kerberos authentication, the code ensures that only authorized users are granted access to the Hive data, which helps to prevent unauthorized access or data breaches.文章来源地址https://www.toymoban.com/news/detail-469444.html

Java Code connect to Hive

		System.setProperty(KRB5_CONF, dataSource.getKrbConfigFile());  
        org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();  
        conf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHORIZATION, "true");  
        conf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, "kerberos");  
        UserGroupInformation.setConfiguration(conf);  
        try {  
            UserGroupInformation.loginUserFromKeytab(dataSource.getKrbUser(), dataSource.getKeytabFile());  
        } catch (IOException e) {  
            throw new RuntimeException(e);  
        }  

Explain Code

  1. The System.setProperty method is used to set the KRB5_CONF system property to the path of the Kerberos configuration file (specified by dataSource.getKrbConfigFile() ). This file contains configuration information required by the Kerberos authentication system, such as the location of the Kerberos realm, the KDC (Key Distribution Center), and the Kerberos ticket-granting ticket (TGT) server.
  2. Next, a new org.apache.hadoop.conf.Configuration object is created to hold Hadoop configuration properties.
  3. The conf.set method is used to enable Hadoop security authorization and authentication by setting the value of the CommonConfigurationKeys.HADOOP_SECURITY_AUTHORIZATION and CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION keys to true and kerberos , respectively. This ensures that all Hadoop interactions are authenticated using Kerberos.
  4. The UserGroupInformation.setConfiguration method is used to set the global configuration for all UserGroupInformation instances to the newly created configuration object.
  5. Finally, the UserGroupInformation.loginUserFromKeytab method is used to log in the user specified by dataSource.getKrbUser() using the keytab file specified by dataSource.getKeytabFile() . A keytab is a file that contains the shared secret key used to authenticate the specified user to the Kerberos server. This method performs a login operation that retrieves a Kerberos ticket-granting ticket (TGT) for the specified user from the KDC and stores it in a cache for later use by Hadoop. If the login operation fails, an IOException is thrown and the application terminates with a runtime exception.
    Overall, this code sets up the necessary configuration properties for Hadoop to use Kerberos authentication and logs in the user specified by the keytab file, allowing the application to securely access Hadoop resources. It is typically used in secure Hadoop clusters where Kerberos is the authentication mechanism.

到了这里,关于Java 访问连接Hive的Kerberos认证前提的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 企业级大数据安全架构(十)DBeaver连接Hive的Kerberos认证配置

    1.配置本地hosts 因为Kerberos认证过程及集群服务中,很多是以主机名的形式进行访问的,所以工作机要设置hosts. 域名映射,我们通过部署CDH的集群的每一台机器都已经配置了host(文件为/etc/hosts),工作机也需要配置window的host文件,如果提示无法修改,一般是需要管理员权限的原

    2024年02月21日
    浏览(43)
  • Java通过kerberos权限认证集成hive

    java通过kerberos权限认证集成hive,并操作hive实现hive库和表、分区表的增删查等功能 1、pom文件中引入hive包 2、从集群中下载认证过可以登录的keytab文件,以及krb5.conf文件还有core-site.xml、hdfs-site.xml、hive-site.xml、yarn-site.xml放到项目的resources目录下 (xml文件按照自己项目需要下载

    2024年02月05日
    浏览(51)
  • JDK8 和 JDK17 下基于JDBC连接Kerberos认证的Hive(代码已测试通过)

    之前自研平台是基于jdk8开发的,连接带Kerberos的hive也是jdk8,现在想升级jdk到17,发现过Kerberos的hive有点不一样,特地记录 连接Kerberos, krb5.conf 和对应服务的 keytab 文件以及对应的 principal 肯定是需要提前准备的, 一般从服务器或者运维那里获取 krb5.conf 与 Hive对应的 keytab 文件。 注意

    2024年02月20日
    浏览(47)
  • 【大数据笔记】java jdbc连接hive数据库;java hive连接kerberos

    1、pom.xml配置         dependency             groupIdorg.apache.hive/groupId             artifactIdhive-jdbc/artifactId             scope2.1.1/scope         /dependency 2、驱动 org.apache.hive.jdbc.HiveDriver 3、用传统改的Class.forName,然后DriverManager去拿。 二、java hive连接kerberos

    2024年01月19日
    浏览(43)
  • 关于Java连接Hive,Spark等服务的Kerberos工具类封装

    idea 本地配置,连接服务器;进行kerberos认证,连接hive、HDFS、Spark等服务注意事项: 本地idea连接Hadoop,需要在本地安装Hadoop的window工具 hadoop-3.1.1-winutils-master ,配置环境变量 配置hosts主机名映射 kerberos认证需要在idea工作目录所在的磁盘的根目录下创建对应的文件夹把keytab放

    2024年02月13日
    浏览(61)
  • Kerberos安全认证-连载12-Kafka Kerberos安全配置及访问

    目录 1. Kafka配置Kerberos 2. 客户端操作Kafka ​​​​​​​3. Java API操作Kafka 4. StructuredStreaming操作Kafka 5. Flink 操作Kafka 技术连载系列,前面内容请参考前面连载11内容:​​​​​​​​​​​​​​Kerberos安全认证-连载11-HBase Kerberos安全配置及访问_IT贫道的博客-CSDN博客 Kafk

    2024年02月12日
    浏览(52)
  • Kerberos安全认证-连载11-HBase Kerberos安全配置及访问

    目录 1. Zookeeper Kerberos配置 2. HBase配置Kerberos 3. HBase启动及访问验证 4. HBase Shell操作HBase ​​​​​​​5. Java API操作HBase 技术连载系列,前面内容请参考前面连载10内容:​​​​​​​​​​​​​​Kerberos安全认证-连载10-Hive Kerberos 安全配置及访问_IT贫道的博客-CSDN博客

    2024年02月07日
    浏览(52)
  • Kerberos安全认证-连载11-HBase Kerberos安全配置及访问_kerberos hbase(1)

    这里需要将该值设置为false,否则Hadoop HA 不能正常启动。 skipACL=yes 跳过Zookeeper 访问控制列表(ACL)验证,允许连接zookeper后进行读取和写入。这里建议跳过,否则配置HBase 启动后不能向Zookeeper中写入数据。 这里在node3节点进行zoo.cfg文件的配置,配置完成后,将zoo.cfg文件分发

    2024年04月13日
    浏览(52)
  • 用户认证-Kerberos的介绍和使用(Hadoop、Hive、数仓流程、Presto、Kylin集成配置)

    概述 Kerberos是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行 身份认证 , 它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份 。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用

    2024年02月02日
    浏览(55)
  • SpringBoot项目连接,有Kerberos认证的Kafka

    Kerberos是一种计算机网络认证协议 ,其设计目标是通过密钥系统为网络中通信的客户机(Client)/服务器(Server)应用程序提供严格的身份验证服务,确保通信双方身份的真实性和安全性。不同于其他网络服务,Kerberos协议中不是所有的客户端向想要访问的网络服务发起请求,他就能

    2024年01月22日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包