Como parte da configuração do meu ambiente intellij, preciso conectar-me a um cluster de hadoop remoto e acessar os arquivos em meu código de ignição local.
Existe alguma maneira de se conectar ao ambiente remoto hadoop sem criar instância local hadoop?
Um trecho de código de conexão seria a resposta ideal.
Respostas:
0 para resposta № 1Se você tiver um arquivo keytab para autenticar no cluster, esta é uma maneira que eu fiz:
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)
Acredito que para fazer isso, você também pode precisar de alguns documentos de configuração xml. Nomeadamente core-site.xml
, hdfs-site.xml
e mapred-site.xml
. Estes são em algum lugar geralmente sob /etc/hadoop/conf/
.
Você poderia colocá-los sob um diretório em seu programa e marcá-lo como diretório Resources no IntelliJ.