Problemă găsite pe Cloudera CDH4, dar este valabil pentru orice versiune acceptată Hadoop.
Atunci când executați un script Hadoop în contextul "local" rezultatele sunt produse, dar când se execută în contextul hadoop Arată următoarea eroare:
"Eroare internă: nu poate reinițializa hdfs params internă, în timp ce conectat la un sistem de fișiere hdfs."
Cauzele posibile:
1. - fie nu setați opțiunea 'nameNode' corect în comanda RxHdfsFileSystem() sau utilizați numărul de port greșită pentru HDFS în care aceeași funcție.
Dacă executați formular cod o EdgeNode, asigurați-vă că setarea pentru 'hostName' este numele real al nameNode și nu hostname edgenode se execută din.
De asemenea, verificați Cloudera Manager și verificați că serviciul HDFS utilizează portul 8020, portul implicit. Dacă se execută pe un port diferit, va trebui să setați explicit că în următorul apel în Hadoop vă testa script:
(De exemplu)
myNameNode <-"test1.acme.com"
myPort < - 1700
hdfsFS <-RxHdfsFileSystem (Numegazdă = myNameNode, port = myPort)
2. - în cazul specificarea un nod trebuie să specificați același nume de gazdă și portul setările din RxHadoopMR() și RxHdfsFileSystem()
3.-Asigurați-vă că că ați copiat RevoScaleR borcan de fișier din directorul în care se lansează programul de instalare a Revolution (Revolution folder),
Scala-hadoop-0.1-SNAPSHOT.jar în directorul Cloudera Hadoop lib, care este de obicei:
/opt/cloudera/parcels/CDH/lib/Hadoop/lib (pentru pachetele) sau
/usr/lib/hadoop/lib/
Acest fișier trebuie să fie copiate în acest folder pe toate nodurile clusterului de Hadoop.
După modificarea oricare dintre acești parametri, executați din nou scriptul care inițial a arătat eroarea.
Dacă eroarea persistă, contactați asistența tehnică, pentru o depanare mai adânci.