Come parte del mio ambiente intellij ho bisogno di connettermi a un cluster hadoop remoto e accedere ai file nel mio codice spark locale.
C'è un modo per connettersi all'ambiente remoto hadoop senza creare istanze locali hadoop?
Uno snippet di codice di connessione sarebbe la risposta ideale.
risposte:
0 per risposta № 1Se si ha un file keytab per autenticarsi nel cluster, questo è un modo per farlo:
val conf: Configuration: = new Configuration()
conf.set("hadoop.security.authentication", "Kerberos")
UserGroupInformation.setConfiguration(conf)
UserGroupInformation.loginUserFromKeytab("user-name", "path/to/keytab/on/local/machine")
FileSystem.get(conf)
Credo di farlo, potresti anche aver bisogno di alcuni documenti di configurazione xml. cioè core-site.xml
, hdfs-site.xml
, e mapred-site.xml
. Questi sono da qualche parte di solito sotto /etc/hadoop/conf/
.
Li inseriresti in una directory del tuo programma e contrassegnali come Directory delle risorse in IntelliJ.