hbase错误:Org.apache.hadoop.ipc.RemoteException:User:client is not allowed to impersonate root

27 篇文章 0 订阅
14 篇文章 1 订阅

场景:远程登录配有Kerberoshbase的时候,client端用到的kerberosprincipalclient/mj1@BDSM.CMCC

错误:

Org.apache.hadoop.ipc.RemoteException:User:clientis not allowed to impersonate root;

解决方法:

hadoop的配置文件core-site.xml中配置如下内容:

<property>

    <name>hadoop.proxyuser. client.hosts</name>

    <value>*</value>

</property>

<property>

    <name>hadoop.proxyuser. client.groups</name>

    <value>*</value>

</property>

上述错误的根本解决办法:

client端的配置目录里添加core-site.xml文件,内容如下:

<configuration>

  <property>

 <name>hadoop.security.authentication</name>

  <value>kerberos</value>

  </property>

</configuration>

即可,就不需要在生产环境的hadoopcore-site.xml中添加任何配置了。如果client端没有该配置文件,则在hbase用户远程访问hdfs文件系统的时候,因为没有读到hadoop的认证方式为kerberos,而成了代理proxy模式,即日志里记载的是AUTH=PROXY,而非KERBEROS,所以认证不通过,显示client不能伪装为root用户。

hbase shell中登录远程的hbase数据库时,必须把hadoopkerberos配置放在core-site.xml中才可以,放在hbase-site.xml中是不认的,所以需要在指定的登录配置目录下放一个core-site.xml文件添加该配置项。但是在java程序中,把该配置项添加到hbase-site.xml中就可以,不需要单独的core-site.xml配置文件。

在终端的hbase shell远程登录hbase命令:HBASE_CONF_DIR="/opt/hbase-1.2.1/back_conf/"/opt/hbase-1.2.1/bin/hbase shell

其中的HBASE_CONF_DIR就是指定的配置目录,该目录下目前放了hbase-site.xml和core-site.xml以及需要的keytab文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值