Customer Portal

2 node Cluster Configuration on same server

Comments 8

  • Avatar
    imriskal
    0
    Comment actions Permalink
    Hi sameerj,

    Of course you can have two nodes on the same machine. Configuration is almost the same as it would be in case of separate machines but there are a few differences. For example, if you use Tomcat as your application server, you have to modify conf/server.xml and use different port numbers for one of the nodes.

    CloverETL Server properties related to clustering could look like this:

    Node01

    <Parameter name="cluster.enabled" value="true" override="false" />
    <Parameter name="cluster.node.id" value="node01" override="false" />
    <Parameter name="cluster.shared_sandboxes_path" value="C:/workspace/sandboxes/shared" override="false" />
    <Parameter name="cluster.group.name" value="cloverCluster" override="false" />
    <Parameter name="cluster.jgroups.bind_address" value="192.168.5.34" override="false" />
    <Parameter name="cluster.jgroups.start_port" value="7800" override="false" />
    <Parameter name="cluster.jgroups.tcpping.initial_hosts" value="192.168.5.34[7801]" override="false" />
    <Parameter name="cluster.http.url" value="http://localhost:8080/clover" override="false" />

    Node02
    <Parameter name="cluster.enabled" value="true" override="false" />
    <Parameter name="cluster.node.id" value="node02" override="false" />
    <Parameter name="cluster.shared_sandboxes_path" value="C:/workspace/sandboxes/shared" override="false" />
    <Parameter name="cluster.group.name" value="cloverCluster" override="false" />
    <Parameter name="cluster.jgroups.bind_address" value="192.168.5.34" override="false" />
    <Parameter name="cluster.jgroups.start_port" value="7801" override="false" />
    <Parameter name="cluster.jgroups.tcpping.initial_hosts" value="192.168.5.34[7800]" override="false" />
    <Parameter name="cluster.http.url" value="http://localhost:7080/clover" override="false" />

    I also recommend the following part of our documentation, if you have not read it yet: http://doc.cloveretl.com/documentation/ ... ation.html

    Regards,
  • Avatar
    sameerj365
    0
    Comment actions Permalink
    Thank you Lubos.

    I am getting below error :

    "Persistent info about Node01 is not accessible"

    Regards
  • Avatar
    admin
    0
    Comment actions Permalink
    Hi,

    There is one more requirement for Cluster - nodes should share DB. See http://doc.cloveretl.com/documentation/ ... ation.html for details.

    Your error message looks like Server is not able to read node data from database table. That may indicate you use 2 DBs. Can you please check it?
  • Avatar
    sameerj365
    0
    Comment actions Permalink
    Thank you ...I was able to configure 2 node cluster within a single server.

    We have now one more physical server and it is like two server environment each having two nodes(jvm) running the clover instance.

    I tried configuring the cluster mode but it is failing. The second server is not able to access the first node of first server.

    How the inter node messaging works here ? I specified the bind address along with the port of first server name for the jgroups tcp host of second server. Still it doesnt work. Kindly help me with sample configuration of below scenerio.

    Thank you for the wonderful support.

    Server 1 -- Node 01
    Server 1 -- Node 02

    Server 2 -- Node 03
    Server 2 -- Node 04
  • Avatar
    admin
    0
    Comment actions Permalink
    Hi,

    Could you please provide us with configuration (Cluster related lines are enough) of all nodes? Together with information about IP addresses and ports Cluster nodes are using? I am afraid we won't be able to advise without that.

    Also you can check Clover logs for some errors/exceptions regarding Cluster setup.

    Thank you!
  • Avatar
    sameerj365
    0
    Comment actions Permalink
    Error is : "com.cloveretl.server.facade.api.exceptions.NodeUnavailableException: Can't access any remote PersistenceService ! None of nodes 'node01' is accessible"

    Server 1

    cluster.enabled=true
    cluster.node.id=node01
    cluster.jgroups.bind_address=localhost
    cluster.jgroups.start_port=7800
    cluster.jgroups.tcpping.initial_hosts=Server2[7802]
    cluster.http.url=http://localhost:8443/clover

    cluster.enabled=true
    cluster.node.id=node02
    cluster.jgroups.bind_address=localhost
    cluster.jgroups.start_port=7801
    cluster.jgroups.tcpping.initial_hosts=localhost[7800]
    cluster.http.url=http://localhost:8444/clover
    cluster.datasource.type=remote
    cluster.datasource.delegate.nodeIds=node01

    Server2

    cluster.enabled=true
    cluster.node.id=node03
    cluster.jgroups.bind_address=localhost
    cluster.jgroups.start_port=7802
    cluster.jgroups.tcpping.initial_hosts=Server1[7800]
    cluster.http.url=http://localhost:8443/clover
    cluster.datasource.type=remote
    cluster.datasource.delegate.nodeIds=node01


    cluster.enabled=true
    cluster.node.id=node04
    cluster.jgroups.bind_address=localhost
    cluster.jgroups.start_port=7803
    cluster.jgroups.tcpping.initial_hosts=Server1[7800]
    cluster.http.url=http://localhost:8445/clover
    cluster.datasource.type=remote
    cluster.datasource.delegate.nodeIds=node01
  • Avatar
    imriskal
    0
    Comment actions Permalink
    I have a few notes regarding your settings:

    1) To avoid any possible DNS issues, please use full IP addresses everywhere instead of localhost, Server1 and Server2.
    2) Just to be sure, add also cluster.group.name=cloverCluster to all four nodes.
    3) Try to add more addresses (separated by commas) into intial hosts settings, not just a one per node. With just 4 nodes in your cluster, you can point each node at all other nodes.
    4) Are you able to ping IP adressess and specific ports(7800,7801,...) between the nodes?
    5) Do nodes present on the same machine see at each other? (node01 <-> node02 and node03 <-> node04; ping and/or Server Web GUI)
    6) Send me all four all.log files if nothing else helps. (<tomcat_home>/temp/cloverlogs/all.log)

    Let me know with the results and answers, please.

    Regards,
  • Avatar
    sameerj365
    0
    Comment actions Permalink
    Thank you for your help. ClusterURL was not correctly set due to which http invoke was getting failed. Now it is working fine.

Please sign in to leave a comment.