2012-11-24 12 views
10

Ho installato coudera hadoop 4 su un cluster di circa 20 nodi. Usando il cloudera manager è andato tutto liscio, ma quando voglio creare una directory di input usando hadoop fs -mkdir input ottengo il seguente errore: mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x Sembra un classico caso di permessi errati ma non ho idea di dove cominciare a sistemarlo. Ho trovato il documento this che penso possa risolvere il mio problema se sapessi cosa farsene. Per i principianti non so se sto usando MapReduce v1 di v2 (non vedo alcun servizio di filato nel mio gestore cloudera quindi la mia ipotesi sarebbe v1 (?)). In secondo luogo, poiché l'intera installazione era automatica, non so cosa sia installato e dove.Impostazione autorizzazioni per cloudera hadoop

Qualcuno potrebbe indicarmi alcuni semplici passaggi per risolvere il mio problema? Sto davvero cercando la soluzione più semplice qui, non mi interessa affatto della sicurezza poiché è solo un test. Se potessi dare a tutti gli utenti tutte le autorizzazioni possibili, andrebbe bene.

risposta

16

ho risolto il mio problema: In Gestione Cloudera, andate alla configurazione HDFS sotto avanzate e mettere il seguente codice nel HDFS Servizio di configurazione la valvola di sicurezza:

<property> 
    <name>dfs.permissions</name> 
    <value>false</value> 
</property> 
+11

Grazie! Ora deve essere impostato nella GUI. localhost: 7180 -> hdfs1 -> Configurazione -> Visualizza e modifica -> Deseleziona "Verifica missioni HDFS". Riavvia VM. – Shehaaz

+0

Grazie per avermi risparmiato un sacco di tempo! – iRuth

+2

in alternativa funziona "sudo -u hdfs hadoop fs -mkdir input" – sandeepkunkunuru

0

Modifica dfs.permission è sempre una soluzione, ma si può anche provare a cambiare l'utente. Nel mio sistema, il permesso di scrittura è assegnato solo all'utente 'hdfs'. L'utente può essere modificato con il seguente comando:

su hdfs 
+0

hdfs utente non ha una password in questo caso e non nella lista sudoers è necessario aggiungerlo all'elenco di sudoers, prima, e avrai bisogno della password per quello – user3123372

0

hdfs1 -> Configurazione -> Visualizza e modifica -> Deseleziona "Check HDFS persmissions" questo ha funzionato grazie Shehaz

0

1.Do Non modificare dfs.permissions . Mantenere il suo valore come vero.

gruppi 2.Add per un particolare utente se necessario. (Opzionale)

sviluppo groupadd produzione groupadd

echo "vengono creati la produzione e lo sviluppo del Gruppo."

creare utente con i gruppi esistenti e assegnare HDFS directory da utilizzare

useradd -g sviluppo clouddev3 sudo -u HDFS Hadoop fs -mkdir -p/user/clouddev3 sudo -u HDFS Hadoop fs -chown -R clouddev3: sviluppo/user/clouddev3 "clouddev3 utente creato e possiede/user/directory clouddev3 in HDFS" echo

Ora il login con l'utente clouddev3 e cercare,

HDFS DFS -ls/user/clouddev3

o hdfs dfs -ls

Problemi correlati