r10 - 28 Feb 2010 - 15:54:47 - ApoorvaKulkarniYou are here: Wiki >  AppLogic27 Web > RefAppLampCluster
ALERT! AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30

LampCluster - Scalable LAMP Cluster

Latest Version: 1.3.10-1
LampCluster.PNG

Functional Overview

LampCluster - Scalable LAMP Cluster application is a Reference design for a basic scalable lamp infrastructure. It is designed for rapid deployment and easy management. This application allows direct ssh access to the apache and mysql server appliances, without the need to access the grid controller.

This application can be deployed on shared grids where it is not possible to give the application manger access to the AppLogic Interface.


Boundary

Properties

Property Name Type Description
user String This is the user account for all services on the app. it is set as the inital system user on each of the Apache and dbase appliances that can be used for ssh logins. It is also the user for the http authentication for the web interface on the NAS and MON appliances. This property is mandatory.
user_pw String This is the default password set for the user property. This property is mandatory.
root_pw IP This is the initial root password for the Apache and dbase appliances. This property is mandatory.
web_ip IP This is the IP assigned to the input gateway. This property is mandatory.
net_ip IP This is the IP assigned to the output gateway. This property is mandatory.
netmask IP This is the netmask for the IP network. This property is mandatory.
gateway IP This is the gateway for the IP network. This property is mandatory.
dns1 IP First nameserver assigned to the output gateway. This property is mandatory.
dns2 IP Secondary nameserver assigned to the output gateway.
srv2_standby Int Specifies whether the second WEB server is in standby mode. If non-zero, the second WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode).
srv3_standby Int Specifies whether the third WEB server is in standby mode. If non-zero, the third WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode).
srv4_standby Int Specifies whether the fourth WEB server is in standby mode. If non-zero, the fourth WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode).
mon_standby Int Determines whether application monitoring is disabled upon application start for the application. If non-zero, monitoring is disabled, otherwise monitoring is enabled. The monitoring can be enabled at runtime by manually starting the mon appliance. Default: 1 (monitoring is disabled).

Resources

Resource Minimum Maximum Default
CPU 0.9 128 2.45
Memory 1.187 GB 150.125 GB 3.75 GB
Bandwidth 11 Mbps 20.5 Gbps 1.45 Gbps

User Volumes

The application itself uses several volumes, described below. They are part of the application and are already configured into the appliance instances. There are no volumes that need to be configured on the application boundary.

Operation

Implementation details

To access these appliances point your ssh client or your browser to web_ip and the desired port.

Port Description
2221 ssh port for srv1
2222 ssh port for srv2
2223 ssh port for srv3
2224 ssh port for srv4
2225 ssh port for dbase
2226 http port for the MON web interface
2227 http port for the NAS web interface

Each Apache (denoted as srv1 through srv4) and the MYSQL (denoted as dbase) is a basic install of CentOS-5.4. It includes a basic build environment with GCC. the following packages have been installed using yum in their default configurations:

mysql, php, php-mysql, php-pear, httpd, php-GD, ImageMagic, ImageMagic-perl

Any of the other CentOS packages can be installed by the end user, simply by running yum -y install <package> while running as root user.

On first boot the initial user is created and the system places the root password in a file. (/home/<user>/su.txt). any of these instances can be reset to the default properties by deleting /appliance/passwd.stamp from the appliance and restarting the application.

The Apache appliances can connect to the database with the hostname "db" (e.g. "mysql -h db") the default database has sufficient permissions for the root user of any of the Apache appliances.

Initial application setup

Use the following steps to get your own LampCluster application up and running on an AppLogic grid. This example creates a LampCluster application called mylampcluster.

  • Provision the LampCluster application using the command below. All properties should be set to their appropriate values (IPs, DNS servers, etc). All 4 web servers are enabled in order to accommodate for possible heavy traffic loads. Also, the sizes of the fs and mysql volumes are increased to 250MB.
    • app provision LampCluster mylampcluster user=usr1 user_pw=userpw root_pw=rootpw web_ip=1.2.3.4 net_ip=1.2.3.5 netmask=255.255.255.0  gateway=1.2.3.1 dns1=1.2.3.6 dns2=1.2.3.1 data.size=250MB dbase.size=250MB
  • AppLogic will provision the mylampcluser application and start it on the grid. Wait for the application to start; this may take serveral minutes.
  • Now you can access your application using a browser. Open up a browser and point it to the configured web_ip and you will see a test web page from the Apache web server. If you do not see a test page, make sure your IP addresses are configured correctly and restart the application if needed.
  • You now have a running LampCluster application on your grid. All that is left to do is to install your specific application onto the application volumes and your application will be ready to go.

Application Architecture

Application Volumes

The LAMP application has the following volumes:

Volume Description
cert holds the ssl cert for the INSSL gateway
data NAS volume and needs to be sized on provision. This is the primary storage for the app
dase database volume and needs to be sized on provision. This is the MYSQL database storage
mon mon volume and needs to be sized on provision. This is the storage for the monitor appliance

