You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by vitalys <vi...@prudential.com> on 2019/07/22 20:36:28 UTC

Start multiple Ignite Nodes in one Docker container

Hi,

I am trying to run Ignite Cluster in Docker. I am running Docker Desktop
2.0.0.3 and I downloaded apacheignite image from Docker Hub. I am able to
start multiple Ignite Nodes from Windows Power shell, on e container at a
time. 

docker run --rm --name myignite -p 47500:47500 -p 47501:47501 -p 10800:10800
-it apacheignite/ignite

and every time I am running this command new Ignite Node joins the Cluster.

Is it possible to run just one container and bring multiple Nodes of Ignite?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Start multiple Ignite Nodes in one Docker container

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Why do you need to have more than one node per physical machine (or at
least a VM)?

Regards,
-- 
Ilya Kasnacheev


вт, 23 июл. 2019 г. в 17:03, vitalys <vi...@prudential.com>:

> Well, I don't see how I lose the data in the Data Node if all the JVM's
> within the Container joined Ignite Cluster. In case of Mode failure Cluster
> will redistribute date between the remaining Nodes. Additionally we are
> planning to run it in the cloud on Kubernetes ( I know very little about it
> and just learning ) which supposedly will bring up new instance of the
> Ignite Image in case one crashes.
>
> I can see one advantage in starting multiple Nodes within one image and
> that's maintenance, so when I planning to have 20 Nodes in my cluster I
> don't need to bring up 20 Containers but let's say 4 with 5 JVMs per. As of
> now I am just wondering if it's possible in general and trying to figure
> out
> possible pros and cons.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Re: Start multiple Ignite Nodes in one Docker container

Posted by vitalys <vi...@prudential.com>.
Well, I don't see how I lose the data in the Data Node if all the JVM's
within the Container joined Ignite Cluster. In case of Mode failure Cluster
will redistribute date between the remaining Nodes. Additionally we are
planning to run it in the cloud on Kubernetes ( I know very little about it
and just learning ) which supposedly will bring up new instance of the
Ignite Image in case one crashes.

I can see one advantage in starting multiple Nodes within one image and
that's maintenance, so when I planning to have 20 Nodes in my cluster I
don't need to bring up 20 Containers but let's say 4 with 5 JVMs per. As of
now I am just wondering if it's possible in general and trying to figure out
possible pros and cons.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Start multiple Ignite Nodes in one Docker container

Posted by Denis Magda <dm...@apache.org>.
Tim,

Sounds like some bottleneck that holds Ignite from scaling vertically. I’ll
appreciate if you ask the team to connect with Ignite dev community (via
Ignite dev list). Probably, we can reproduce the bottleneck with their help.

Denis

On Monday, July 22, 2019, tim shea <ti...@oracle.com> wrote:

> Anecdotally I can tell you that another team I work with is running an
> Ignite cluster with 5 JVM instances, each running one Ignite server, per
> machine.  A dozen ore so machines last I heard.  They settled on 5 per
> machine after doing performance testing on various topologies, and got the
> best CPU utilization and request times running 5 per machine.  These are
> large 512GB machines. They do not use docker for this but I imagine results
> would be similar.
>
>
> HTH
>
> Tim
>
> Tim "I don't have an email sig" Shea | Principal Engineer
> Oracle Data Cloud
>
> On 7/22/19 3:55 PM, Denis Magda wrote:
>
> I'm not a Docker expert and we'll defer this question to the rest of the
> community.
>
> However, from an architecture perspective, what's the reason for deploying
> multiple Ignite instances per container? If those instances are server
> nodes than you are risking to lose them all and have data loss if the
> container or host machine goes down.
>
> In cases where Ignite is deployed in a virtual or cloud environment, it's
> ideal (but not strictly required) to pin an Ignite server node to a single
> host. This provides two benefits:
>
>     * Avoids the "noisy neighbor" problem where Ignite VM would compete
> for the host resources with other applications.
>       This might cause performance spikes on your Ignite cluster.
>
>     * Ensures high-availability. If a host goes down and you had two or
> more Ignite server node VMs pinned to it,
>       then it can lead to data loss.
>
> -
> Denis
>
>
> On Mon, Jul 22, 2019 at 1:36 PM vitalys <vi...@prudential.com>
> wrote:
>
>> Hi,
>>
>> I am trying to run Ignite Cluster in Docker. I am running Docker Desktop
>> 2.0.0.3 and I downloaded apacheignite image from Docker Hub. I am able to
>> start multiple Ignite Nodes from Windows Power shell, on e container at a
>> time.
>>
>> docker run --rm --name myignite -p 47500:47500 -p 47501:47501 -p
>> 10800:10800
>> -it apacheignite/ignite
>>
>> and every time I am running this command new Ignite Node joins the
>> Cluster.
>>
>> Is it possible to run just one container and bring multiple Nodes of
>> Ignite?
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__apache-2Dignite-2Dusers.70518.x6.nabble.com_&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=zZG_esrdRoMk5W5N-E3gy55vbWaq2CW7Y8XxpHnIdrE&m=gEvEAAWJcOZKDRY5wwvFR9FQFuC6PCPxnxVoK7ln_4Q&s=CbIWV_Ssndv0AIX1tCoMJhr7D3A0gJC7FKtvKGnAv9w&e=>
>>
>

