Clustering WSO2 DAS for Analytics
This section guides you on how to cluster the WSO2 Data Analytics Server (WSO2 DAS) with WSO2 IoT Server. The minimum high availability deployment scenario is usually sufficient to cluster DAS but it depends on your use case.
Configure the <IOTS_HOME>/conf/etc/device-analytics-config.xml file in both IoT Manager and IoT Worker nodes to configure device data publishing for Analytics cluster. Below sample configuration shows how to configure DAS cluster with 2 worker nodes (wss://10.0.10.20:9445,wss://10.0.10.21:9445) and 1 failover node (wss://10.0.10.30:9445). Please note that these configurations are internal configs and hence only needed to configure with private IPs.
<AnalyticsConfiguration> <Enabled>true</Enabled> <!-- Server URL of the remote DAS/BAM/CEP server used to collect statistics. Must be specified in protocol://hostname:port/ format. An event can also be published to multiple Receiver Groups each having 1 or more receivers. Receiver Groups are delimited by curly braces whereas receivers are delimited by commas. Ex - Multiple Receivers within a single group tcp://localhost:7612/,tcp://localhost:7613/,tcp://localhost:7614/ Ex - Multiple Receiver Groups with two receivers each {tcp://localhost:7612/,tcp://localhost:7613},{tcp://localhost:7712/,tcp://localhost:7713/} --> <ReceiverServerUrl>{tcp://10.0.10.20:7613|tcp://10.0.10.30:7613},{tcp://10.0.10.21:7613|tcp://10.0.10.30:7613}</ReceiverServerUrl> <!-- Server URL of the remote DAS/BAM/CEP server used to subscribe for statistics via secured web sockets. Must be specified in wss://hostname:port/ format. Analytics Publishers should defined per each receiver server url. Multiple AnalyticsPublisherUrl properties can be defined as Groups each having one or more publishers. Publisher groups are delimited by curly braces whereas publishers are delimited by commas. Ex - Multiple publishers within a single group wss://localhost:9445/,wss://localhost:9446/,wss://localhost:9447/ Ex - Multiple Publisher Groups with two publishers each {wss://localhost:9445/,wss://localhost:9446/},{wss://localhost:9447/,wss://localhost:9448/} --> <AnalyticsPublisherUrl>wss://10.0.10.20:9445,wss://10.0.10.21:9445,wss://10.0.10.30:9445</AnalyticsPublisherUrl> <AdminUsername>admin</AdminUsername> <AdminPassword>admin</AdminPassword> </AnalyticsConfiguration>
The following topics focus on the various deployment options available for clustering WSO2 DAS.