`
lookqlp
  • 浏览: 345715 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hive集成LDAP

阅读更多
cloudera manager
hive- sevice wide - advanced-Hive Service Advanced Configuration Snippet (Safety Valve) for hive-site.xml

<property>
  <name>hive.server2.authentication</name>
  <value>LDAP</value>
</property>
<property>
  <name>hive.server2.authentication.ldap.url</name>
  <value>ldap://master-71:389</value>
</property>
<property>
  <name>hive.server2.authentication.ldap.baseDN</name>
  <value>ou=ndpmedia,dc=yeahmobi,dc=com</value>
</property>

测试例子:https://github.com/firecodeman/Cloudera-Impala-Hive-JDBC-Example


奇怪现象:
http://community.cloudera.com/t5/CDH-Manual-Installation/hive-ldap-not-work/m-p/25461#U25461
hive运行一段时间后,或者添加LDAP配置后重启hive时,hive metastore启动异常,异常如下:
2015-03-10 18:38:37,618 ERROR org.apache.thrift.server.TThreadPoolServer: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:724)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:721)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge20S.java:721)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:227)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199)
        at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:262)
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        ... 10 more
2015-03-10 18:38:37,618 ERROR org.apache.thrift.server.TThreadPoolServer: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:724)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:721)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge20S.java:721)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:227)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199)
        at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:262)
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        ... 10 more
2015-03-10 18:38:37,618 ERROR org.apache.thrift.server.TThreadPoolServer: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:724)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge20S.java:721)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge20S.java:721)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:227)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed
        at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199)
        at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:262)
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        ... 10 more

在cloudera manager中service wide 、gateway 、hivemetastore、hiveserver2中都添加ldap配置,都无法走LDAP,而报认证错误。
但有时不会报错,如我现在的线上CDH5.2.0版本就没有问题。
后来定位是否为版本问题,下载tar包,CDH5.2.4版本的hive,及CDH5.2.0版本的hive分别进行测试,发现5.2.4版本hiveLDAP运行正常,5.2.0版本hive报各种错,例如:
org.apache.hive.service.ServiceException: Failed to Start HiveServer2
        at org.apache.hive.service.CompositeService.start(CompositeService.java:80)
        at org.apache.hive.service.server.HiveServer2.start(HiveServer2.java:73)
        at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:101)
        at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:149)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: org.apache.hive.service.ServiceException: Error setting stage directories
        at org.apache.hive.service.cli.CLIService.start(CLIService.java:132)
        at org.apache.hive.service.CompositeService.start(CompositeService.java:70)
        ... 8 more
Caused by: org.apache.hadoop.security.AccessControlException: Permission denied
        at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkOwner(DefaultAuthorizationProvider.java:169)
        at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkPermission(DefaultAuthorizationProvider.java:157)
        at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:138)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:6250)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:6232)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOwner(FSNamesystem.java:6151)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermissionInt(FSNamesystem.java:1678)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1658)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:587)
        at org.apache.hadoop.hdfs.server.namenode.AuthorizationProviderProxyClientProtocol.setPermission(AuthorizationProviderProxyClientProtocol.java:148)
        at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:437)
        at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:587)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1026)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)
相关issue:https://issues.apache.org/jira/browse/HIVE-8606

将5.2.0版本的hivejar替换成5.2.4版本的hive jar就完全ok。
即此奇怪现象确实版本问题,因为使用cloudera manager管理集群,为了不整体升级CDH,替换安装hive server2和metastore节点的jar包,例如5.2.0jar目录为/opt/cloudera/parcels/CDH-5.2.0-1.cdh5.2.0.p0.36/lib/hive/lib(查看hive执行脚本的HIVE_HOME)。在cm上,重启hive,问题解决。
分享到:
评论

相关推荐

    大数据组件集成LDAP

    ### 大数据组件集成LDAP知识点详解 #### 一、LDAP简介 LDAP (Lightweight Directory Access Protocol) 是一种基于X.500标准的轻量级目录访问协议,它被广泛应用于构建目录服务,用于存储组织的人员、设备和其他资源...

    jdbc hive相关jar包

    总结来说,"jdbc hive相关jar包"是实现Java应用程序与Hive数据仓库无缝集成的关键。这些库包含了连接管理、元数据访问、数据序列化、网络通信以及安全控制等多个方面,确保了在Java环境中高效、安全地操作Hive数据。...

    hive-jdbc-1.1.0-cdh5.12.1-standalone.rar

    Hive JDBC Standalone是Hadoop生态系统中的Hive与外部数据处理工具进行交互的重要..."hive-jdbc-1.1.0-cdh5.12.1-standalone.rar"这个压缩包为用户提供了CDH 5.12.1环境下独立使用的Hive JDBC驱动,便于开发和集成。

    一个优秀的大数据查询平台,提供hive异步任务查询、LDAP用户、数据权限控制、历史查询任务与结果存储、邮件通知、e.zip

    这个优秀的平台专注于Hive异步任务查询,集成了LDAP用户管理,实现了数据权限控制,并且具备历史查询任务存储与邮件通知功能。现在,我们将深入探讨这些核心特性。 首先,Hive异步任务查询是大数据查询平台的核心...

    hive-jdbc-standalone.jar

    5. **安全性**:Hive JDBC支持身份验证和授权,可以通过Kerberos、LDAP等方式进行安全控制,确保数据的安全访问。 6. **使用场景**:Hive JDBC常用于数据分析工具(如Tableau、Excel)、ETL工具(如Informatica、...

    kettle执行hive相关ktr时报错

    如果Kettle与Hive之间存在安全认证,比如 Kerberos 或 LDAP,确保已正确配置了认证凭据。否则,Kettle可能无法连接到Hive服务。 再者,环境变量的设置也可能导致问题。确保Hadoop和Hive的相关环境变量如HADOOP_HOME...

    kerberos and ldap

    配置Kerberos与LDAP的集成,需要在Kerberos的KDC服务器上设置LDAP后端,以及在 LDAP服务器上设置Kerberos相关的对象和服务。具体步骤包括设置Kerberos的krb5.conf文件以指向LDAP服务器,配置Kerberos的KADM5 ACL允许...

    ranger-admin集成

    9. **用户和组管理**:同步组织的用户和组信息,通常是通过LDAP或Active Directory实现。 Ranger-Admin集成不仅简化了权限管理的过程,还提供了强大的审计功能,可追踪谁访问了什么数据,何时访问以及如何访问。这...

    hue的安装配置.doc

    4. **权限与安全**:根据你的安全策略,可能需要配置Kerberos认证或者LDAP/AD集成,以确保只有授权用户可以访问Hue。 5. **启动与测试**:启动Hue服务并进行测试,确保所有功能都能正常工作。可以通过访问Hue的Web...

    Hadoop Hue 3.9.0详细安装文档.pdf

    4. `[[auth]]`:配置认证方式,如使用内置的SimpleAuth或集成LDAP/AD。 七、启动Hue 完成配置后,使用以下命令启动Hue服务: ```bash sudo make apps sudo ./build/env/bin/hue runserver ``` 这将在本地启动Hue...

    Kylin–基于Hadoop的大规模联机分析处理OLAP引擎 共33页.pdf

    * 支持LDAP集成 在Hadoop生态系统中,Kylin属于SQL-on-Hadoop解决方案的一部分。其他解决方案包括Hive、Impala、Drill、Presto、Spark+Shark等。这些解决方案都可以将SQL翻译为MapReduce作业,或者使用MPP引擎来...

    cdh6.3.2编译的ranger版本

    标题提到的"cdh6.3.2编译的ranger版本"是专门为CDH 6.3.2定制的Ranger服务,确保与该版本的CDH兼容并能够无缝集成。 Ranger的核心功能在于提供了一套全面的权限管理解决方案,它支持对多种数据源进行细粒度的访问...

    hue-3.7.0-cdh5.3.6

    `proxy` 可能是指Hue的用户身份验证和访问控制功能,它可能包含了与Kerberos、LDAP或其他身份验证机制的集成,以确保安全的数据访问。 `help` 文件夹可能包含了Hue的在线帮助文档和用户指南,为用户提供详细的使用...

    星环大数据平台_SQL集成开发环境Waterdrop.pdf

    星环科技开发了一款名为Waterdrop的大数据平台下的SQL集成开发环境。Waterdrop的主要功能定位是作为一款跨平台的数据库管理工具,既可作为InceptorSQL客户端,也支持并兼容其他多种数据库。它为数据库管理和开发提供...

    大数据Ambari+HDP最优架构选型.pdf

    2. **FreeIAP体系原理与常用命令**:FreeIPA是一个集成的身份验证和访问管理解决方案,它提供了Kerberos、LDAP、DNS等服务。常用命令如`ipactl status`用于查看服务状态,`ipa-replica-manage list`列出复制节点,`...

    Hue安装配置教程.zip

    Hue集成了多种大数据处理组件,如HDFS、HBase、Hive、Impala、Oozie等,极大地简化了大数据操作流程。 一、Hue的安装 1. 环境准备:确保系统已经安装了Java开发环境,以及Hadoop、Hive、HBase等大数据组件,并且...

    Kylin–基于Hadoop的大规模联机分析引擎.pdf

    Kylin的安全性也很强,支持在立方体/项目级别设置访问控制列表(ACL),并且支持LDAP集成。 Kylin在SQL-on-Hadoop生态系统中是一个重要的组成部分。在这一生态系统中,SQL语句被翻译成MapReduce作业,如Hive和Tez,...

    ranger-2.2.0-usersync.tar.gz

    Ranger 提供了集中式的策略管理、审计和细粒度的访问控制,适用于多种数据存储和处理服务,如 Hadoop、Hive、HBase、Kafka 等。在本压缩包 "ranger-2.2.0-usersync.tar.gz" 中,重点关注的是 Ranger 的用户同步工具...

    数栖平台V3.0-帮助文档.pdf

    *LDAP 4.2 数据加密 数据加密是指将数据加密以保护数据的安全。数栖平台V3.0支持多种数据加密算法,包括: *AES *RSA *SHA 5.FAQ 数栖平台V3.0提供了一个FAQ(Frequently Asked Questions)系统,回答了用户...

    Apache Kylin 4.0.2 安装包

    5. **安全性增强**: 集成了Kerberos和LDAP认证,提高了系统的安全性。 6. **Spark集成**: 提供了与Apache Spark的更紧密集成,支持使用Spark执行查询和构建Cube,以利用Spark的并行处理能力。 7. **监控与报警**: ...

Global site tag (gtag.js) - Google Analytics