3 Replies Latest reply on May 8, 2014 12:58 PM by vishu#13

    How to set up a clustered environment using IIS 7.5 and CF10 developer edition

    Upen@Roul Level 1

      I have followed following steps to create a clustered environment:

      • Created a new instance in CF admin with port no 8500 and the default CF installation runs on 80 port.
      • Created a cluster in CF admin and added two instances there.
      • Run CF code from both the instances by placing in "C:\ColdFusion10\CFusion2\wwwroot" and "C:\ColdFusion10\cfusion\wwwroot" and both are running fine.

       

      I just want to know how I'll set up the cluster in IIS?? If I'll shut down one instance then my application will run from other instance.

       

      Please guide me if I'm making any mistake or any further steps. Thanks in advance.

        • 1. Re: How to set up a clustered environment using IIS 7.5 and CF10 developer edition
          vishu#13 Level 3

          NOTE : All the Servers(Machines) should be under same Network (same subnet)

           

          Below is the example of two IP Addresses in the same Subnet

           

          10.40.166.xx (say 34)

          10.40.166.xx (say 121)

          Below are the files (Application.cfc and index.cfm) to test session replication.

           

          Steps to perform:

           

          Enable the J2EE session variables for both the ColdFusion servers under Memory Variables in ColdFusion Administrator

           

          Create a local instance (say test1) and create a remote instance (say test 2) on the remote machine.

           

          Go ahead and Register the remote instance (test2) in the ColdFusion Administrator . Create a cluster and add both the instances (test1 and test2) with Sticky session option checked if you want session replication.

           

          Now add the cluster tag information  in the server.xml (between </host> and </engine>) of the remote instance using the help  document of ColdFusion 10 mentioned below

           

          http://help.adobe.com/en_US/ColdFusion/10.0/Admin/WSc3ff6d0ea77859461172e0811cbf363c31-7ff a.html    

           

          NOTE : Make sure you change the multicast port in the server.xml of the remote instance with the Multicast port number when you create cluster in ColdFusion Admin console.

           

          Open the context.xml of the remote instance (test2) and make sure that the “Manager pathname” is comment out.

           

          Also, make sure that in the context.xml of local machine instance (test1),  “Manager pathname” is comment out.

           

          Stop and Start remote instance first (test2) using command prompt and then stop and start instance (test1) using command prompt.

           

          Place the files in the wwwroot of both the instances (test1 and test2) and in the website root. Create a cluster using the Web Server Configuration tool using the cluster as shown in the screenshot below

           

          Capture.JPG

           

           

           

          Access the index.cfm from your webserver (say IIS) like http://localhost:80/index.cfm.

           

          Then note down the session ID and instance name, refresh the page and observe that the Session ID is same for other instance or not. You can stop any one instance and refresh the same page then check the same instance is getting the same session ID or not.

           

           

          Application.cfc

           

          <cfcomponent>

              <cfset this.name = "SessionApp" />

              <cfset this.sessionmanagement = "true" />

              <cfset this.sessiontimeout = createTimeSpan(0,5,0,0) />

          </cfcomponent>

           

          index.cfm

           

          <cfset Session.svar="Adobe">

          <cfdump var="#Session#" />

           

           

          <cfscript>

          hostaddress = createObject("java", "java.net.InetAddress").localhost.getHostAddress();

          instancename = createobject("component","CFIDE.adminapi.runtime").getinstancename();

          </cfscript>

          IP Address: <cfdump var="#hostaddress#"><br />

          Instane Name : <cfdump var="#instancename#">

           

           

          HTH

           

          VJ

          • 2. Re: How to set up a clustered environment using IIS 7.5 and CF10 developer edition
            Upen@Roul Level 1

            Thanks a lot for the quick & good response. I have a small question:

             

            - As I have said in my question, I have created a second instance in my local machine with port no 8500. So, I can access the application using two URLS:

            http://localhost:8500/ClusterTesting/index.cfm and http://localhost/ClusterTesting/index.cfm . When I shut down instance-2(port no - 8500) then http://localhost:8500/ClusterTesting/index.cfm   URL doesn't works but http://localhost/ClusterTesting/index.cfm URL always works whenever any one instance is running.

             

             

            My question here is why http://localhost:8500/ClusterTesting/index.cfm URL doesn't works when I stopped the instance-2?? Do I have to make any special setting for that?

             

            Once again thanks for the previous answer.

            • 3. Re: How to set up a clustered environment using IIS 7.5 and CF10 developer edition
              vishu#13 Level 3

              Is J2EE session enabled?

              Is Manager path name comment out in context.xml?

               

              If still session replication not working for you then remove both the instances and create them once again and follow the steps that I have shared with you. You can discard the IIS part from the steps