0
votes

I have been successful mostly in running hadoop and hive on Windows natively (without cygwin).

For Hive, all I did was that I unzipped the official zip file and set the HIVE_HOME and PATH. Also, I set the hive-site.xml as:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
        <description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>
    </property>
</configuration>

I am able to run hive. Seemingly, thrift server is also running using hive --service thriftserver2.

But when I try to connect to hive using jdbc from my web app, with my current Windows user-name and password, it gives following error:

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

Note: there is no folder named "/home/anurag.kalia" on hdfs. Also, I have added following in hadoop core-site.xml after some Google searches:

<property>
    <name>hadoop.proxyuser.anurag.kalia.groups</name>
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.anurag.kalia.hosts</name>
    <value>*</value>
  </property>

But this is still not working. Is there any way for hive to successfully impersonate?

1
does your username have a . in between?franklinsijo
@franklinsijo yes. Is that a problem? How can I circumvent my windows username?Anurag Kalia

1 Answers

0
votes

The proxyuser properties (hadoop.proxyuser.$superuser.groups, hadoop.proxyuser.$superuser.hosts) added to core-site.xml does not work if there is a . in $superuser.

Without proxyuser config properties, impersonation will not be possible. A Jira HADOOP-7050 is still open for this issue.