集成hive+kerberos前,hadoop已经支持kerberos,所以基础安装略去: https://www.cnblogs.com/garfieldcgf/p/10077331.html

直接用之前hadoop集成生成的keytab文件开始配置:

hive的 conf/hive-site.xml,添加如下:

<property>
<name>hive.server2.authentication</name>
<value>KERBEROS</value>
</property> <property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>udap/_HOST@STA.COM</value>
</property> <property>
<name>hive.server2.authentication.kerberos.keytab</name>
<value>/home/udap/app/hadoop-2.6.-cdh5.7.2/etc/hadoop/udap.keytab</value>
</property> <property>
<name>hive.metastore.sasl.enabled</name>
<value>true</value>
</property> <property>
<name>hive.metastore.kerberos.keytab.file</name>
<value>/home/udap/app/hadoop-2.6.-cdh5.7.2/etc/hadoop/udap.keytab</value>
</property> <property>
<name>hive.metastore.kerberos.principal</name>
<value>udap/_HOST@STA.COM</value>
</property>

第二步,配置hadoop中的core-site.xml,添加如下:

<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hdfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hdfs.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.HTTP.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.HTTP.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.udap.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.udap.groups</name>
<value>*</value>
</property>

如果有多台,请保证每个节点配置都一样

bin目录下,启动hive

nohup ./hive --service metastore &
nohup ./hive --service hiveserver2 &

启动完成后就可以登录kerberos,然后用hive工具访问数据,如果是beenline登录,则需要使用如下链接串:

!connect jdbc:hive2://10.1.4.32:10000/default;principal=udap/host32@STA.COM

其中后面的principle,是创建数据库所用的用户,而非访问的用户

错误:

注意core-site中的用户代理配置,当kb的用户没有在配置的用户许可中时将会有报错:

org.apache.hadoop.ipc.RemoteException: User: root is not allowed to impersonate root

即,远程异常:用户root不允许模拟root

在hadoop中,远程访问时通过用户代理的方式,这里的不允许是需要配置特定用户允许远程访问:

<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
</property> <property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
<description>The superuser can connect only from host1 and host2 to impersonate a user</description>
</property>

如果报错不是root,或者你需要的并不是root用户,就修改一下<name>标签中的root

简单记录,有问题欢迎交流

挖坑:hive集成kerberos的更多相关文章

  1. hive集成kerberos

    1.票据的生成 kdc服务器操作,生成用于hive身份验证的principal 1.1.创建principal # kadmin.local -q “addprinc -randkey hive/yj ...

  2. HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)

    ----------------------目录导航见左上角------------------------------- 环境 HDP 3.0.1.0 (已有) JDK   1.8.0_91 (已有 ...

  3. Hive集成HBase;安装pig

    Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2*  rm -rf ...

  4. Hive集成HBase详解

    摘要 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询   应用场景 1. 将ETL操作的数据存入HBase 2. HB ...

  5. Ambari集成Kerberos报错汇总

    Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...

  6. hbase与hive集成:hive读取hbase中数据

    1.创建hbase jar包到hive lib目录软连接 hive需要jar包: hive-hbase-handler-0.13.1-cdh5.3.6.jar zookeeper-3.4.5-cdh5 ...

  7. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes

    在进行Hive集成Mysql作为元数据过程中.做全然部安装配置工作后.进入到hive模式,运行show databases.运行正常,接着运行show tables:时却报错. 关键错误信息例如以下: ...

  8. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

  9. Hbase与hive集成与对比

    HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析.清洗 ...

随机推荐

  1. springboot2、mybatis-plus3 一行配置实现打印sql最终填充的参数值

    在application.yml中添加: # 配置slq打印日志 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.st ...

  2. asp.net mvc ViewData 和 ViewBag区别,TempData

    ViewData 和 ViewBag都是页面级别的生命周期,TempData--Passing data between the current and next HTTP requests Temp ...

  3. CSS学习之路,指定值,计算值,使用值。

    前面被问过这几个值得区别,没太研究,有点抠文字的感觉,既然到这儿了 ,就简答梳理下吧. 指定值(specified value):通过样式表样式规则定义的值:可以来自层叠样式表,如果没有指定,则考虑父 ...

  4. 下一代微服务 ~ Service Mesh

    微服务(Microservices) 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服 ...

  5. 广告行业中常说的 CPC,CPM,CPD,CPT,CPA,CPS 等词的意思是什么?

    广告投放流程主要分为展示和转化,CPC/CPM/CPD/CPT/CPA/CPS等代表的是不同的结算模式 展示端的结算方式有: CPM(Cost Per Mille) 每千人成本:只要向足够量级的用户展 ...

  6. Go语言排序算法实现

    // Algorithm project Algorithm.go package Algorithm // 冒泡排序 func BubbleSort(a []int) { n := len(a) ; ...

  7. 14、Spark的核心术语

    Application:spark应用程序,就是用户基于spark api开发的程序,一定是通过一个有main方法的类执行的,比如java开发spark,就是在eclipse中,建立的一个工程 App ...

  8. oracle显示一个月的所有天数

    效率高: ) s_date from dual connect 效率低: select to_date() s_date from all_tables where rownum <= ( fr ...

  9. js-将一个对象转换成一个新的对象

    /** * 对象转换成一个新的对象 * @param object * @private */ function _yh_tranformObject(object){ if(object == nu ...

  10. Glide终于解决了同时绑定多个webp格式图片的问题

    前端时间,要给项目换个图片加载的库,使用Glide 3.7版本进行测试, 发现在快速滑动列表(每个item都会加载一个app的图标,采用webp格式,即同时加载多个webp格式)的时候,一屏至少有2- ...