-- 
-
Denis

Re: Start multiple Ignite Nodes in one Docker container

Posted by tim shea <ti...@oracle.com>.
Anecdotally I can tell you that another team I work with is running an 
Ignite cluster with 5 JVM instances, each running one Ignite server, per 
machine.  A dozen ore so machines last I heard.  They settled on 5 per 
machine after doing performance testing on various topologies, and got 
the best CPU utilization and request times running 5 per machine.  These 
are large 512GB machines. They do not use docker for this but I imagine 
results would be similar.


HTH

Tim

Tim "I don't have an email sig" Shea | Principal Engineer
Oracle Data Cloud

On 7/22/19 3:55 PM, Denis Magda wrote:
> I'm not a Docker expert and we'll defer this question to the rest of 
> the community.
>
> However, from an architecture perspective, what's the reason for 
> deploying multiple Ignite instances per container? If those instances 
> are server nodes than you are risking to lose them all and have data 
> loss if the container or host machine goes down.
>
> In cases where Ignite is deployed in a virtual or cloud environment, 
> it's ideal (but not strictly required) to pin an Ignite server node to 
> a single host. This provides two benefits:
>
>     * Avoids the "noisy neighbor" problem where Ignite VM would 
> compete for the host resources with other applications.
>       This might cause performance spikes on your Ignite cluster.
>
>     * Ensures high-availability. If a host goes down and you had two 
> or more Ignite server node VMs pinned to it,
>       then it can lead to data loss.
>
> -
> Denis
>
>
> On Mon, Jul 22, 2019 at 1:36 PM vitalys 
> <vitaly.selivanov@prudential.com 
> <ma...@prudential.com>> wrote:
>
>     Hi,
>
>     I am trying to run Ignite Cluster in Docker. I am running Docker
>     Desktop
>     2.0.0.3 and I downloaded apacheignite image from Docker Hub. I am
>     able to
>     start multiple Ignite Nodes from Windows Power shell, on e
>     container at a
>     time.
>
>     docker run --rm --name myignite -p 47500:47500 -p 47501:47501 -p
>     10800:10800
>     -it apacheignite/ignite
>
>     and every time I am running this command new Ignite Node joins the
>     Cluster.
>
>     Is it possible to run just one container and bring multiple Nodes
>     of Ignite?
>
>
>
>     --
>     Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>     <https://urldefense.proofpoint.com/v2/url?u=http-3A__apache-2Dignite-2Dusers.70518.x6.nabble.com_&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=zZG_esrdRoMk5W5N-E3gy55vbWaq2CW7Y8XxpHnIdrE&m=gEvEAAWJcOZKDRY5wwvFR9FQFuC6PCPxnxVoK7ln_4Q&s=CbIWV_Ssndv0AIX1tCoMJhr7D3A0gJC7FKtvKGnAv9w&e=>
>

Re: Start multiple Ignite Nodes in one Docker container

Posted by Denis Magda <dm...@apache.org>.
I'm not a Docker expert and we'll defer this question to the rest of the
community.

However, from an architecture perspective, what's the reason for deploying
multiple Ignite instances per container? If those instances are server
nodes than you are risking to lose them all and have data loss if the
container or host machine goes down.

In cases where Ignite is deployed in a virtual or cloud environment, it's
ideal (but not strictly required) to pin an Ignite server node to a single
host. This provides two benefits:

    * Avoids the "noisy neighbor" problem where Ignite VM would compete for
the host resources with other applications.
      This might cause performance spikes on your Ignite cluster.

    * Ensures high-availability. If a host goes down and you had two or
more Ignite server node VMs pinned to it,
      then it can lead to data loss.

-
Denis


On Mon, Jul 22, 2019 at 1:36 PM vitalys <vi...@prudential.com>
wrote:

> Hi,
>
> I am trying to run Ignite Cluster in Docker. I am running Docker Desktop
> 2.0.0.3 and I downloaded apacheignite image from Docker Hub. I am able to
> start multiple Ignite Nodes from Windows Power shell, on e container at a
> time.
>
> docker run --rm --name myignite -p 47500:47500 -p 47501:47501 -p
> 10800:10800
> -it apacheignite/ignite
>
> and every time I am running this command new Ignite Node joins the Cluster.
>
> Is it possible to run just one container and bring multiple Nodes of
> Ignite?
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>