I have been attempting to setup load balancing for my vod application but thus far have had near nil success.
I am attempting to set things up using a total of 3 dedicated servers.
ServerA = Load Balancer
Server1 = Load Balanced Client 1
Server2 = Load Balanced Client 2
Wowza version: 4.1.2 (all servers)
Load Balancer add-on version: 4.0 Build 14116 (all servers)
ServerA OS: Ubuntu 12.04.5 LTS x86_64
Server1|2 OS: Debian Wheezy x86_64
I have gone through the documentation included in both the README.html and pdf included in the LoadBalancer4.0 zip.
So far, I have been able to accomplish the following:
http://[ServerA-IP-ADDRESS]:1935/loadbalancerInfo -- lists both Clients.
What doesn’t work:
http://[ServerA-IP-ADDRESS]:1935/loadbalancer -- shows "Wowza Streaming Engine 4 Monthly Edition 4.1.2 build13947"
Attempting to play a combination of files (see below for urls I have tried) via different protocols, none of them play.
non working smil url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 2: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 3: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/sample.smil/jwplayer.smil?scheme=smil
non working smil url 3: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/smil:sample.smil/jwplayer.smil?scheme=smil
Working direct example url: http://[Server1|2-IP-ADDRESS]:1935/vod/_definst_/subfolder/smil:sample.smil/jwplayer.smil
NOTE: The sample.smil file exists on the server and is not auto generated or anything. We create them during the encoding process. jwplayer.smil does not exist on the server and is generated by wowza.
ServerA error log for smil attempt:
WARN server comment 2015-03-30 02:17:19 - - - - - 82.546 - - - - - - - _definst_/subfolder/sample.smil open: java.io.FileNotFoundException: /usr/local/WowzaStreamingEngine/content/_definst_/subfolder/sample.smil (No such file or directory)
There are no log entires on either Server1 or Server2 for this attempt
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/_definst_/subfolder/smil:sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/sample.smil?scheme=m3u8
non working m3u8 url 1: http://[ServerA-IP-ADDRESS]:1935/redirect/vod/subfolder/smil:sample.smil?scheme=m3u8
working direct example url: http://[Server1|2-IP-ADDRESS]:1935/vod/_definst_/subfolder/smil:sample.smil/playlist.m3u8
ServerA error log for m3u8:
WARN server comment 2015-03-30 02:45:28 - - - - - 62.793 - - - - - - - - HTTPStreamerAdapterCupertinoStreamer.onPlaylist: Application context not loaded [redirect/vod/_definst_/subfolder/sample.smil/playlist.m3u8?scheme=m3u8]: redirect/vod
ERROR server comment 2015-03-30 02:45:28 - - - - - 62.795 - - - - - - - - HTTPStreamerAdapterCupertinoStreamer.service : java.lang.NullPointerException|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.onPlaylist(HTTPStreamerAdapterCupertinoStreamer.java:2189)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.serviceMsg(HTTPStreamerAdapterCupertinoStreamer.java:477)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.service(HTTPStreamerAdapterCupertinoStreamer.java:432)|at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:636)|at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:375)|
Server1 error log for m3u8:
ERROR server comment 2015-03-30 02:44:24 - - - - - 887.322 - - - - - - - - LB XMLParser: xmlParse() Error accessing 'http://[ServerA-IP-ADDRESS]:1935/loadbalancerInterface?command=AAAApU3w7E6F1Ggfvg4KNW6ly1MnGeJIvgQNUHVteAOd1Ffvmcyogi7tnZ9vswhYK6j2j5nMqIIu%250A7Z2fh8E7uGdRwq9cBX24PjhzWzjRSa9tUwVPH8vFFJAz%252FEuZXZcCvrmA1ycZ4ki%252BBA1Qaf3pHCy7%250A7Owyf7gp9VWN7PV3nN%252BLJZkQjhsNLYKSnVqnu2YDAxwt4KxEYmDq9iM%252Bf0wEkcwd3SUY3C25Nyjo%250A2A%253D%253D': java.net.ConnectException: Connection refused|at java.net.PlainSocketImpl.socketConnect(Native Method)|at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)|at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)|at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)|at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)|
ERROR server comment 2015-03-30 02:44:24 - - - - - 887.323 - - - - - - - - LB XMLParser: xmlParse() Error accessing 'http://[ServerA-IP-ADDRESS]:1935/loadbalancerInterface?command=AAAAok3w7E6F1Ggf3GvlvNz%252BIwfv8hU6u82ZJ5r6gbWjfC6AsY7eh0aafoy%252BMsY78OyWybGO3odG%250Amn6MGh08x8Wv0Vgeu1hblj7kXITDEEbQwfMGLCniE%252F8RHEGrzoweY4W9Scv5Rs8fzhlwts7kqdcT%250A9f%252Bm8YsYV%252BfoFU7vE%252Fu0miQZGD%252Bbv%252FYpnkDruqk%252B%252Bgi0r%252F8c4IJGOZt4UMGawX6US31h0cfOIELa%250Agg%253D%253D': java.net.ConnectException: Connection refused|at java.net.PlainSocketImpl.socketConnect(Native Method)|at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)|at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)|at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)|at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)|
I have also tried to just link to an mp4 file directly to no avail.
As stated previously, I have read both the readme.html and documention pdf from top to bottom, 3 times over, and am still stuck getting this to work properly.
I guess my initial questions are:
Does the actual content I am attempting to stream have to exist on ServerA as well as on Server1 & Server2?
Does the load balancing add-on support smil files?
Does the add-on support using subfolders as shown in my working direct url examples?
Are there other things I need to do that aren’t covered in either form of documentation? This page https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon mentions “ServerListenerLoadBalancerServer”, which isn’t located in the docs anywhere.
I’m not sure if posting my configs is necessary or not as they simply contain the default data when wowza is installed as well as the load balancer add-on data as per the documentation. I can post them upon request though.