0

I have configured a teiid cluster with a master and slave node where master and slave resides in two different hosts. so far I have used IP addresses of the hosts for 'management IP', 'public IP', 'unsecure IP' and in the slave host controller to resolve the master from the slave. This is working fine. But I need to use load balancers infront of my hosts to allow them autoscale. So I have configured a load balancer infront of each host and mapped load balancer 8080, 9990,9999 ports to my hosts port so that cluster can communicate using load balancer URLs. Then I go ahead and gave my load balancer URLs in the 'management IP', 'public IP', 'unsecure IP' and in the slave host controller to resolve the master from the slave. But slave is unable to connect to master using the master load balancer URL. It logs the following msgs on the console.

WARN  [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0001: Could not connect to remote domain controller remote://internal-***********************************.us-east-1.elb.amazonaws.com:9999 -- java.net.ConnectException: WFLYPRT0023: Could not connect to remote://internal--***********************************.us-east-1.elb.amazonaws.com:9999. The connection timed out

my slave configuration looks like following

<domain-controller>
    <!-- Alternative remote domain controller configuration with a host and port -->
    <remote protocol="remote" host="internal-**************master elb*****************.us-east-1.elb.amazonaws.com" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm" />
</domain-controller>
<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:internal-*****************slave elb*************.us-east-1.elb.amazonaws.com}" />
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:internal-********************slave elb************.us-east-1.elb.amazonaws.com}" />
    </interface>
    <interface name="unsecured">
        <inet-address value="internal-*********************slave elb**********.us-east-1.elb.amazonaws.com" />
    </interface>
</interfaces>

I can successfully telnet to load balancer ports using load balancer URLs. so they are configured properly. Any ideas on how to use load balancer URLs for clustering in teiid.

  • I think you should not use load balancing for configure master and slaves, these specific nodes in if a master goes down a new master is elected and slave goes or comes back they are made sure they are in sync. Using load balancer here seems counter intuitive to me – Ramesh Reddy Jan 13 '18 at 03:55

1 Answers1

0

But slave is unable to connect to master using the master load balancer URL

Did you also try using a direct hostname/port?

Any ideas on how to use load balancer URLs for clustering in teiid.

There isn't anything specific to Teiid coming into the picture yet. When you did your telnet test was it from the slave host?

Steven Hawkins
  • 538
  • 1
  • 4
  • 7
  • I was able to use load balancer URLs successfully and form the teiid cluster. The problem was with the protocol I used with the port mappings. I have used HTTP protocol. Once I changed that to TCP protocol the issue resolved – Sanjewa Ranasinghe Jan 17 '18 at 06:41