Hi,

First let me complement the hbase developers for their work in offering this very useful tool to the world.

We are running hbase-0.1.1 on top of hadoop-0.16.3, starting the hbase daemon from an "hbase" user account and the hadoop daemon and have observed this "feature". We are running hbase in a separate "hadoop" user account and hadoop in it's own "hadoop" user account on a single machine.

When we try to start up hbase, we see this error message in the log:

2008-05-06 12:09:02,845 ERROR org.apache.hadoop.hbase.HMaster: Can not start master
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun .reflect .NativeConstructorAccessorImpl .newInstance(NativeConstructorAccessorImpl.java:39) at sun .reflect .DelegatingConstructorAccessorImpl .newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at org.apache.hadoop.hbase.HMaster.doMain(HMaster.java:3329)
        at org.apache.hadoop.hbase.HMaster.main(HMaster.java:3363)
Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.fs.permission.AccessControlException: Superuser privilege is required
        ... (etc)

We get this no matter whether the "hadoop-site.xml" includes any one of these properties, or none of them:

  <property>
    <name>dfs.web.ugi</name>
    <value>webuser,webgroup</value>
    <final>true</final>
  </property>

  <property>
    <name>dfs.web.ugi</name>
    <value>webuser,supergroup</value>
    <final>true</final>
  </property>

  <property>
    <name>dfs.web.ugi</name>
    <value>hadoop,supergroup</value>
    <final>true</final>
  </property>

On the other hand, if we run hbase in the hadoop user account instead of it's own user account, we have no problems.

Finally, if we include this property in the "hadoop-site.xml" file to turn off the hdfs file system permission feature:

  <property>
    <name>dfs.permissions</name>
    <value>false</value>
    <final>true</final>
  </property>

we can start up hbase in it's own user account or in the hadoop user account.

This almost seems like it has something to do with interaction between Linux ext3 user and group permissions and the hdfs user and group permissions system. We may have missed comments in the mail lists, FAQs or elsewhere addressing this problem, our apologies if we have.

Congrats and thanks again on a very nice system.

Reply via email to