美文网首页
confluent入库hive安全认证问题

confluent入库hive安全认证问题

作者: 建康_木子 | 来源:发表于2019-04-08 13:43 被阅读0次

使用confluent将Kafka中的数据入库hive失败的解决方案


应用场景:
用户想在 HD平台使用confluent开源组件将Kafka中的数据直接导入到hive中,测试环境中已经实现,但生产环境中由于平台开启了Kerberos安全认证服务,所以一直报认证失败的日志.
5caab36655bd3
confluent:
confluent将数据导入hive库: 先将数据导入到hdfs上指定的目录下,然后通过外表的形式入库hive.
confluent通过metastore服务(thirft://url:9083))获取hive的元数据.
官网配置文档:
数据导入hdfs的配置:
           `name=hdfs-sink`

           `connector.class=io.confluent.connect.hdfs.HdfsSinkConnector`

           `tasks.max=1`

           `topics=test_hdfs`

           `hdfs.url=hdfs://localhost:9000`

           `flush.size=3`
数据直接入户hive需要增加的配置:
           `hive.integration=true`


           `hive.metastore.uris=thrift://localhost:9083 `

          `schema.compatibility=BACKWARD`
如果平台有Kerberos安全认证需要增加的配置:
           `hdfs.authentication.kerberos=true`


           `connect.hdfs.principal=connect-hdfs/_HOST@YOUR-REALM.COM`

           `connect.hdfs.keytab=path to the connector `              

           `keytab

hdfs.namenode.principal=namenode principal`


问题排查:
通过查看confluent和hive的部分代码发现confluent导入数据到hive共需要两次认证:
第一次登陆是在io.confluent.connect.hdfs.DataWriter中使用confluent配置文件中connect.hdfs.principal提供的principal登陆
第一次登陆
第二次登陆是在org.apache.hadoop.hive.metastore.HiveMetaStoreClient中通过hive-site.xml文件中的配置信息登陆
如果sasl参数设置为true则先认证,然后获取client,如果sasl参数为false,则先获取client,然后进行非安全模式下的认证.两种模式通过不同的方式获取道德用户信息是不同的,安全模式下用户为Kerberos用户(如principal=connect-hdfs/_HOST@YOUR-REALM.COM,则用户名为connect-hdfs),非安全模式下的用户为Linux上的用户(whoami).
5caabc66094d8
hive-site.xml文件加载
5caac039ca5ee 5caac0573ffa6
由于confluent的配置文件中没有配置hive.conf.dir参数,因此使用了sasl的默认值false,导致认证失败.
5caac119c3fc6

解决办法:
在confluent关于导入hdfs的connector的配置文件中加入hive.conf.dir参数,并且该参数指定的文件不支持_HOST通配符的写法.

相关文章

  • confluent入库hive安全认证问题

    使用confluent将Kafka中的数据入库hive失败的解决方案 应用场景: 用户想在 HD平台使用confl...

  • Kerberos

    1、hive配置Kerbros安全认证https://blog.csdn.net/qianfeng_dashuju...

  • kafka connect learnning note

    confluent kafka - connect 实时的数据集成问题 Traditional ETL Data ...

  • 交易所安全测试--用户认证

    0x07 用户认证 一、概述 用户认证安全方面的安全问题也许单单从技术层面上讲,并不是一种非常复杂的问题,因为解决...

  • EveryDay模板

    每日问题列表 1、一个故事看懂安全证书 2、SSL和TSL 3、单向认证和双向认证 话题一:一个故事看懂安全证书 ...

  • 使用 SSH-Key 登录远程服务器

    ssh 提供两种级别的安全认证: 基于口令的安全认证 基于密钥的安全认证 基于口令的安全认证 需要知道用户名和密码...

  • 安全测试说明函

    安全测试说明函 针对入库设备安全测试端口开放问题做出说明,因为业务需要无法关闭端口,故需要特殊声明的端口如下:(1...

  • 苹果apple id 忘记安全问题解决办法

    遇到的问题:忘记安全问题答案,账号在浏览器登录必须输入安全问题,不能进行任何操作,需要apple id账号双重认证...

  • 企业实用技术:802.1X认证

    1、802.1X认证是RADIUS协议的一种认证方式。主要解决以太网内认证和安全方面的问题。 2、802.1X为典...

  • jwt 学习

    安全认证 [TOC] 库 CORS:解决跨域问题 https://github.com/expressjs/cor...

网友评论

      本文标题:confluent入库hive安全认证问题

      本文链接:https://www.haomeiwen.com/subject/lkmuiqtx.html