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" 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
> 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
>>
>>
>>
>
>
> --
>
> 是故勝兵先勝而後求戰,敗兵先戰而後求勝。
>