3.11. Installing Storage Nodes Before Installing the Server
It is possible to create multiple storage nodes before installing a server, and then install the server with those pre-installed nodes. This is also useful if the storage database will be on a separate, dedicated machine.
This is an advanced configuration. If the storage node or nodes within the cluster are not properly configured, then the cluster may not properly function.
Deploying a node lists that node's host in the cluster configuration and any allowed host can gain access to the data in the storage cluster.
Restrict access to the
rhq-storage-auth.conffile so that the allowed hosts list cannot be altered to allow an attacker to gain access to the cluster and the stored data.
Every storage node must use the same client (CQL) and gossip ports.
Additionally, the hostname and IP address of every storage node system must be fully resolvable in DNS or must be configured on each system's
- Determine the node and cluster configuration information to use.
- Identify the hostname or IP address of each system which will host a node.
- Define the two ports which the cluster uses for communication (9142 and 7100 by default).
- Before installing any storage node, edit the storage properties file with all of the node and cluster information.
[jsmith@server ~]# vim serverRoot/jon-server-3.3.2.GA/bin/rhq-storage.propertiesFor example, this configures three nodes, set in the
rhq.storage.cql-port=9142 rhq.storage.gossip-port=7100 rhq.storage.seeds=192.168.0.1, 192.168.0.2, 192.168.0.3 start=false
- Install the storage node on each system, with its companion agent. This requires the IP address of the JBoss ON server, even though the server is not yet installed.ImportantDo not start the storage node or the agent at this point. Do not use the
--startoption with the installation script.
[jsmith@server ~]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl install --storage --agent-preference="rhq.agent.server.bind-address=192.168.0.2"NoteFor Windows users, see Section 3.5.9, “Components Managed as Windows Services” for specific requirements for using
- For each storage node, edit its local
rhq-storage-auth.conffile. This lists the hostnames or IP addresses for all of the storage nodes in the cluster, one per line.
[jsmith@server ~]# vim serverRoot/jon-server-3.3.2.GA/rhq-storage/conf/rhq-storage-auth.conf 192.168.0.1 192.168.0.2 192.168.0.3After the server is configured, the local agent will update the
rhq-storage-auth.conffile with node hostnames or IP addresses as nodes are deployed and removed from the cluster.
- Start each node.
[jsmith@server ~]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl start --storage
- Before installing the server, edit the
rhq-server.propertiesfile to include the connection information for the storage nodes.Add each storage node in a comma-separated listed to the
rhq.storage.nodesparameter. Then, add the client and gossip port values.
[jsmith@server ~]# vim serverRoot/jon-server-3.3.2.GA/bin/rhq-server.properties rhq.storage.nodes=192.168.0.1,192.168.0.2,192.168.0.3 rhq.storage.cql-port=9142 rhq.storage.gossip-port=7100
- Specify the database settings in the
rhq-server.propertiesfile.The following database properties must be set to have the storage node properly register with the JBoss ON database.
These are the same settings used when installing an RHQ Server. See Section 3.6.2, “Attributes in the Properties File” for a description of these parameters.
- Install the server and an agent. Specifying the
--agentoptions only installs those two components; the storage database is excluded.
[jsmith@server ~]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl install --server --agent --startIf you are upgrading an existing JBoss ON agent, then run the upgrade script with the
--use-remote-storage-nodeoption, to load the storage database information from the properties file rather than installing a storage node.
[jsmith@server]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl upgrade --use-remote-storage-node=true