搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
办公|编程助手
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
大数据学习
›
Hive|数据仓库
›
实操演练
›
如何实现Hive配置Kerberos认证
0
0
0
分享
如何实现Hive配置Kerberos认证
sstutu
2015-5-29 23:14:38
发表于
实操演练
[显示全部楼层]
只看大图
阅读模式
关闭右栏
0
23222
问题导读
1.说出与hive交互的方式,本文说了几种?
2.Hiveserver2是否支持Kerberos和LDAP的用户认证?
3.如何实现Hive配置Kerberos认证?
Hive提供了运行SQL语句查询存储在HDFS上数据的能力,Hive提供的查询引擎,可以将SQL语句转化成MapReduce任务,提交到Hadoop集群上执行。MapReduce任务运行的结果会存在HDFS上。下面的图表示了一个用户运行Hive查询的Hadoop内部交互。
有多种和Hive交互的方法,最常用的是CLI,不过,CLI的设计使其不便于通过编程的方式进行访问。还有可以使用HIveServer,用Java和其它语言和Hive进行交互。
Hiveserver2支持Kerberos和LDAP的用户认证。推荐在生产环境中,我们设置Hiveserver2和Kerberos拥有用户提交Hive查询的seamless授权和访问控制。
设置安全的Hive我们使用下面的步骤:
步骤描述为:
1.在KDC中创建Hive的Principal;
2.创建Hive的keytab文件;
3.拷贝keytab文件到部署了HiveServer2的机器上;
4.设置合适的keytab权限;
5.更新Hive和Hadoop相应的设置。
6.设置metastore安全性。
下面根据我实际安装的情况来详细描述相关步骤:
步骤一:在KDC中创建Hive的Principal
[mw_shl_code=bash,true]
Kadmin.local –q “addprinc –randkey hive/master5.hadoop@MYREALM.COM ”
Kadmin.local –q “addprinc –randkey hive/slave6.hadoop@MYREALM.COM”
Kadmin.local –q “addprinc –randkey hive/slave78.hadoop@MYREALM.COM”[/mw_shl_code]
步骤二:创建Hive的keytab文件
[mw_shl_code=bash,true]
Kadmin.local –q “xst –norandkey –k hive.keytab hive/master5.hadoop@MYREALM.COM”
Kadmin.local –q “xst –norandkey –k hive.keytab hive/slave6.hadoop@MYREALM.COM”
Kadmin.local –q “xst –norandkey –k hive.keytab hive/slave78.hadoop@MYREALM.COM”[/mw_shl_code]
步骤三:拷贝keytab文件到部署了HiveServer2的机器上;
[mw_shl_code=bash,true]
scp hive.keytab master5.hadoop:/etc/hive/conf
scp hive.keytab slave6.hadoop:/etc/hive/conf
scp hive.keytab slave78.hadoop:/etc/hive/conf[/mw_shl_code]
步骤四:设置合适的keytab权限
[mw_shl_code=bash,true]Chown hive:Hadoop hive.keytab;
chmod 400 hive.keytab;[/mw_shl_code]
注:由于 keytab 相当于有了永久凭证,不需要提供密码(如果修改 kdc 中的 principal 的密码,则该 keytab 就会失效),所以其他用户如果对该文件有读权限,就可以冒充 keytab 中指定的用户身份访问 hadoop,所以 keytab 文件需要确保只对 owner 有读权限(0400)
步骤五、六:更新Hive和Hadoop相应的设置,设置metastore安全性
修改/etc/hive/conf/hive-site.xml,添加下面配置:
[mw_shl_code=bash,true]<property>
<name>hive.server2.authentication</name>
<value>KERBEROS</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>hive/_HOST@MYREALM.COM</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.keytab</name>
<value>/etc/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>/etc/hive/conf/hive.keytab</value>
</property>
<property>
<name>hive.metastore.kerberos.principal</name>
<value>hive/_HOST@MYREALM.COM</value>
</property>[/mw_shl_code]
在 core-site.xml 中添加:
[mw_shl_code=xml,true]<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>[/mw_shl_code]
将修改的上面文件同步到其他节点
[mw_shl_code=bash,true]$ scp /etc/hive/conf/hive-site.xml slave6.hadoop:/etc/hive/conf/
$ scp /etc/hive/conf/hive-site.xml master5.hadoop:/etc/hive/conf/[/mw_shl_code]
启动服务
[mw_shl_code=bash,true]service hive-metastore start
service hive-server2 start[/mw_shl_code]
欢迎加入about云群
425860289
、
432264021
,云计算爱好者群,关注
about云腾讯认证空间
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
没找到任何评论,期待你打破沉寂
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
sstutu
实习版主
关注
406
主题
948
帖子
143
粉丝
TA的主题
Flink基础教程
2018-10-24
39天大数据学习第30天:使用Spark
2018-10-24
Flink使用场景-生产环境【适合架构师、面试者】
2018-10-24
阿里巴巴为什么选择Apache Flink?
2018-10-24
美团点评基于 Flink 的实时数仓建设实践
2018-10-24
24小时热文
kafka面试题精选
Nebula Flink Connector 在实时 ETL 的实践
Apache Doris 用户案例集
国家电网公司主数据管理系统技术规范
企业的主数据建设方法论与实践
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