Notes and Links

Open source and 3rd party software used inside of the appliances

The following open source 3rd party software is installed or updated in addition to the software found on the LINUX5 appliance base class.

Database Appliance (main.dbase)

Software Version Modified License Notes
mysql 5.0.77-4.el5_4.1 No GPLv2 N/A
mysql-server 5.0.77-4.el5_4.1 No GPLv2 N/A
perl-DBD-MySQL 3.0007-2.el5 No Artistic/GPLv2 N/A

Web Server Appliances (main.srv1, main.srv2, main.srv3, main.srv4)

Software Version Modified License Notes
alsa-lib 1.0.17-1.el5 No LGPLv2.1 N/A
apr 1.2.7-11.el5_3.1 No Apache License v2.0 N/A
apr-util 1.2.7-7.el5_3.2 No Apache License v2.0 N/A
audiofile 0.2.6-5 No LGPLv2.0 N/A
avahi-glib 0.6.16-6.el5 No LGPLv2.0 N/A
bind-libs 9.3.6-4.P1.el5_4.2 No ISC N/A
bind-utils 9.3.6-4.P1.el5_4.2 No ISC N/A
distcache 1.4.5-14.1 No LGPLv2.1 N/A
esound 0.2.36-3 No GPLv2 N/A
GConf2 2.14.0-9.el5 No LGPLv2.0 N/A
ghostscript 8.15.2-9.11.el5 No GPLv2 N/A
ghostscript-fonts 5.50-13.1.1 No GPLv2 N/A
gmp 4.1.4-10.el5 No LGPLv2.1 N/A
gnome-keyring 0.6.0-1.fc6 No GPLv2 N/A
gnome-mime-data 2.4.2-3.1 No GPLv2 N/A
gnome-mount 0.5-3.el5 No GPLv2 N/A
gnome-vfs2 2.16.2-4.el5 No LGPLv2.0 N/A
httpd 2.2.3-31.el5 No Apache License v2.0 N/A
ImageMagick 6.2.8.0-4.el5_1.1 No ImageMagick N/A
ImageMagick-perl 6.2.8.0-4.el5_1.1 No ImageMagick N/A
libbonobo 2.16.0-1.fc6 No LGPLv2.1 N/A
libbonoboui 2.16.0-1.fc6 No LGPLv2.1 N/A
libc-client 2004g-2.2.1 No FreeFork N/A
libcroco 0.6.1-2.1 No LGPLv2.0 N/A
libglade2 2.6.0-2 No LGPLv2.0 N/A
libgnome 2.16.0-6.el5 No LGPLv2.0 N/A
libgnomecanvas 2.14.0-4.1 No LGPLv2.0 N/A
libgnomeui 2.16.0-5.el5 No LGPLv2.0 N/A
libgsf 1.14.1-6.1 No LGPLv2.1 N/A
libnotify 0.4.2-6.el5 No LGPLv2.1 N/A
librsvg2 2.16.1-1.el5 No LGPLv2.0 N/A
libutempter 1.1.4-4.el5 No LGPLv2.1 N/A
libwmf 0.2.8.4-10.2 No GPLv2 N/A
libwnck 2.16.0-4.fc6 No LGPLv2.0 N/A
libXres 1.0.1-3.1 No MIT N/A
mod_auth_mysql 3.0.0-3.2.el5_3 No Apache Group N/A
mod_perl 2.0.4-6.el5 No Apache License v2.0 N/A
mod_rpaf 0.5 Yes Apache Group N/A
mod_ssl 2.2.3-31.el5.centos.2 No Apache License v2.0 N/A
mysql 5.0.77-4.el5_4.1 No GPLv2 N/A
notification-daemon 0.3.5-9.el5 No GPLv2 N/A
perl-BSD-Resource 1.28-1.fc6.1 No Artistic N/A
perl-DBD-MySQL 3.0007-2.el5 No Artistic N/A
perl-GD 2.35-1.el5.rf No Artistic N/A
perl-Mailtools 1.77-1.el5.centos No Artistic N/A
perl-TimeDate 1.16-5.el5 No Artistic N/A
php 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-cli 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-common 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-devel 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-gd 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-imap 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-mysql 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-pdo 5.1.6-24.el5_4.5 No PHP v3.01 N/A
php-pear 1.4.9-6.el5 No PHP v3.0 N/A
php-pgsql 5.1.6-24.el5_4.5 No PHP v3.01 N/A
startup-notification 0.8-4.1 No LGPLv2.0 N/A
urw-fonts 2.3-6.1.1 No GPLv2 N/A

To see the full list of open source packages used in this appliance, please see its implementation design.

Related Documents

Questions and Comments

IDEA! To post questions and/or comments for this application, visit our forum.


-- JessieSmart - 16 May 2007

 
Copyright © CA 2005-2011. All Rights Reserved.
%