J'utilise apache-nifi, et il semble que je ne puisse pas me lier à une adresse lors du démarrage du serveur web, sauf si dans le fichier de configuration j'utilise le nom DNS public. L'utilisation de l'adresse IP à laquelle le nom DNS résout ne fonctionne pas. De même, l'utilisation d'un alias d'hôte affecté au /etc/hosts
ne fonctionne pas. Dans chacun de ces cas, je vois dans le journal nifi une exception lancée par jetty, disant qu'il ne peut pas attribuer l'adresse demandée.nifi ne peut pas affecter l'adresse demandée
Il n'y a rien à écouter sur le port, comme vérifié avec netstat et par le fait que lorsque j'utilise le nom DNS, il n'y a pas de liaison d'erreur à l'adresse. Est-ce intentionnellement ou est-ce que je fais quelque chose de mal?
Voici les détails de ma config. (Je suis en train d'exécuter un cluster nifi, et le zookeeper intégré ne parvient pas à se lier sur l'adresse IP ou l'alias de l'hôte, mais fonctionne sur le nom DNS.Comme l'échec se produit si j'utilise un seul nœud nifi avec clustering off, je suis affiche simplement la configuration du serveur nifi.)
Le serveur nifi s'exécute sur une machine virtuelle dans un service de cloud avec un DNS public. Disons que le nom DNS public est "dns-abc", et il se résout à l'adresse 1.2.3.4.
Si je spécifie dans nifi.properties nifi.web.http.host=1.2.3.4
, la liaison échoue. Si je spécifie nifi.web.http.host=dns-abc
, il réussit. Alors j'ai créé une entrée dans /etc/hosts
comme suit:
1.2.3.4 nifi-1
et je nifi.web.http.host=nifi-1
spécifié dans nifi.properties, et encore une fois la liaison a échoué.
EDIT: Voici la trace de la pile
2017-09-18 01:02:30,610 WARN [main] org.apache.nifi.web.server.JettyServer Failed to start web server... shutting down.
java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:298)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:431)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:705)
at org.apache.nifi.NiFi.<init>(NiFi.java:160)
at org.apache.nifi.NiFi.main(NiFi.java:267)
pourriez-vous fournir l'erreur complète? – daggett
J'ai modifié le message Question et ajouté la trace de la pile. – MidnightJava
peut-être à l'intérieur de votre VM 'dns-abc' résolu à l'adresse IP différente? – daggett