This documentation is for WSO2 Storage Server 1.0.3. View documentation for the latest release.
Changing the Default Cassandra Configuration - Storage Server 1.0.3 - WSO2 Documentation
||
Skip to end of metadata
Go to start of metadata

WSO2 Storage Server comes with a default Cassandra configuration, which you can override by changing the following configuration files:

Pointing to a remote Cassandra cluster

Change the <SS_HOME>/ repository/conf/etc cassandra-component.xml file. The default configuration is as follows:

<Cassandra>
    <Cluster>
        <Name>SSCluster</Name>
        <DefaultPort>9160</DefaultPort>
        <Nodes>localhost:9160</Nodes>
        <AutoDiscovery disable="true" delay="1000"/>
    </Cluster>
</Cassandra>

Described below are its XML elements using which you can change the default configuration:

Property NameDescriptionTypeDefault ValueFixed ValuesMandatory/Optional
<Name/>
Hector reference name for the Cassandra cluster connection   Mandatory
<DefaultPort>    Default Cassandra Thrift port  9160 Mandatory
<Nodes>Comma separated Cassandra Cluster node list   Mandatory
<AutoDiscovery disable="" delay=""/>
Enable Hector Auto node discovery service  disable - True/FalseMandatory

Changing default IPs and ports

Storage Server comes with configurations suited for a standalone Cassandra deployment , but if you set up a cluster, you must change listening and ports accordingly in <SS_HOME>/ repository/conf/etc/cassandra.yaml file.

  1. Cassandra listening IP is used for inter-node communications in a clustered environment: listen_address: <Server listening IP or domain name>  
  2. Storage port is used to exchange the data and the command between the cluster nodes: storage_port: 7000  
  3. If encrypted communication is enabled, the cluster uses the port defined in ssl_storage_port for cluster-related commands and data communication: ssl_storage_port: 7001    
  4. RPC listen address is used for the thrift-based communication between server and the client:  

    rpc_address: <IP or the domain name>
    Thrift RPC related communication port
     
    rpc_port: 9160

For a full list of explanations of each configuration directive, refer to the file's code comments. Additionally, see http://wiki.apache.org/cassandra/StorageConfiguration .

Authenticating the management console with the backend

In a typical Storage Server clustered environment, the management console UI is deployed in a separate box outside the Cassandra backend. In such a deployment, the management console has to be authenticated with the backend using <SS_HOME>/ repository/conf/etc /c assandra-auth.xml file.

The default configuration is as follows:

<Cassandra>
    <EPR>local://services/CassandraSharedKeyPublisher</EPR>
    <!-- HTTP transport -->
    <!-- <EPR>https://localhost:9443/services/CassandraSharedKeyPublisher</EPR -->
    <User>admin</User>
    <Password>admin</Password>
</Cassandra>

Described below are its XML elements using which you can change the default configuration:

 

Property NameDescriptionTypeDefault ValueFixed ValuesMandatory/Optional
<EPR/>
Local transport or HTTP transport     
<user/>    Default Cassandra Thrift port    Mandatory
<Password/>Comma separated Cassandra Cluster node list   Mandatory

 

Exposing services to the public

In a IaaS infrastructure, services, public IP and domain names of the backend Cassandra cluster must be exposed via public addresses. This is done in <SS_HOME>/ repository/conf/etc/ cassandra-endpoint.xml file. Given below is the default configuration, where the <EndPoint> and <HostName> elements represent each Cassandra node by its host name.

<Cassandra>
 <EndPoints>
    <EndPoint>
        <HostName>css0.stratoslive.wso2.com</HostName>
    </EndPoint>
    <EndPoint>
        <HostName>css1.stratoslive.wso2.com</HostName>
    </EndPoint>
    <EndPoint>
        <HostName>css2.stratoslive.wso2.com</HostName>
    </EndPoint>
    <EndPoint>
        <HostName>css3.stratoslive.wso2.com</HostName>
    </EndPoint>
    <EndPoint>
        <HostName>css4.stratoslive.wso2.com</HostName>
    </EndPoint>
 </EndPoints>
</Cassandra>
  • No labels