Uploaded image for project: 'ngrinder'
  1. ngrinder
  2. NGRINDER-710

Add the easy cluster mode using local file system and h2 tcpserver

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.2.3
    • Fix Version/s: 3.3
    • Component/s: controller
    • Labels:
      None

      Description

      nGrinder prior to 3.3, need the followings to enable the cluster mode.

      1. Use Cubrid as DB.
      2. Locate multiple controllers in the different servers.
      3. Share .ngrinder folder (using NFS) among those servers.
      4. Use L4 in front of all controllers.
      5. Provide all cluster member's IPs in the system configuration.

      However it's quite difficult to make it.
      However if the multiple controller can be installed in a single machine,
      it will dramatically reduce the configuration effort.

      To make it possible, we need followings

      1. Make ngrinder be able to connect the H2 TCPServer.
      2. Make the controller be able to accept command line options to configure various port to avoid the port overlap errors
      3. Enable cluster members auto discovery using multicast.

      While supporting above, we still need to support clustering across multiple machine.
      So we need to divide the clustering into two mode (easy, advanced)

        Activity

        Hide
        junoyoon JunHo Yoon added a comment - - edited

        To enable easy cluster mode, the admin should download H2 TCP Server in advance.

        Download the h2 db and run the /bin/h2.bat or h2.sh to execute H2 TCP Server. By default it will be executed to the port 9092

        At the same machine, the admin can run the multiple controllers which uses the same H2 tcp server which is run above and $

        {NGRINDER_HOME}

        directory. The following shows ngrinder execution command line sample when executing it as easy cluster mode.

        {code}
        java -XX:MaxPermSize=200m -jar ngrinder-controller-3.3.war -cluster-mode=easy -port 8080 -cluster-port=2323 -region=hello1 -controller-port=2002{code}

        This will try to connect to localhost:9092(the default h2 server port).
        The admin can even configure the controller to connect the remote host by providing -database-host=... and -database-port=...

        The admin can run multiple controller in the single machine if the followings are different from the other controllers in the single machine.

        • -port=uniq_web_port
        • -region=uniq_region_name
        • -cluster-port=uniq_cluster_communication_port
        • -controller-port=uniq_controller_connection_port_for_agent_connection
        Show
        junoyoon JunHo Yoon added a comment - - edited To enable easy cluster mode, the admin should download H2 TCP Server in advance. http://www.h2database.com/html/download.html Download the h2 db and run the /bin/h2.bat or h2.sh to execute H2 TCP Server. By default it will be executed to the port 9092 At the same machine, the admin can run the multiple controllers which uses the same H2 tcp server which is run above and $ {NGRINDER_HOME} directory. The following shows ngrinder execution command line sample when executing it as easy cluster mode. {code} java -XX:MaxPermSize=200m -jar ngrinder-controller-3.3.war -cluster-mode=easy -port 8080 -cluster-port=2323 -region=hello1 -controller-port=2002{code} This will try to connect to localhost:9092(the default h2 server port). The admin can even configure the controller to connect the remote host by providing -database-host=... and -database-port=... The admin can run multiple controller in the single machine if the followings are different from the other controllers in the single machine. -port=uniq_web_port -region=uniq_region_name -cluster-port=uniq_cluster_communication_port -controller-port=uniq_controller_connection_port_for_agent_connection
        Hide
        junoyoon JunHo Yoon added a comment -

        Fixed. The guideline will be located in the following link.

        Show
        junoyoon JunHo Yoon added a comment - Fixed. The guideline will be located in the following link. http://www.cubrid.org/wiki_ngrinder/entry/easy-clustering-tutorial

          People

          • Assignee:
            junoyoon JunHo Yoon
            Reporter:
            junoyoon JunHo Yoon
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: