tutti. Ho provato a fare riferimento al mio jar aziendale in Flink in modo da copiarlo in $ FLINK/lib in tutti i task manager, ma non è riuscito. E non voglio impacchettare un barattolo di grasso, che è troppo pesante e inutile. Penso che anche il primo metodo non sia una buona idea, perché devo gestire i jar in tutto il cluster. Qualcuno sa come risolvere questo problema? Qualsiasi suggerimento sarebbe apprezzato.Come fare riferimento al vaso esterno in Flink
risposta
In generale, la costruzione di un barattolo di grasso è la soluzione migliore. Non sei sicuro di quanto sarà grande il tuo barattolo lontano, che pensi sia "troppo pesante"?
La copia di vasi su $FLINK/lib
dovrebbe funzionare. Tuttavia, è necessario riavviare Flink in modo tale che i jar vengano aggiunti al classpath di Flink. Pertanto, questo approccio non consente di aggiungere dinamicamente i jar, ma dovrebbe funzionare per un gruppo di giare stabili.
Per gestire i file jar nell'intero cluster, potrebbe essere utile utilizzare una cartella NFS come $FLINK/lib
per mantenere tutti i Task Manager sincronizzati. O semplicemente scrivi uno script bash per distribuire i tuoi vasi.
L'interfaccia a riga di comando (CLI) di Flink consente il passaggio di percorsi di posizione jar aggiuntivi utilizzando l'opzione -C. Lo usiamo per passare le dipendenze ad ogni lavoro.
Il nostro problema: Dato che di solito il nostro lavoro si evolvono durante l'intero ciclo di vita del progetto e che le loro dipendenze esterne cambiano le loro versioni e che si corre più processi nello stesso cluster, abbiamo voluto selezionare le versioni esatte jar da caricare in ogni seduta . Pertanto, la directory $ FLINK/lib non era abbastanza per noi.
Dettagli: ciò che facciamo è distribuire i jar in una directory fissa (diversa da $ FLINK/lib) su ogni nodo. In seguito useremo la CLI per iniziare il lavoro (non direttamente poiché la chiamata è piuttosto lunga, ma usando uno script bash per abbreviare la chiamata).
Se si desidera evitare il conflitto di dipendenze, non copiare i propri vasi su $ {FLINK_LIB}/lib. Se si utilizza il cluster di filato come master, è possibile utilizzare -yt (- yarn-ship), copia i jar su hdf e come classpath del programma distribuito.
- 1. Come fare riferimento al commit iniziale?
- 2. Come fare riferimento al file attualmente caricato in Emacs Lisp?
- 3. Come fare riferimento al tipo DOMWindow in Google Chrome?
- 4. Come fare riferimento al protocollo in Objective-C?
- 5. Fare riferimento al pulsante Indietro su UINavigationBar
- 6. Fare riferimento al gruppo interno al gruppo con Regex
- 7. Come fare riferimento al pacchetto aggiunto da Bower?
- 8. come fare riferimento a segnali al di fuori di models.py
- 9. subquery - come fare riferimento al valore di query esterna
- 10. In WinRT XAML, come fare riferimento alle immagini nell'assemblaggio/progetto esterno/separato?
- 11. mainclass vaso ant vaso
- 12. includono vaso esterno durante l'esecuzione di java-jar
- 13. csc.exe riferimento file .dll esterno
- 14. Come fare riferimento a una cella notebook IPython in markdown?
- 15. zipWithIndex su Apache Flink
- 16. Come fare riferimento all'attributo colore in drawable?
- 17. Come fare riferimento a Microsoft.Solver.Foundation in vs12?
- 18. Come faccio a fare riferimento a una risorsa in Java?
- 19. Esiste un collegamento diretto al vaso eclipse.jdt.core?
- 20. Come configurare un'applicazione Air per fare riferimento a un file di configurazione esterno?
- 21. comportamento Iterator in Flink reduceGroup
- 22. come aggiungere un jar esterno al progetto webapp maven
- 23. Ordinamento globale in Apache Flink
- 24. Fare riferimento al elemento figlio di vista Backbone
- 25. Come faccio a fare riferimento a uno spazio dei nomi C++ esterno da uno nidificato?
- 26. fare riferimento al tipo di oggetto nella definizione dell'oggetto
- 27. Progetto Test unità non può fare riferimento al progetto MVC
- 28. puntatore per fare riferimento
- 29. Come posso creare CSS in linea in un file PHP WordPress senza fare riferimento a un file CSS esterno?
- 30. Aggiornamento .class in vaso
Grazie! La tua risposta mi aiuta davvero! Ho riavviato Flink e tutto ha funzionato. E devo ammettere che costruire un barattolo di grasso è il modo migliore per andare. Grazie mille! – zhangshengxiong