| # @@@ START COPYRIGHT @@@ |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| # @@@ END COPYRIGHT @@@ |
| # |
| # A sample sqconfig file |
| # |
| ################################################################ |
| # |
| # The following section is used to specify the: |
| # list of logical nodes and the physical nodes where they are hosted, |
| # the processor cores and corresponding logical processors, and |
| # the roles of each logica node. |
| # |
| # A logical node can have the following SQ roles: |
| # - connection |
| # - aggregation |
| # - storage |
| # |
| # You must: |
| # - specify all the processor cores in a physical node |
| # - specify the roles for each logical node |
| # |
| # On a dev env, you can use '_virtualnodes <num nodes>' to |
| # specify the number of virtual nodes. |
| # |
| ################################################################ |
| |
| begin node |
| node-id=0;node-name=n7;cores=0-1;processors=2;roles=connection,aggregation,storage |
| node-id=1;node-name=n7;cores=2-3;processors=2;roles=connection,aggregation,storage |
| node-id=2;node-name=n6;cores=0-1;processors=2;roles=connection,aggregation,storage |
| node-id=3;node-name=n6;cores=2-3;processors=2;roles=connection,aggregation,storage |
| node-id=4;node-name=n5;cores=0-1;processors=2;roles=connection,aggregation,storage |
| node-id=5;node-name=n5;cores=2-3;processors=2;roles=connection,aggregation,storage |
| node-name=n4;cores=0-3;spares=0,1,2,3,4,5 |
| end node |
| |
| ################################################################ |
| # |
| # Format: '<role name> <list of node ids (space separated)> |
| # |
| # node id: an index into the nodes specified above |
| # (with the base as 0) |
| # |
| # A -1 as node_id means all the nodes in the cluster |
| # |
| # The following would be used for virtual nodes only. |
| # |
| ################################################################ |
| |
| begin role_node_map |
| storage -1 |
| end role_node_map |
| |
| ################################################################ |
| # |
| # storage_loc |
| # |
| # This is to specify the directory in which a volume's |
| # directory exists. |
| # |
| # This is used if the storage location is not specified |
| # explicitly for a particular TSE/ASE. |
| # |
| # You are not required to use this directive, but is very |
| # convenient when all the TSE's/ASE's are under the same |
| # location, say /database |
| # |
| ################################################################ |
| |
| storage_loc $TRAF_HOME/sql/database |
| storage_mir_loc $TRAF_HOME/sql/databasem |
| |
| # Extents are for data audit volumes only, not $TLOG |
| # Minimum is 1550 |
| begin at_extent_size |
| 1550 |
| end at_extent_size |
| |
| # Files per volume are for data audit volumes only, not $TLOG |
| # Minimum is 10 |
| begin at_files_per_volume |
| 10 |
| end at_files_per_volume |
| |
| # Percentage of audit allowed before TX is DOOMED |
| # Maximum is 40 |
| begin tx_capacity_threshold |
| 40 |
| end tx_capacity_threshold |
| |
| # Number of unique Backout processes per TSE |
| # Maximum is 3 |
| begin backouts_per_tse |
| 1 |
| end backouts_per_tse |
| |
| ################################################################ |
| # |
| # The specification for the TM's ASE |
| # |
| ################################################################# |
| |
| begin tmase |
| $TLOG |
| end tmase |
| |
| ################################################################ |
| # |
| # To list all the TSE's ASE processes |
| # |
| # The specification is the same as for a TSE |
| # |
| # If the ASE volumes are under a different parent directory, |
| # you could specify the storage_loc again (before 'begin ase') |
| # |
| ################################################################# |
| |
| begin ase |
| $AUDIT1 |
| end ase |
| |
| ################################################################ |
| # |
| # storage_loc |
| # |
| # This is to specify the directory in which a volume's |
| # directory exists. |
| # |
| # This is used if the storage location is not specified |
| # explicitly for a particular TSE/ASE. |
| # |
| # You are not required to use this directive, but is very |
| # convenient when all the TSE's/ASE's are under the same |
| # location, say /database |
| # |
| ################################################################ |
| |
| storage_loc $TRAF_HOME/sql/database |
| |
| ################################################################ |
| # |
| # begin tse/end tse |
| # |
| # volumeName [node id] [storage location] |
| # |
| # node id: if the nodeid is not provided then it distributes the |
| # volumes on the storage nodes specified in the |
| # role_node_map using a round robin scheme. |
| # |
| # storage location: |
| # if it is not provided then it uses the value provided |
| # by the 'storage_loc' directive and appends the name |
| # of the volume. |
| # |
| # To specify the storage location, you have to specify |
| # the node_id (can use -1 to specify that the next node |
| # in the round robin scheme be used). |
| # |
| # Important: The directories referred by the volumes below |
| # should exist when starting the SQ environment |
| # |
| # A file sq_tse.create is generated that contains |
| # commands to create the storage engine directories. |
| # |
| # A file sq_tse.delete is generated that contains |
| # commands to delete the storage engine directories. |
| # |
| ################################################################ |
| |
| begin tse |
| $SYSTEM |
| $DATA |
| $DATA1 |
| $DATA2 |
| $DATA3 |
| $DATA4 |
| end tse |
| |
| # |
| # Note: You could use '%' as the first character on the line followed by |
| # any SQ shell command. All the text would be passed verbatim. |
| # |
| #################################################################### |
| # |
| # Section to configure Floating IP (Optional). |
| # |
| # This section needs to configured to ensure HPDCS(HP Database Connectivity Services) |
| # and BDR(Bulk Data Replicator) services are available after the failure of the node |
| # in which these services run. |
| # |
| # Usually, HPDCS is available via $MXOAS process. |
| # BDR Services is always available via $ZBDR process. |
| # |
| # floating_ip_node_id : Preferably, a Logical Node id with roles set to connection only. |
| # If no such node available, any logical node with roles set to connection |
| # along with other roles. |
| # |
| # floating_ip_failover_node_id : |
| # Preferably, a Logical Node id different than the floating_ip_node_id |
| # above with roles set to connection only. |
| # If no such node available, any logical node with roles set to connection |
| # along with other roles. |
| # |
| # process=<process_name>;interface=<interface>;external-ip=<ip_address> |
| # process=<process_name>;interface=<interface>;interna-ip=<ip_address> |
| # |
| # process Name of the HPDCS process ($MXOAS) that is allowed to register the |
| # floating ip address to the node. |
| # |
| # external-ip Floating (external) IP address used by the clients to avail HPDCS |
| # and BDR services. |
| # |
| # internal-ip Floating (Internal) IP address used by the clients hosted on the |
| # same SQ cluster to avail HPDCS. |
| # |
| # interface Ethernet interfaces to be used to register the floating ip addresses |
| # |
| # floating_ip section should be before the bdr section in this file |
| # |
| # The following are sample values - please update as appropriate |
| # |
| ######################################################################################### |
| |
| begin floating_ip |
| process=$MXOAS;interface=eth1;external-ip=xx.xxx.xxx.xx |
| process=$MXOAS;interface=eth0;internal-ip=xxx.xxx.xxx.xxx |
| floating_ip_node_id 1 |
| floating_ip_failover_node_id 0 |
| end floating_ip |
| |
| |
| ################################################################ |
| # |
| # Section to configure BDR (Bulk Data Replicator). |
| # |
| # bdr_cluster_name : SQ cluster name (Maximum of 24 characters) - Need not be the DNS name |
| # |
| # bdr_node_id : Logical node id of the SQ cluster with roles set to connection only |
| # If no such node available, any logical node id with roles set to connection |
| # and other roles. If floating_ip_node_id is configured, |
| # then this should be "floating" |
| # |
| # bdr_ip_address : Externally accessible IP Address of the above node where BDR service |
| # process $ZBDR would run. If floating ip address is configured |
| # then this should be "floating" |
| # |
| # bdr_port_number : Listening port number for the $ZBDR |
| # process. Should reserve m+1 port numbers, |
| # where m is the number of sql nodes. Default is 17500 |
| # |
| # The following are sample values - please update as appropriate |
| # |
| ################################################################ |
| begin bdr |
| bdr_cluster_name seaquest |
| bdr_ip_address 172.100.100.221 |
| bdr_node_id 0 |
| bdr_port_number 17500 |
| end bdr |
| |