Execução do programa Java remoto usando FTP, conjunto de dados muito grande na máquina remota - Programar para dados versus dados para programar
-
20-09-2019 - |
Pergunta
Estou desenvolvendo um aplicativo baseado em Java; Seus requisitos pertinentes estão listados abaixo
Existem grandes conjuntos de dados em várias máquinas na rede. Meu programa precisa (remotamente) executar um programa Java para processar esses conjuntos de dados e buscar os resultados
Um usuário em uma área de trabalho do Windows precisará processar conjuntos de dados (vários shows) na máquina A. Meu programa pode residir na máquina do usuário. Ele executará meu programa a partir de sua máquina e iniciará o processamento do conjunto de dados em máquina remota (s)
Em vez de colocar o conjunto de dados sobre a rede da máquina remota para sua máquina, ele executará o programa na máquina remota e buscará resultados
O usuário pode ter acesso aberto às outras máquinas, mas o FTP é o requisito
Os dados não devem ser trazidos pela rede para a máquina do usuário.
Os usuários têm Windows OS
Minhas perguntas)
Como posso realizar esse tipo de execução do processo remoto? Alguma ideia?
Estou olhando para o Hadoop; Estou trabalhando no Windows XP. Não consegui fazer o Hadoop trabalhar para um único cluster de nós; Não consigo encontrar uma boa documentação. Portanto, não testei bastante o Hadoop. Algum comentário sobre se eu estiver no caminho certo?
Algum de links, algum de vocês achou útil para a instalação do Hadoop e dos problemas de filmagem?
Agradecemos antecipadamente a todas as respostas. Informe -me se devo fornecer mais/detalhes específicos.
-jv
Solução
O Java tem uma API RMI que você pode usar, assumindo que você pode ter uma VM Java em execução em suas máquinas remotas. Essa é a solução de peso mais leve. O próximo peso mais leve seria a comunicação de soquete reto. Depois disso, você está entrando em servidores EJB ou servidores da Web, o que provavelmente é um exagero.
Outras dicas
Dê uma olhada em como escrever serviços da Web com o Java 6. Isso permite publicar um método como um serviço da Web com uma anotação. Um cliente de serviço da Web é pequeno e não requer software adicional. Achei a ideia fácil de usar e gerei um cliente Java 6 puro.
Em seguida, basicamente se resume a fazer uma chamada "normal" e processando o resultado.
Mantenha simples. O software de grade provavelmente não é o que você deseja.