暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kettle连接Kerberos认证的Hive

data之道 2017-06-22
2103

背景

      以前的Hadoop平台没有进行安全方面的认证,kettle可以通过正常的jdbc方式连接到Hive;当Hadoop集群上了Kerberos安全系统后,需要一些额外的配置,才能有访问Hive的权限。

配置步骤

1、Kerberos票据授权准备工作

    a、需先生成Kerberos的Keytab文件, 例如:hive_test.keytab

    b、keytab文件复制到Kettle服务器的 /etc目录下

    c、获得Kerberos 票据授权票据:

kinit -kt /etc/hive_test.keytab hive/test@GITHUP.IO

    d、klist命令确认票据授权票据是否生成 

2、创建认证登录文件

   在/etc目录下创建kettle.login:

      com.sun.security.jgss.initiate{

com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
useTicketCache=false
keyTab="/etc/hive_test.keytab"
principal="hive/test@GITHUP.IO"
doNotPrompt=true
debug=true
debugNative=true;
};

参数值说明:

  a、KeyTab:是第一步生成的KeyTab文件

  b、principal:登录hive服务的用户 

3、spoon.sh参数配置

   在OPT参数中新增一下配置:

   -Djava.security.auth.login.config=/etc/kettle.login

   -Djava.security.krb5.realm=GITHUP.IO

   -Djava.security.krb5.kdc=192.168.5.13

   -Djavax.security.auth.useSubjectCredsOnly=false

4.1、Kettle通过JDBC连接的配置

   主机名:Hive2 Server地址(如:192.168.5.1)

    数据库名称:default;principal=hive/dev-bi-cdh01@GITHUP.IO        

    端口号:hive2的端口号(如:10000)

    用户名&密码:留空

    因是通过kerberos认证的,用户名&密码为空

 4.2、Kettle通过JNDI连接的配置

     a、Kettle安装目录下的simple-jndi/jdbc.properties:

        hive-dev/type=javax.sql.DataSource

        hive-dev/driver=org.apache.hive.jdbc.HiveDrive

        hive-dev/url=jdbc:hive2://dev-bi-cdh01:10000/default;principal=hive/dev-bi-cdh01@GITHUP.IO;

        hive-dev/user=

        hive-dev/password=

      b、数据库连接中选择Mysql的JNDI,然后输入JNDI名称:hive-dev

        hive的连接里没有JNDI选项,只要选择一个RDBMS的JNDI就可以

文章转载自data之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论