Re: Permission Denied

2015-03-03 Thread David Patterson
Thanks to all that helped. I've now got my configuration running. All of
the configuration files that once referenced localhost now reference my
hostname (AccumuloTN). The big deal that I omitted seeing in *any* of the
various blogs and instructions was to create a linux directory with the
same name as my accumulo user (that is the linux-user-name) and change the
ownership of it to accumulo:superuser.

So, now not only is it working (from within another linux userid on that
machine), I've run code on my Windows machine that connects to my cloud
machine and is able to fetch data.

Dave Patterson

On Mon, Mar 2, 2015 at 11:47 AM, Sean Busbey bus...@cloudera.com wrote:

 Splitting into three unix users is a good idea. Generally, none of the
 linux users should need access to any of the local resources owned by the
 others. (that is, the user running the accumulo processes shouldn't be able
 to interfere with the backing files used by the HDFS processes).

 By default, the linux user that drives a particular process will be
 resolved to a Hadoop user by the NameNode process. Presuming your Accumulo
 services are running under the linux user accumulo, you should ensure
 that user exists on the linux node that runs the NameNode.

 The main issue with running init as the hadoop user is that by default
 it's likely going to write the accumulo directories as owned by the user
 that created them. Presuming you are using Accumulo because you have
 security requirements, the common practice is to make sure only the user
 that runs Accumulo processes can write to /accumulo and that only that user
 can read /accumulo/tables and /accumulo/wal. This ensures that other users
 with access to the HDFS cluster won't be able to bypass the cell-level
 access controls provided by Accumulo.

 While you are setting up HDFS directories, you should also create a home
 directory for the user that runs Accumulo processes. If your HDFS instance
 is set to use the trash feature (either in server configs or the client
 configs made available to Accumulo), then by default Accumulo will attempt
 to use it. Without a home directory, this will result in failures.
 Alternatively, you can ensure Accumulo doesn't rely on the trash feature by
 setting gc.trash.ignore in your accumulo-site.xml.

 One other note:

  I edited the accumulo-site.xml so it now has
   property
 nameinstance.volumes/name
 valuehdfs://localhost:9000/accumulo/value
 descriptioncomma separated list of URIs for volumes. example:
 hdfs://localhost:9000/accumulo/description
   /property

 You will save yourself headache later if you stick with fully qualified
 domain names for all HDFS, ZooKeeper, and Accumulo connections.

 --
 Sean

 On Mon, Mar 2, 2015 at 8:13 AM, David Patterson patt...@gmail.com wrote:

 David,

 Thanks for the information. I've issued those two commands in my hadoop
 shell and still get the same error when I try to initialize accumulo in
 *its* shell. :

 2015-03-02 13:30:41,175 [init.Initialize] FATAL: Failed to initialize
 filesystem
org.apache.hadoop.security.AccessControlException: Permission denied:
 user=accumulo, access=WRITE, inode=/accumulo:
accumulo.supergroup:supergroup:drwxr-xr-x

 My comment that I had 3 users was meant in a linux sense, not in a hadoop
 sense. So (to borrow terminoloy from RDF or XML) is there something I have
 to do in my hadoop setup (running under linix:hadoop) or my accumulo setup
 (running under linux:accumulo) so that the accumuulo I/O gets processed as
 from someone in the hadoop:supergroup?


 I tried running the accumulo init from the linux:hadoop user and it
 worked. I'm not sure if any permissions/etc were hosed by doing it there.
 I'll see.

 Thanks for you help.

 (By the way, is it wrong or a bad idea to split the work into three
 linux:users, or should it all be done in one linux:user space?)

 Dave Patterson

 On Sun, Mar 1, 2015 at 8:35 PM, dlmarion dlmar...@comcast.net wrote:

 hadoop fs -mkdir /accumulo
 hadoop fs -chown accumulo:supergroup /accumulo



  Original message 
 From: David Patterson patt...@gmail.com
 Date:03/01/2015 7:04 PM (GMT-05:00)
 To: user@hadoop.apache.org
 Cc:
 Subject: Re: Permission Denied

 David,

 Thanks for the reply.

 Taking the questions in the opposite order, my accumulo-site.xml does
 not have volumes specified.

 I edited the accumulo-site.xml so it now has
   property
 nameinstance.volumes/name
 valuehdfs://localhost:9000/accumulo/value
 descriptioncomma separated list of URIs for volumes. example:
 hdfs://localhost:9000/accumulo/description
   /property

 and got the same error.

 How can I precreate /accumulo ?

 Dave Patterson

 On Sun, Mar 1, 2015 at 3:50 PM, david marion dlmar...@hotmail.com
 wrote:

  It looks like / is owned by hadoop.supergroup and the perms are 755.
 You could precreate /accumulo and chown it appropriately, or set the perms
 for / to 775. Init is trying to create /accumulo in hdfs as the accumulo

