在hdp2.6.2集群上安装/激活hive2.1.0时,我遇到了很多问题。但最后我还是成功了,所以我想和社区分享这些步骤。我从不同的来源得到了这些步骤,下面我也会提到每一步。我的规格:
集群hdp 2.6.2(hortonworks)环境
kerberos
配置单元1.2.1000->配置单元2.1.0
步骤1:启用配置单元交互式查询
按照hortonworks网站上的步骤操作。这包括启用Yarn抢占和一些其他Yarn设置。调整Yarn后,您可以通过ambari启用hive交互式查询。您还必须指定一个至少占集群总容量20%的默认队列。
来源
步骤2:kerberos相关设置
确保将以下设置添加到ambari中的自定义hiveserver2交互站点。其中${realmname}是ldap领域的名称。
hive.llap.zk.sm.keytab.file=/etc/security/keytabs/hive.llap.zk.sm.keytab
hive.llap.zk.sm.principal=hive/_HOST@${REALMNAME}
hive.llap.daemon.keytab.file=/etc/security/keytabs/hive.service.keytab
hive.llap.daemon.service.principal=hive/_HOST@${REALMNAME}
现在你必须把这两个键(基本上相同的键)放在每个Yarn节点上。这可以手动完成,也可以通过ambari(kerberos服务)完成。确保这些键片 chown hive:hadoop
去喝一杯 chmod 440
(分组阅读)。
注意:在所有这些节点上还需要一个用户配置单元。
来源
第三步:zookeeper配置
可能是zookeeper无法识别配置单元,这将在尝试启动hiveserver2时导致acl错误。为了解决这个问题,我通过zookeeper客户机主机添加了正确的配置单元acl节点。
su -
# First, authenticate with the hive keytab
kinit hive/'hostname' -kt /etc/security/keytabs/hive.service.keytab
# Second, connect to a zookeeper client on your cluster
/usr/hdp/current/zookeeper-server/bin/zkCli.sh -server ${ZOOKEEPER_CLIENT}
# Third, check the current status of the user-hive acl
getAcl /llap-sasl/user-hive
# Fourth, If this is not there create the following nodes
create /llap-sasl/user-hive "" sasl:hive:cdrwa,world:anyone:r
create /llap-sasl/user-hive/llap0 "" sasl:hive:cdrwa,world:anyone:r
create /llap-sasl/user-hive/llap0/workers "" sasl:hive:cdrwa,world:anyone:r
# Fifth, change the llap-sasl node to add the user hive
setAcl /llap-sasl sasl:hive:cdrwa,world:anyone:r
来源1,来源2
基本上,这应该适用于煤焦化环境。如果你有与acl相关的错误,回到你的zookeeper设置,看看是否一切正常。如果存在与缺少的配置单元用户相关的错误,则应该查看配置单元用户是否已正确添加到节点。如果您有一个与kerberos(principal或keytab)相关的错误,请查看keytab是否位于具有正确权限的指定(yarn)节点上。
暂无答案!
目前还没有任何答案,快来回答吧!