|
| Home > Apache Geronimo v2.2 > Documentation > Configuring and administering > Configuring and administering the Apache Geronimo Server > Clustering and farming > Plugin based Farming |
This farming system uses plugins directly and is thus decoupled from the deployment system. It enables the plugin based farming administration for different servers or machines. Farming information is stored in a database using jps. The data model allows a single administration server to manage:
When a node starts up, it broadcasts a service advertisement including an optional node name and a farm name. When the administration server detects this as new, it instructs the new node to install all the plugin lists associated with that farm. If the plugins are already installed, the system provides no further operation; otherwise the plugins are downloaded and installed from the plugin repository specified in the plugin list.
Farming administrative operations include:
These operations are available through the GShell cluster/deploy command and are discussed in details in the Add and remove plugins and plugin lists section.
Plugin based farming requires two separate sets of functionality:
The farming information is stored in the PluginFarmDatatabase database on the farm controller.
Make sure that the version of the plugins comply with your server.
The following steps demonstrates the plugin based farming using nodes that all share the same geronimo installation. The admin server acts as the farm controller, application deployment server, and plugin repository. The setup steps for plugin based farming includes:
1. Start the controller server and install the following plugins in the server repository. For example, for a version 2.2 server, the plugins are stored in the http://geronimo/apache/org/plugins/geronimo-2.2 repository:
ClusterName=farm name
NodeName=name
ServerHostname=Node_IP
DefaultPluginRepository=share install plugin repository
where
Use the following steps to set up every node server in the farm:
1. Start the node server and install the org.apache.geronimo.configs/plugin-farm-member//car plugin in the server repository. For example, for a version 2.2 server, the plugin is stored in the http://geronimo/apache/org/plugins/geronimo-2.2 repository.
2. Open the config-substitutions.properties file and set the following attributes:
ClusterName=farm name
ServerHostname=Node_IP
3. Add the share install plugin repository to the plugin-repositories.properties file under <WASCE_HOME>/var/config/ for each farm node, including access username and password. For example:
http\://9.186.10.157\:8080/plugin/maven-repo/=system\=manager
where
4. Restart the server.
Install a plugin to the farm controller with command. For example, use the Gshell command as follows to install a HelloWorld.car plugin:
deploy/install-plugin D:/HelloWorld.car -s 9.186.10.157
Use the cluster/deploy Gshell command to verify the farm that you set up. For example, add and remove plugins and plugin lists with the following commands:
Use this command to add a plugin list p1 to farm cluster1:
cluster/deploy add -c cluster1 -l p1 -s 9.186.10.157
Use this command to add the org.apache.geronimo.samples/HelloWorld/1.0/car plugin to plugin list p1:
cluster/deploy add -l p1 -a org.apache.geronimo.samples/HelloWorld/1.0/car -s 9.186.10.157
Use this command to add the org.apache.geronimo.samples/HelloWorld/1.0/car plugin to plugin list p1 and add p1 to farm cluster1:
cluster/deploy add -c cluster1 -l p1 -a org.apache.geronimo.samples/HelloWorld/1.0/car -s 9.186.10.157
Use this command to remove a plugin list p1 from farm cluster1:
cluster/deploy remove -c cluster1 -l p1
Use this command to remove the org.apache.geronimo.samples/HelloWorld/1.0/car plugin from plugin list p1:
cluster/deploy remove -l p1 -a org.apache.geronimo.samples/HelloWorld/1.0/car -s 9.186.10.157
Access the Plugin portlet form the Administration console to verify the installation result for all farm members.
The following features could be added in the future:
|
|
Privacy Policy - Copyright © 2003-2011, The Apache Software Foundation, Licensed under ASL 2.0. |