Re: Permission Denied

2015-03-02 Thread David Patterson
David,

Thanks for the information. I've issued those two commands in my hadoop
shell and still get the same error when I try to initialize accumulo in
*its* shell. :

2015-03-02 13:30:41,175 [init.Initialize] FATAL: Failed to initialize
filesystem
   org.apache.hadoop.security.AccessControlException: Permission denied:
user=accumulo, access=WRITE, inode=/accumulo:
   accumulo.supergroup:supergroup:drwxr-xr-x

My comment that I had 3 users was meant in a linux sense, not in a hadoop
sense. So (to borrow terminoloy from RDF or XML) is there something I have
to do in my hadoop setup (running under linix:hadoop) or my accumulo setup
(running under linux:accumulo) so that the accumuulo I/O gets processed as
from someone in the hadoop:supergroup?


I tried running the accumulo init from the linux:hadoop user and it worked.
I'm not sure if any permissions/etc were hosed by doing it there. I'll see.

Thanks for you help.

(By the way, is it wrong or a bad idea to split the work into three
linux:users, or should it all be done in one linux:user space?)

Dave Patterson

On Sun, Mar 1, 2015 at 8:35 PM, dlmarion dlmar...@comcast.net wrote:

 hadoop fs -mkdir /accumulo
 hadoop fs -chown accumulo:supergroup /accumulo



  Original message 
 From: David Patterson patt...@gmail.com
 Date:03/01/2015 7:04 PM (GMT-05:00)
 To: user@hadoop.apache.org
 Cc:
 Subject: Re: Permission Denied

 David,

 Thanks for the reply.

 Taking the questions in the opposite order, my accumulo-site.xml does not
 have volumes specified.

 I edited the accumulo-site.xml so it now has
   property
 nameinstance.volumes/name
 valuehdfs://localhost:9000/accumulo/value
 descriptioncomma separated list of URIs for volumes. example:
 hdfs://localhost:9000/accumulo/description
   /property

 and got the same error.

 How can I precreate /accumulo ?

 Dave Patterson

 On Sun, Mar 1, 2015 at 3:50 PM, david marion dlmar...@hotmail.com wrote:

  It looks like / is owned by hadoop.supergroup and the perms are 755. You
 could precreate /accumulo and chown it appropriately, or set the perms for
 / to 775. Init is trying to create /accumulo in hdfs as the accumulo user
 and your perms dont allow it.

  Do you have instance.volumes set in accumulo-site.xml?


  Original message 
 From: David Patterson patt...@gmail.com
 Date:03/01/2015 3:36 PM (GMT-05:00)
 To: user@hadoop.apache.org
 Cc:
 Subject: Permission Denied

I'm trying to create an Accumulo/Hadoop/Zookeeper configuration
 on a single (Ubuntu) machine, with Hadoop 2.6.0, Zookeeper 3.4.6 and
 Accumulo 1.6.1.

  I've got 3 userids for these components that are in the same group and
 no other users are in that group.

  I have zookeeper running, and hadoop as well.

  Hadoop's core-site.xml file has the hadoop.tmp.dir set to
 /app/hadoop/tmp.The /app/hadoop/tmp directory is owned by the hadoop user
 and has permissions that allow other members of the group to write
 (drwxrwxr-x).

  When I try to initialize Accumulo, with bin/accumulo init, I get FATAL:
 Failed to initialize filesystem.
  org.apache.hadoop.security.AccessControlException: Permission denied:
 user=accumulo, access=WRITE, inode=/:hadoop:supergroup:drwxr-xr-x

  So, my main question is which directory do I need to give group-write
 permission so the accumulo user can write as needed so it can initialize?

  The second problem is that the Accumulo init reports
 [Configuration.deprecation] INFO : fs.default.name is deprecated.
 Instead use fs.defaultFS. However, the hadoop core-site.xml file contains:
 namefs.defaultFS/name
 valuehdfs://localhost:9000/value

  Is there somewhere else that this value (fs.default.name) is specified?
 Could it be due to Accumulo having a default value and not getting the
 override from hadoop because of the problem listed above?

  Thanks

  Dave Patterson
  patt...@gmail.com





