[ 
https://issues.apache.org/jira/browse/ACCUMULO-404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13209821#comment-13209821
 ] 

Joey Echeverria commented on ACCUMULO-404:
------------------------------------------


As a current workaround for this issue, you can do the following:

Create accumulo principals for each host:

{noformat}kadmin.local -q "addprinc -randkey 
accumulo/<host.domain.name>"{noformat}

where <host.domain.name> is replaced by a fully qualified domain name.

Export all of the accumulo principals to a key tab file:

{noformat}kadmin.local -q "xst -k accumulo.keytab -glob accumulo*"{noformat}

Put the key tab file in the $ACCUMULO_HOME/conf directory on each host. Make 
sure it's owned by the accumulo user and only readable by the owner.

Add the following to accumulo-env.sh:

{noformat}kinit -kt $ACCUMULO_HOME/conf/accumulo.keytab accumulo/`hostname 
-f`{noformat}

Add the following to the accumulo user's crontab on all hosts:

{noformat}0 5 * * * kinit -kt $ACCUMULO_HOME/conf/accumulo.keytab 
accumulo/`hostname -f`{noformat}

In $ACCUMULO_HOME/conf/monitor.security.policy:

Change:
{noformat}permission java.util.PropertyPermission "*", "read";{noformat}

To:
{noformat}permission java.util.PropertyPermission "*", "read,write";{noformat}

Add these lines to the end:
{noformat}
permission javax.security.auth.AuthPermission 
"createLoginContext.hadoop-user-kerberos";
permission java.lang.RuntimePermission "createSecurityManager";
permission javax.security.auth.AuthPermission "doAs";
permission javax.security.auth.AuthPermission "getPolicy";
permission java.security.SecurityPermission "createAccessControlContext";
permission javax.security.auth.AuthPermission "getSubjectFromDomainCombiner";
permission java.lang.RuntimePermission "getProtectionDomain";
permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
permission javax.security.auth.PrivateCredentialPermission 
"javax.security.auth.kerberos.KerberosTicket 
javax.security.auth.kerberos.KerberosPrincipal \"*\"", "read";
permission javax.security.auth.kerberos.ServicePermission 
"krbtgt/<REALM>@<REALM>", "initiate";
permission javax.security.auth.kerberos.ServicePermission 
"hdfs/<namenode.domain.name>@<REALM>", "initiate";
permission javax.security.auth.kerberos.ServicePermission 
"mapred/<jobtracker.domain.name>@<REALM>", "initiate";
{noformat}

Where <REALM> is replaced with the kerberos realm for the Hadoop cluster, 
<namenode.domain.name> is replaced with the fully qualified domain name of the 
server running the namenode and <jobtracker.domain.name> is replaced with the 
fully qualified domain name of the server running the job tracker.

                
> Support running on-top of Kerberos-enabled HDFS
> -----------------------------------------------
>
>                 Key: ACCUMULO-404
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-404
>             Project: Accumulo
>          Issue Type: New Feature
>            Reporter: Joey Echeverria
>             Fix For: 1.4.1
>
>
> Hadoop 0.20.20x, 1.0.x and 0.23.x all support requiring kerberos for strong 
> authentication in order to talk to HDFS. It would be useful if Accumulo could 
> be configured with keytab files for the TabletServers, Master, etc. so that 
> it can be run on a Kerberos-enabled cluster.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to