TLDR; here's working compose template for docker storm with Kafka and zk. Please remove the project specific components and you should be able to run the whole this with scaling:
https://github.com/Symantec/hendrix/blob/current/install/conf/local/docker-compose-backup.yml On Oct 13, 2016 9:26 PM, "Joaquin Menchaca" <[email protected]> wrote: > I am a little fuzzy about what you are trying to to. The you expose the > correct ports (Dockerfile) and map them to the host (docker command > option)? 6127, 8000, 8080? Are you trying to run storm jar and storm > list inside the container, or outside the container. Are you trying to do > this on one container? Or multiple? > > If you are doing everything inside the container, the mini-vm style, then > you really do not need to configure storm.yaml, it'll default to localhost > for local mode. You'll want to get into storm.yaml when you want to setup > a cluster, and when you want to submit a topology to a cluster. > > For cluster services, you'll want to use multiple containers (at least for > supervisors). There may be a challenge for as multiple supervisors using > the same ports. Docker-Compose and Ansible could be easier tools to use > for orchestrating multiple containers, rather than docker commands. > > In a cluster, you can use the storm ui and logviewer to drill down into > the bolts and such. In this case, you would definitely need to control how > these containers are labeled, by controlling the /etc/hosts. > Docker-Compose can do some of this automatically. Then to the outside, > like a web browser, you'll need to map the hostname, e.g. nimbus.dev, > supervisor1.dev, etc., so that they are the same internally and > externally. You can do this with dnscache or something on the host (or > regular DNS server for staging), and hosts files for the storm containers > internally, plus one container that acts as a reverse-proxy, virtual host > for nimbus.dev, supervisor1.dev, etc., which then routes to appropriate > container on 8000 and 8080. > > > > > On Tue, Oct 11, 2016 at 9:08 PM, Sudha Subramanian <[email protected]> > wrote: > >> Hi, >> >> I'm running Storm 1.0.2 components in docker container all on the same VM. >> >> I'm running into an issue where based on the configuration of storm.yaml >> and container host name, I can either get the storm command line to work, >> or the Storm UI to connect But, not both. >> >> Following configuration allows me to use storm command line and perform >> commands like list and jar. >> >> Storm.yaml: >> >> storm.zookeeper.servers: >> >> - 172.x.x.x >> nimbus.seeds: ["*104.10.x.x*"] >> >>> >> >> Where, 172.x.x.x -> is the docker IP address where zookeeper runs >> >> and 104.10.x.x -> is the external IP address of the VM. >> >> I run docker with -h option as follows: *docker -h 104.10.x.x *....storm >> nimbus >> >> With the above setting, I'm able to perform operations remotely using >> storm ( eg storm list). However, I'm unable to connect to storm UI using >> browser. The browser spins forever trying to get cluster information. >> >> Following configuration allows me to connect using the UI but not storm >> jar. >> >> storm.yaml: >> storm.zookeeper.servers: >> - 172.x.x.x. >> nimbus.seeds: ["1*27.0.0.1*"] >> >> Nimbus seeds point to 127.0.0.1. >> And, I *don't run docker with the -h option*. >> >> I tried specifying storm.local.hostname etc. But, I'm not able to get >> Storm 1.0 work in container. >> >> I lost almost 4 days trying different configuration. Can someone help >> me?, please. >> >> Thanks, >> Sudha >> >> >> > > > -- > > 是故勝兵先勝而後求戰,敗兵先戰而後求勝。 >
