You are currently reviewing an older revision of this page.

How To Go From High Availability to Standalone for On Premise Customers

Note: The following steps are not generally supported for Cloud sites unless there is a specific reason (such as an RRT issue). For the proper procedures to follow on Cloud sites, follow INT-1636 How to convert Appian Cloud sites between the three main server configurations: single node, hot/cold, high availability (hot/hot)

Backup Kafka and Zookeeper Data

On each server hosting Appian engines, do the following:

  1. Create a backup folder of <APPIAN_HOME>/services/data/kafka-logs.
  2. Move all the content from <APPIAN_HOME>/services/data/kafka-logs to the backup folder created in step 1.
  3. Create a backup folder of <APPIAN_HOME>/services/data/zookeeper.
  4. Move all the content from <APPIAN_HOME>/services/data/zookeeper to the backup folder created in step 3.

Note: Performing these steps without correctly checkpointing the engines may cause data loss.

Instructions 

  1. Stop all Services that are dependent on the Messaging Service (Kafka & Zookeeper) on all servers
    Stopping the Application Suite on Linux Complete all steps prior to the one that says to “Stop the Appian engines”. 

  2. Note the host and port of the last Kafka broker listed in <APPIAN_HOME>/conf/appian-topology.xml.
    This is the server that should be removed. This should also be the broker that was most recently added.
    Kafka brokers are listed under the <kafka-cluster> element

  3. Stop Service Manager & Engines without stopping Zookeeper & Kafka on all servers by running:
    <APPIAN_HOME>/services/bin/stop.sh -p <password> -no-kafka -cluster -s all

  4. Remove partitions from the broker that will be removed by running the following on any one server: 
    <APPIAN_HOME>/services/kafka_<versionInfo>/bin/decreaseBrokerCount.sh --exclude-brokers [<host:port>]
    1. The script needs to be passed the hostname and Kafka port of the server that will be removed. This is determined in step 1

  5. Make sure that the broker in step 2 is no longer replicating any partitions by running the following using any Zookeeper host and port:
     
    <APPIAN_HOME>/services/kafka_<versionInfo>/bin/kafka-topics.sh --describe --zookeeper <Zookeeper host>:<Zookeeper port>

    Make sure that the broker-id of the broker that will be removed does NOT appear in the values for any column. The highest broker-id displayed should be your target Kafka cluster size - 1  

  6. Stop Kafka on all servers
    <APPIAN_HOME>/services/stop.sh -p <password> -s kafka

  7. Once all Kafka brokers have stopped, stop Zookeeper on all servers by running: 
    <APPIAN_HOME>/services/stop.sh -p <password> -s zookeeper
  8. Edit appian-topology.xml on every server. The topology file must be the same on all servers
    Location: <APPIAN_HOME>conf/appian-topology.xml
    Remove the appropriate lines from the <kafka-cluster> and <zookeeper-cluster> elements. These should be the lines with the same host name as the server you will be deactivating. There should be only one Kafka, one Zookeeper and one instance of each engine. 

    Below is an example topology file 
    <?xml version="1.0" encoding="UTF-8"?>
    <topology port="5000">
    <server host="<MACHINE_A_IP>">
    <engine name="forums"/>
    <engine name="notify"/>
    <engine name="notify-email"/>
    <engine name="channels"/>
    <engine name="content"/>
    <engine name="collaboration-statistics"/>
    <engine name="personalization"/>
    <engine name="portal"/>
    <engine name="process-design"/>
    <engine name="process-analytics0"/>
    <engine name="process-analytics1"/>
    <engine name="process-analytics2"/>
    <engine name="process-execution0"/>
    <engine name="process-execution1"/>
    <engine name="process-execution2"/>
    </server>
    <search-cluster>
    <search-server host="<MACHINE_A_IP>" port="9301"/>
    </search-cluster>
    <kafkaCluster>
    <broker host="<MACHINE_A_IP>" port="9092"/>
    </kafkaCluster>
    <zookeeperCluster>
    <zookeeper host="<MACHINE_A_IP>" port="2181"/>
    </zookeeperCluster>
    </topology>

  9. Deactivate server
    This step is handled by the customer’s Appian System Administrator

  10. Restart Appian
    Make sure you are looking at the version of docs that matches the version of Appian you are running  
    Starting the Application Suite on Linux

Note: When moving from High Availability to Standalone, it is recommended to adjust autocheckpoint configuration so that checkpoints do not run during business hours. More information is provided in the Configuring Checkpointing Frequency documentation.