Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

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.
Warning
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.
Warning
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.conf file so that the allowed hosts list cannot be altered to allow an attacker to gain access to the cluster and the stored data.
Important
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 hosts file.
  1. 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).
  2. 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.properties
    For example, this configures three nodes, set in the rhq.storage.seeds parameter.
    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
  3. 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.
    Important
    Do not start the storage node or the agent at this point. Do not use the --start option 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"
    Note
    For Windows users, see Section 3.5.9, “Components Managed as Windows Services” for specific requirements for using --agent-preference.
  4. For each storage node, edit its local rhq-storage-auth.conf file. 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.3
    After the server is configured, the local agent will update the rhq-storage-auth.conf file with node hostnames or IP addresses as nodes are deployed and removed from the cluster.
  5. Start each node.
    [jsmith@server ~]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl start --storage
  6. Before installing the server, edit the rhq-server.properties file to include the connection information for the storage nodes.
    Add each storage node in a comma-separated listed to the rhq.storage.nodes parameter. 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
  7. Specify the database settings in the rhq-server.properties file.
    The following database properties must be set to have the storage node properly register with the JBoss ON database.
    • rhq.server.database.connection-url
    • rhq.server.database.user-name
    • rhq.server.database.password
    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.
  8. Install the server and an agent. Specifying the --server and --agent options only installs those two components; the storage database is excluded.
    [jsmith@server ~]# serverRoot/jon-server-3.3.2.GA/bin/rhqctl install --server --agent --start
    If you are upgrading an existing JBoss ON agent, then run the upgrade script with the --use-remote-storage-node option, 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