1、票据的生成

kdc服务器操作,生成用于hive身份验证的principal

1.1、创建principal

# kadmin.local -q “addprinc -randkey hive/yjt”

1.2、创建秘钥文件

# kadmin.local -q “xst  -norankey  -k  /etc/hive.keytab hive/yjt”

拷贝秘钥文件到集群,root操作或者有root权限的普通用户操作

# scp /etc/hive.keytab 192.168.0.230:/data1/hadoop/hive/conf

连接到集群,修改文件权限

# chown hduser:hadoop /data1/hadoop/hive/conf/hive.keytab

# chomd 400 /data1/hadoop/hive/conf/hive.keytab

1.3、修改配置文件

Hive-site.xml配置文件添加如下信息:

<property>

<name>hive.server2.authentication</name>

<value>KERBEROS</value>

</property>

<property>

<name>hive.server2.authentication.kerberos.principal</name>

<value>hive/_HOST@HADOOP.COM</value>

</property>

<property>

<name>hive.server2.authentication.kerberos.keytab</name>

<value>/data1/hadoop/hive/conf/hive.keytab</value>

</property>

<property>

<name>hive.metastore.sasl.enabled</name>

<value>true</value>

</property>

<property>

<name>hive.metastore.kerberos.keytab.file</name>

<value>/data1/hadoop/hive/conf/hive.keytab</value>

</property>

<property>

<name>hive.metastore.kerberos.principal</name>

<value>hive/_HOST@HADOOP.COM</value>

</property>

2、集群内部测试

2.1、获取票据

# kinit -kt /data1/hadoop/hive/conf/hive.keytab hive/yjt

获取到票据以后,使用klist查看获取的票据是否正确。

2.2、beeline测试

当前测试的hive版本是2.1.0,这个版本集成的hadoop版本是2.5.x,所以需要更换lib库下的hadoop版本或者下载一个高版本

这里拷贝hbase/lib库下的hadoop版本到hive,拷贝之前先删除hve/lib库下的有关hadoop版本的jar包,如下:

# cp /data1/hadoop/hbase/lib/hadoop-*.jar /data1/hadoop/hive/lib

使用beeline连接

# beeline

beeline> !connect jdbc:hive2://yjt:10000/;principal=hive/yjt@HADOOP.HOME -n hduser

0: jdbc:hive2://yjt:10000/> show tables;

+------------+--+

|  tab_name  |

+------------+--+

| user_info  |

+------------+--+

1 row selected (2.363 seconds)

0: jdbc:hive2://yjt:10000/>

2.2、hive shell测试

(1)、测试mr引擎

默认就是mr引擎,所以不用修改说明配置

hive> select count(*) from user_info;

如果成功,说明配置ok

(2) 、测试tez引擎

切换引擎:

hive> set hive.execution.engine=tez;

3、客户端测试

3.1、安装hive

这里我们直接从集群内部拷一份hive配置到客户端

3.2、获取认证用户

# kinit -kt /data1/hadoop/hive/conf/hive.keytab   hive/yjt

3.3、测试beeline

#beeline

beeline> !connect jdbc:hive2://yjt:10000/;principal=hive/yjt@HADOOP.HOME -n hduser

0: jdbc:hive2://yjt:10000/> show tables;

3.4、测试hive shell

(1)、mr引擎

select count(*) from user_info;

(2)、tez引擎

从集群拷贝tez软件目录到客户端

#scp -r /data1/hadoop/tez 192.168.0.9:/data1/hadoop

hive> set hive.execution.engine=tez;

hive> select count(*) from user_info;

注:上述在客户端的测试全部都是使用hduser用户,这个用户与集群内部启动集群进程的用户是一样的,接下来在客户端使用其他的用户测试。

3.5 测试其他用户

客户端创建yujt用户

# useradd yjt

# echo ‘123456’ |passwd --stdin ‘yujt’

修改hive.keytab权限(在一开始设置的权限为400)

# chmod 404 /data1/hadoop/hive/conf/hive.keytab

#su - yujt

获取认证用户

$ kinit -kt /data1/hadoop/hive/conf/hive.keytab hive/yjt

$hive shell

hive> select count(*) from user_info;

如果配置正确,上述任务执行状态ok

切换到tez引擎

hive集成kerberos的更多相关文章

  1. 挖坑:hive集成kerberos

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

  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. MSP---助力企业轻松上云

    一.企业上云的总体步骤 1.传统企业级应用上云方法论概述 2.应用现代化概念 3.应用上云都需要什么 1.评估该应用是否可以上云, 2.上云需要付出多少时间和人力 3.企业级应用案例 4.生成评估报告 ...

  2. CentOS -- 新建用户并使能密钥登录

    目录 1. 新建用户 2. 为新用户授权 2.1. 方法一:把新用户添加到wheel用户组中 2.2. 方法二:把新用户添加到sudoers列表中 3. 新用户使能 SSH 密钥登录 4. 其它 4. ...

  3. Java自学-Scanner类

    使用Scanner读取数据 System.out.println("") 用于向控制台输出数据. 我们还需要从控制台输入数据,所以需要用到Scanner类. 步骤 1 : 使用Sc ...

  4. Linux的巡检命令

    # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname ...

  5. 如何查看服务器对外的IP

    开发的时候经常会被IP受限,这是由于数据源方限制了IP,所以需要报备一下IP白名单,怎么查看自己的网络对外的IP呢? 用下面的方式最为准确: Windows上操作: 直接再浏览器访问 http://h ...

  6. Mac FFmpeg编译和解决nasm/yasm not found or too old错误

    FFmpeg编译下载代码:git clone https://git.ffmpeg.org/ffmpeg.git然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然 ...

  7. mysql导入数据和导出数据

    导入数据: 首页进入mysql命令行界面: use 数据库名: source d:/data/test.sql; 如果是windows系统必须使用d:/,如果使用d:\会报语法错误. 那么如何导出(备 ...

  8. zsh of termux

    termux-ohmyzsh script :sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/maste ...

  9. 【转】GnuPG使用介绍

    一.什么是 GPG 要了解什么是 GPG,就要先了解 PGP. 1991 年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件 PGP.这个软件非常好用,迅速流传开来,成了许多 ...

  10. python+正则提取+ip代理爬取糗事百科文字信息

    很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图: 在程序中设置一个代理ip,可有效的解决这种问题,代码如下: # 需要的库 import requests import ...