How to set up a multi-BBB server environment?

1,974 views
Skip to first unread message

Lance Lin

unread,
Mar 1, 2012, 2:17:13 AM3/1/12
to bigbluebu...@googlegroups.com
Hi all,
Has anyone set up a multi-BBB server environment?
We want to set up several BBB servers and use a signal Nginx server to do the load balancing work.
I do not know if it is possible to achieve this. Has anyone done this before? Or any ideas?
Thanks in advance.

HostBBB.com

unread,
Mar 1, 2012, 7:04:01 AM3/1/12
to bigbluebu...@googlegroups.com
Lance,
 
You can easily distribute BBB across multiple servers,  putting Audio, Deskshare, and Video on seperate servers, and having a common api controller to manage meetings.
 
This is done by specifying different servers in the config.xml on meeting create.
 
This allows for running lots of concurrent small meetings,  but still does not handle large webinar requirements.    Getting a single large meeting to run across multiple servers would require a lot of code changes.
 
Some of the commercial support providers at http://www.bigbluebutton.org/commercial-support/ can provide these solutions if you have a project in mind.
 
Regards,
Stephen

Tihomir Vlahovski

unread,
Mar 1, 2012, 9:30:09 AM3/1/12
to bigbluebu...@googlegroups.com
Well,
This is good approach if you want to load balance the load over different hosts one BBB service.
I am more interested in having one entry point (let's call it virtual BBB gate) that will route the users to the hosts that will serve the meeting. This will allow me to  manage one host or hosts in the environment while the rest are serving/hosting meetings. Of course this is not possible at this point, but if where is possible workaround (easy to implement, support and manage) I would like to discuss it.

Cheers,
-Tiho

Best regards,
Tihomir Vlahovski
--------------------------------------------------------------------------
This transmission is intended only for use by the intended recipient(s). If you are not an intended recipient you should not read, disclose, copy, circulate or in any other way use the information contained in this transmission. The information in this transmission may be confidential and/or privileged. If you received this transmission in an error, please notify the sender immediately and delete this transmission including any attachments.



--
You received this message because you are subscribed to the Google Groups "bigbluebutton-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-users/-/n4W8gGT3j2MJ.
To post to this group, send email to bigbluebu...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-users?hl=en.

HostBBB.com

unread,
Mar 1, 2012, 8:12:46 PM3/1/12
to bigbluebu...@googlegroups.com
We deployed a custom api proxy server in .71 that was written in railo,  this redirected all api calls across n number of un modified bbb servers. The server handled multiple salts, and basically redirected the create and join api calls to one of N servers,  with a redirect of the client to the actual BBB server.
 
But for .8 we are using a modified api controller in an attempt to also add custom client directorys so multiple salts/clients can run on single set of BBB hardware.  
 
Whether you run the meeting all on one server, or distributed across multiple is just handled in the config file generation.
 
Stephen
To post to this group, send email to bigbluebutton-users@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-users+unsub...@googlegroups.com.

Lance Lin

unread,
Mar 1, 2012, 8:48:02 PM3/1/12
to bigbluebu...@googlegroups.com
We are using .71. Stephen's solution is really what we plan to do.
Our plan A is to check if BBB can provide such distribution solution so we can use it directly without coding around. Plan B is to develop a distributing module to assign creating/joining meeting calls among different servers. Now it seems our choice should be Plan B.
Thank you for all your replies.

在 2012年3月2日星期五UTC+8上午9时12分46秒,HostBBB.com写道:

skel84

unread,
Mar 13, 2012, 5:18:25 AM3/13/12
to bigbluebu...@googlegroups.com
Hi everyone,

i'm also interested in setting up BBB in a multiple server enviroment. I'd like to have the components on different machines.
I understand that i have to specify the servers in the config.xml file in the bbb-client (i guess it's the "front end" nginx machine)
Here are a few more questions:

  • What else should i specify on each component?
  • Can i load balance each component?
  • How can i start a single component on a machine?
If you don't know wether it's possible or not, can you tell me where i can find the documentation?

Thanks in advance

Fred Dixon

unread,
Mar 13, 2012, 7:46:29 AM3/13/12
to bigbluebu...@googlegroups.com
Hi skel84,

BigBlueButton is not a simple system.  We (the core developers) develop and test BigBlueButton for a single server.  We don't run the BigBlueButton components on multiple servers as it's enough effort for us to ensure everything works on a single server.

There are a number of servers required for BigBlueButton
  - tomcat6 server (runs BigBlueButton API)
  - FreeSWITCH (voice conference)
  - redis (key value store for recording meetings)
  - red5 (real-time server)
  - OpenOffice (document conversion)
  - desktop sharing server (written in scala)
  - nginx (serves up web pages)


It is possible to break up these servers onto different machines, but you would need to have a very good understanding of how each of the servers are interconnected.   With 0.71a, there was less coupling between components, but with the introduction of record and playback in 0.8, many of the above servers have logic that expect each to be run on the same server.  You are going to need to give yourself time to setup a development environment and really understand how BigBlueButton works. 

The biggest bottleneck you will experience is voice.  See


For configuration of the client, see


If you are looking for commercial solutions to help you scale BigBlueButton, you can also contact the companies that provide commercial support. 



Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton



To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-users/-/f4mGNKx8AdQJ.

To post to this group, send email to bigbluebu...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-u...@googlegroups.com.

skel84

unread,
Mar 13, 2012, 10:58:47 AM3/13/12
to bigbluebu...@googlegroups.com
Hi Fred,

thanks for the prompt reply. I can see BBB is not a simple system and i'm aware it'll take time to have it running the way i'd like to :)., but i'd like to give it a try and i need a starting point.
The links you provided are actually very helpful.
I also found a page where all the configuration files of the servers are provided, i think i'll start from there.
Just one more thing, how can i start only a given module on a machine? is it possible so far within bbb or should i think of something else?

Thanks



Il giorno martedì 13 marzo 2012 12:46:29 UTC+1, Fred Dixon ha scritto:
Hi skel84,

BigBlueButton is not a simple system.  We (the core developers) develop and test BigBlueButton for a single server.  We don't run the BigBlueButton components on multiple servers as it's enough effort for us to ensure everything works on a single server, 
To unsubscribe from this group, send email to bigbluebutton-users+unsubscribe...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/bigbluebutton-users?hl=en.

skel84

unread,
Mar 13, 2012, 11:12:05 AM3/13/12
to bigbluebu...@googlegroups.com
sorry, i forgot to ask a couple of things:

  • which servers have logic that require to run on the same server?
  • I  can't find any documentation to activemq and rediris on bbb, is there any?
thanks

HostBBB.com

unread,
Mar 14, 2012, 10:43:54 AM3/14/12
to bigbluebu...@googlegroups.com
skel84,

activemq is no longer is .8

the easiest wayto learn is to setup 2 complete BBB servers,  and then modify the config.xml to point to different RTMP streams to see.

from experience,  deskshare, whiteboard, video, and audio can all live independently on distributed servers with no coding changes, just a few config changes.    the users viewer window, presentation, and chat are tightly integrated and need to stay on 1 server.

regards,
Stephen

skel84

unread,
Mar 14, 2012, 2:13:46 PM3/14/12
to bigbluebu...@googlegroups.com
Hi Stephen,

i managed to have freeswitch on a separate machine and it's working fine.

Then i tried to separate nginx from tomcat, red5 and redis, on a third machine.

This is not working. Here's what i did (server3ip is the ip of the machine with tomcat,red5 and redis)

/etc/nginx/sites-enabled/bigbluebutton  ---->
....
      location ~ (/open/|/close/|/idle/|/send/) {
          proxy_pass         http://server3ip:5080;
...       
       location /deskshare {
           proxy_pass         http://server3ip:5080;
           proxy_redirect     default;
...

/etc/bigbluebutton/nginx/demo.nginx ----->
...
       location /demo {
           proxy_pass         http://server3ip:8080;
...

/var/www/bigbluebutton/client/conf/config.xml ----> changed all the ip addresses to server3ip


Then i started nginx on the nginx machine, tomcat and red5 on theire machine and freeswitch on the other machine, like in the pic above.
Then i log in (demo api 0.8beta-4), i see the connection bar but after a while i get connection error.

I noticed i can't telnet to 8080 port  (tomcat machine) from the nginx server, nor any other ports opened by java process (seems like they're listening on ipv6) .....
The ports are open on the firewall, and i can connect to other ports (22 i.e).

Here's a netstat output:

root@ip-10-226-114-109:/etc/tomcat6# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8100          0.0.0.0:*               LISTEN      4838/soffice.bin
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      671/redis-server
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      533/sshd
tcp        0      0 10.226.114.109:22       93.56.202.145:60689     ESTABLISHED 3316/sshd: ubuntu [
tcp        0      0 127.0.0.1:6379          127.0.0.1:44103         ESTABLISHED 671/redis-server
tcp        0      0 127.0.0.1:6379          127.0.0.1:44073         ESTABLISHED 671/redis-server
tcp        0      0 127.0.0.1:6379          127.0.0.1:44106         ESTABLISHED 671/redis-server
tcp        0      0 127.0.0.1:6379          127.0.0.1:43993         ESTABLISHED 671/redis-server
tcp6       0      0 :::5080                 :::*                    LISTEN      2384/java
tcp6       0      0 :::9123                 :::*                    LISTEN      2384/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      4081/java
tcp6       0      0 :::5070                 :::*                    LISTEN      2384/java
tcp6       0      0 :::1935                 :::*                    LISTEN      2384/java
tcp6       0      0 :::9999                 :::*                    LISTEN      2384/java
tcp6       0      0 :::8080                 :::*                    LISTEN      4081/java
tcp6       0      0 :::22                   :::*                    LISTEN      533/sshd
tcp6       0      0 127.0.0.1:43993         127.0.0.1:6379          ESTABLISHED 2384/java
tcp6       0      0 10.226.114.109:50300    10.48.157.51:8021       ESTABLISHED 2384/java
tcp6       0      0 127.0.0.1:44106         127.0.0.1:6379          ESTABLISHED 4081/java
tcp6       0      0 127.0.0.1:44103         127.0.0.1:6379          ESTABLISHED 2384/java
tcp6       0      0 127.0.0.1:44073         127.0.0.1:6379          ESTABLISHED 4081/java

I tought it might be a tunneling issue, and that i might have to go through nginx to reach the red5 and tomcat layer ...

Any clue?

Thanks

Waelb Lab4Free

unread,
Sep 7, 2018, 5:26:47 AM9/7/18
to bigbluebutton-users
Hi skel84,

Did you manage to install each component on a server?
If not for your first proposal, is it possible to load balance FreeSwitch and the other Server ?


Thank you,
Wael
skel84,

To post to this group, send email to bigbluebu...@googlegroups.com.

To unsubscribe from this group, send email to bigbluebutton-users+unsubscribe...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-users?hl=en.

--
You received this message because you are subscribed to the Google Groups "bigbluebutton-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-users/-/f4mGNKx8AdQJ.

To post to this group, send email to bigbluebu...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages