You are currently reviewing an older revision of this page.

KB-XXXXX [DRAFT] How To Go From High Availability to Standalone for On Premise Installations

The documentation here applies only for On-Premise customers with Linux servers - a distributed installation of Appian on Windows servers is not supported. Customers who are on Appian Cloud should not follow these instructions and instead contact Appian Support with their request. 

The below steps will cause Appian to be unavailable until all steps are completed. Please schedule a maintenance window and inform your users. 
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.

Stop a Subset of Appian Services 

  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. 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

Move Kafka Data to Appropriate Servers 

  1. Note the host and port of the last two Kafka broker listed in <APPIAN_HOME>/conf/appian-topology.xml.
    The servers being removed should correspond to the two most recently added Kafka brokers. Kafka brokers are listed under the <kafka-cluster> element

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

  3. 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  

Stop Remaining Appian Services

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

  2. Once all Kafka brokers have stopped, stop Zookeeper on all servers by running: 
    <APPIAN_HOME>/services/stop.sh -p <password> -s zookeeper

Change Topology

  1. Edit appian-topology.xml on every server that will remain. The topology file must be the same on all servers
    Location: <APPIAN_HOME>conf/appian-topology.xml
    There should be only one instance of each Appian Service - Kafka, Zookeeper, Data Server, Search Server, and one instance of each engine and they should be hosted on the same server. 

    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> <data-server-cluster> <data-server host="<MACHINE_A_IP>"port="5400" rts-count="1"/>
    </data-server-cluster>
    </topology>

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

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

Affected Versions

This article applies to Appian 17.4 and later