zoukankan      html  css  js  c++  java
  • presto集成kerberos以及访问集成了kerberos的hive集群

    1、创建主体

    注:

    192.168.0.230 为单节点集群

    192.168.4.50kdc服务器

    192.168.0.9为客户端

    1.1、Kdc服务器创建主体

    # kadmin.local -q ‘addprinc -randkey presto’

    #kadmin.local -q ‘addprinc -randkey presto/yjt’

    1.2、创建秘钥文件

    # kadmin.local -q ‘xst -norandkey -k presto.keytab presto presto/yjt hive/yjt nn/yjt’

    上述的hive/yjt nn/yjt两个认证用户也需要添加到秘钥表,hive/yjt用于presto连接hive集群时使用,nn/yjt用户操作hdfs时使用

    1.3、分发秘钥文件

    # scp presto.keytab 192.168.0.230:/data1/hadoop/presto

    如下操作在集群

    # chmod 444 /data1/hadoop/presto/presto.keytab

    1.4、生成keystore文件

    presto主节点生成keystore

    # keytool -genkeypair -alias localhost -keyalg RSA -keystore keystore.jks

    输入密钥库口令:  

    再次输入新口令:

    您的名字与姓氏是什么?

      [Unknown]:  yjt

    您的组织单位名称是什么?

      [Unknown]:  

    您的组织名称是什么?

      [Unknown]:  

    您所在的城市或区域名称是什么?

      [Unknown]:  

    您所在的省//自治区名称是什么?

      [Unknown]:  

    该单位的双字母国家/地区代码是什么?

      [Unknown]:  

    CN=slave1, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?

      []:  y

    输入 <localhost> 的密钥口令

        (如果和密钥库口令相同, 按回车):  

    再次输入新口令:

    注:上述的别名alias为当前的主机名,也可以使用localhost

    2、修改presto配置文件

    2.1、修改hive.properties

    添加如下属性:

    #配置Presto访问HiveMetastore服务的Kerberos信息,该段配置可以只存在PrestoCoordinator节点

    hive.metastore.authentication.type=KERBEROS

    hive.metastore.service.principal=hive/_HOST@HADOOP.COM

    hive.metastore.client.principal=presto/yjt@HADOOP.COM

    hive.metastore.client.keytab=/data1/hadoop/presto/presto.keytab

    #配置Presto访问HDFSKerberos信息,改段配置可以只存在PrestoWorker节点

    hive.hdfs.authentication.type=KERBEROS

    hive.hdfs.impersonation.enabled=true

    hive.hdfs.presto.principal=nn/_HOST@HADOOP.COM

    hive.hdfs.presto.keytab=/data1/hadoop/presto/presto.keytab

    2.1、修改jvm.properties

    添加如下属性:

    -Dsun.security.krb5.debug = true

    -Dlog.enable-console = true

    -Djava.security.krb5.conf=/etc/krb5.conf

    2.2、修改config.properties

    添加如下属性:

    http-server.authentication.type=KERBEROS

    http.server.authentication.krb5.service-name=presto

    http.server.authentication.krb5.keytab=/data1/hadoop/presto/presto.keytab

    http.authentication.krb5.config=/etc/krb5.conf

    http-server.https.enabled=true

    http-server.https.port=7778

    http-server.https.keystore.path=/data1/hadoop/presto/keystore.jks

    #http-server.https.keystore.path=/data1/hadoop/keystore/keystore

    http-server.https.keystore.key=123456

    注:上述的http-server.https.keystore.key值为创建keystore时输入的密码。

    2.3、重启presto

    # launcher restart

    3、测试

    $ presto --server https://yjt:7778 --krb5-config-path /etc/krb5.conf --krb5-principal presto/yjt --krb5-keytab-path /data1/hadoop/presto/presto.keytab --krb5-remote-service-name presto --keystore-path /data1/hadoop/keystore/keystore --keystore-password 123456 --catalog hive --schema default

  • 相关阅读:
    绿色通道
    Banknotes
    旅行问题
    修剪草坪
    最大连续和
    动物园
    炮兵阵地
    涂抹果酱
    牧场的安排
    国王
  • 原文地址:https://www.cnblogs.com/yjt1993/p/11769595.html
Copyright © 2011-2022 走看看