Manual Chapter : Verifying the Geo-Redundancy configuration

Applies To:

  • BIG-IP LTM

    17.5.1, 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.0.1

Verifying the Geo-Redundancy configuration

After installing the iAppLX rpm, verify the configuration with parameters updated with the values updated via the GUI or REST API.

Example Configuration: Site names: site1 is seattle. site2 is bellevue.

  1. Verify the installation of Kafka, ZooKeeper and MirrorMaker1:

    # bigstart status tmm kafka zookeeper mirrormaker1
    kafka        run (pid 4321) 4 days
    zookeeper    run (pid 3456) 4 days
    mirrormaker1 down, manually disabled						

    Important: If the result for # bigstart status tmm kafka zookeeper mirrormaker1 is:

    • Could not find service: Kafka
    • Could not find service: MirrorMaker1
    • Could not find service: ZooKeeper Refer to Troubleshooting Geo-Redundancy - Undeploy and deploy iAppLX.
  2. Verify the installation of Kafka:

    # ll /usr/bin/kafka
    total 52
    drwxr-xr-x. 3 root root  4096 Mar 23  2018 bin
    drwxr-xr-x. 2 root root  4096 Mar 23  2018 config
    drwxr-xr-x. 2 root root  4096 Nov 13 17:05 libs
    -rw-r--r--. 1 root root 28824 Mar 23  2018 LICENSE
    lrwxrwxrwx. 1 root root    15 Nov 13 17:05 logs -> /var/log/kafka/
    -rw-r--r--. 1 root root   336 Mar 23  2018 NOTICE
    drwxr-xr-x. 2 root root  4096 Mar 23  2018 site-docs							
  3. Verify the Kafka config files are present:

    # ll /var/kafka/config
    total 20
    -rw-r--r--. 1 root root  259 Nov 13 17:05 ConsumerConfig.config
    -rw-r--r--. 1 root root   84 Nov 13 17:05 ProducerConfig.config
    -rw-r--r--. 1 root root 5349 Nov 13 17:05 server.properties
    -rw-r--r--. 1 root root 1046 Nov 13 17:05 zookeeper.properties						
  4. On site1 and site2, verify ConsumerConfig.config:

    Site1: # cat /var/kafka/config/ConsumerConfig.config
    #including comments for future reference
    #exclude.internal.topics=true
    client.id=755025873
    group.id=group_id_10.14
    exclude.internal.topics=true
    bootstrap.servers=bellevue:9192
    #partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor
    
    Site2: # cat /var/kafka/config/ConsumerConfig.config
    #including comments for future reference
    #exclude.internal.topics=true
    client.id=755025873
    group.id=group_id_10.14
    exclude.internal.topics=true
    bootstrap.servers=seattle:9192
    #partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor				
  5. Verify /var/kafka/config/ProducerConfig.config:

    Site1: # cat /var/kafka/config/ProducerConfig.config
    bootstrap.servers=seattle:9192
    acks=1
    batch.size=100
    client.id=mirror_maker_producer
    
    Site2: # cat /var/kafka/config/ProducerConfig.config
    bootstrap.servers=bellevue:9192
    acks=1
    batch.size=100
    client.id=mirror_maker_producer					
  6. Verify /var/kafka/config/server.properties.

    Verify the parameters update correctly:

    Site1:
        advertised.host.name=seattle
        # The port to publish to ZooKeeper for clients to use. If this is not set,
        # it will publish the same port that the broker binds to.
        advertised.port=9192
    
    Site2:
        advertised.host.name=bellevue
        # The port to publish to ZooKeeper for clients to use. If this is not set,
        # it will publish the same port that the broker binds to.
        advertised.port=9192						
  7. Verify /etc/hosts.

    Verify if the following entries are present in the /etc/hosts file:

    Site1:
        127.0.0.1 seattle
        <site1 virtual Ip> bellevue
    
    Site2:
        127.0.0.1   bellevue
        <site2 virtual Ip> seattle						
  8. Verify /etc/bigstart/scripts/mirrormaker1.

    Verify the sitename of the other site is added as the whitelist:

    Site1:
        exec /usr/bin/kafka/bin/kafka-run-class.sh kafka.tools.MirrorMaker --
    consumer.config /var/kafka/config/ConsumerConfig.config --num.streams 2 --
    producer.config 
    /var/kafka/config/ProducerConfig.config --whitelist="bellevue" > 
    /var/tmp/${service}.out 2>&1	
    
    Site2:
        exec /usr/bin/kafka/bin/kafka-run-class.sh kafka.tools.MirrorMaker 
    --consumer.config /var/kafka/config/ConsumerConfig.config --num.streams 2 --
    producer.config /var/kafka/config/ProducerConfig.config --whitelist="seattle">
    /var/tmp/${service}.out 2>&1								

Installation is complete for the relevant iAppLx rpms, and they are configured and connected to both local and remote sites.

  1. Verify the system state to validate readiness to perform the desired functionality.

    Both the local and remote sites should be connected and have a healthy communication channel established.

    In order to verify, use the geodb tool or the GUI:

    # bigstart status tmm kafka zookeeper mirrormaker1
    tmm          run (pid 1234) 4 days
    kafka        run (pid 4321) 4 days
    zookeeper    run (pid 3456) 4 days
    mirrormaker1 run (pid 4325) 4 days
    
    # geodb -sw
    connected
    alive					

The configuration is synced between the active and standby devices of a high availability (HA) pair.

  1. Verify both active and standby have the same configuration.

Before passing traffic on the high availability (HA) setup, verifty the steps in Prerequisites for standalone and high availability (HA) - high availability section.

  1. Active DUT:

    # bigstart status tmm kafka zookeeper mirrormaker1
    tmm          run (pid 1234) 4 days
    kafka        run (pid 4321) 4 days
    zookeeper    run (pid 3456) 4 days
    mirrormaker1 run (pid 4325) 4 days
    
    # geodb -sw
    connected
    alive				
  2. Standby DUT:

    # bigstart status tmm kafka zookeeper mirrormaker1
    tmm          run (pid 1234) 4 days
    kafka        run (pid 4321) 4 days
    zookeeper    run (pid 3456) 4 days
    mirrormaker1 down (pid 4325) 4 days, normally up
    
    # geodb -sw
    connected
    expired