Re: Permission Denied

2015-03-01 Thread David Patterson
David,

Thanks for the reply.

Taking the questions in the opposite order, my accumulo-site.xml does not
have volumes specified.

I edited the accumulo-site.xml so it now has
  property
nameinstance.volumes/name
valuehdfs://localhost:9000/accumulo/value
descriptioncomma separated list of URIs for volumes. example:
hdfs://localhost:9000/accumulo/description
  /property

and got the same error.

How can I precreate /accumulo ?

Dave Patterson

On Sun, Mar 1, 2015 at 3:50 PM, david marion dlmar...@hotmail.com wrote:

  It looks like / is owned by hadoop.supergroup and the perms are 755. You
 could precreate /accumulo and chown it appropriately, or set the perms for
 / to 775. Init is trying to create /accumulo in hdfs as the accumulo user
 and your perms dont allow it.

  Do you have instance.volumes set in accumulo-site.xml?


  Original message 
 From: David Patterson patt...@gmail.com
 Date:03/01/2015 3:36 PM (GMT-05:00)
 To: user@hadoop.apache.org
 Cc:
 Subject: Permission Denied

I'm trying to create an Accumulo/Hadoop/Zookeeper configuration on
 a single (Ubuntu) machine, with Hadoop 2.6.0, Zookeeper 3.4.6 and Accumulo
 1.6.1.

  I've got 3 userids for these components that are in the same group and no
 other users are in that group.

  I have zookeeper running, and hadoop as well.

  Hadoop's core-site.xml file has the hadoop.tmp.dir set to
 /app/hadoop/tmp.The /app/hadoop/tmp directory is owned by the hadoop user
 and has permissions that allow other members of the group to write
 (drwxrwxr-x).

  When I try to initialize Accumulo, with bin/accumulo init, I get FATAL:
 Failed to initialize filesystem.
  org.apache.hadoop.security.AccessControlException: Permission denied:
 user=accumulo, access=WRITE, inode=/:hadoop:supergroup:drwxr-xr-x

  So, my main question is which directory do I need to give group-write
 permission so the accumulo user can write as needed so it can initialize?

  The second problem is that the Accumulo init reports
 [Configuration.deprecation] INFO : fs.default.name is deprecated. Instead
 use fs.defaultFS. However, the hadoop core-site.xml file contains:
 namefs.defaultFS/name
 valuehdfs://localhost:9000/value

  Is there somewhere else that this value (fs.default.name) is specified?
 Could it be due to Accumulo having a default value and not getting the
 override from hadoop because of the problem listed above?

  Thanks

  Dave Patterson
  patt...@gmail.com



Permission Denied

2015-03-01 Thread David Patterson
I'm trying to create an Accumulo/Hadoop/Zookeeper configuration on a single
(Ubuntu) machine, with Hadoop 2.6.0, Zookeeper 3.4.6 and Accumulo 1.6.1.

I've got 3 userids for these components that are in the same group and no
other users are in that group.

I have zookeeper running, and hadoop as well.

Hadoop's core-site.xml file has the hadoop.tmp.dir set to
/app/hadoop/tmp.The /app/hadoop/tmp directory is owned by the hadoop user
and has permissions that allow other members of the group to write
(drwxrwxr-x).

When I try to initialize Accumulo, with bin/accumulo init, I get FATAL:
Failed to initialize filesystem.
org.apache.hadoop.security.AccessControlException: Permission denied:
user=accumulo, access=WRITE, inode=/:hadoop:supergroup:drwxr-xr-x

So, my main question is which directory do I need to give group-write
permission so the accumulo user can write as needed so it can initialize?

The second problem is that the Accumulo init reports
[Configuration.deprecation] INFO : fs.default.name is deprecated. Instead
use fs.defaultFS. However, the hadoop core-site.xml file contains:
namefs.defaultFS/name
valuehdfs://localhost:9000/value

Is there somewhere else that this value (fs.default.name) is specified?
Could it be due to Accumulo having a default value and not getting the
override from hadoop because of the problem listed above?

Thanks

Dave Patterson
patt...@gmail.com