-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid host resolution (Nimbus, Docker, Marathon) #174
Comments
@ilya-bystrov : try setting |
@erikdw I am having the same error even when I specify the nimbus host both in the conf file and as an argument in the storm command . this is the command I am running |
@rwd5213 : that cmd you pasted isn't starting the nimbus, it's just submitting a topology jar to the Nimbus to be run in the cluster. You need to specify the |
@erikdw sorry I forgot to mention that I am running it in marathon using the run-marathon-script so doesn't that start Nimbus. If not how would I specify the configuration and start the MesosNimbus |
@rwd5213 : Ah. I have never used Marathon, as mentioned in this issue about the Marathon instructions needing some polish. But the Marathon instructions in this project talk about how to set some options for the nimbus:
You should try setting the |
Oh... even though I've never used Marathon I have an inkling of its purpose and how it works -- I think it would put the Nimbus onto some arbitrary host in the cluster. So you wouldn't know a priori the IP/hostname to put into the |
@erikdw I got it to work by setting the STORM_NIMBUS_OPTS env in the json for the marathon application. However you have to just guess what machine IP node marathon will put the container on. If you restrict it to only use slave_public nodes then that will help your guessing. Also I am assuming that after the application is running you can exec into the container and set the environment variable there however I haven't tried it yet. I am not sure about how to get it to advertise its actual IP either |
Here is some additional info: @erikdw : Also I tried to pass MESOS_NIMBUS_HOST environment variable in marathon configuration. But this doesn't work. |
@erikdw : Actually I find out that marathon pass hostname to the docker process as environment parameter: So I think it will be enough to add the following line in run-with-marathon.sh But at now it seems storm-mesos-0.1.7 doesn't respect MESOS_NIMBUS_HOST environment parameter. I suppose there is |
So when I've done this in the past, I used mesos -dns and set the nimbus On Oct 20, 2016 6:45 PM, "Erik Weathers" [email protected] wrote:
|
@ilya-bystrov : we (my team at my company) have added a ticket into our next sprint to try to get marathon working with this project, since we have never used it before. Hopefully that will allow us to answer some of these Qs. |
I run Storm on Mesos via Docker.
Supervisor can not be started because Nimbus service resolves hostname as localhost.
nimbus:
[INFO] Started HTTP server from which config for the MesosSupervisor's may be fetched. URL: http://localhost:45762/generated-conff
After that fetcher failed. mesos-slave:
I1020 13:38:45.664760 32717 fetcher.cpp:134] Downloading resource from 'http://localhost:45762/generated-conf/storm.yaml' to '/var/lib/mesos/slaves/27978124-3a65-46d5-80c0-cc83871de3f2-S0/frameworks/27978124-3a65-46d5-80c0-cc83871de3f2-0002/executors/inout-1-1476891187/runs/52d08df3-3152-4c6b-b680-4c0d80584c5d/storm.yaml' Failed to fetch 'http://localhost:45762/generated-conf/storm.yaml': Error downloading resource: Couldn't connect to server
Also I find code fragment responsible for host resolution
storm.mesos.util.MesosCommon#getNimbusHost
Is there any solution? or I missed some configuration details.
The text was updated successfully, but these errors were encountered: