Ручное перераспределение кластеров

После обновления свойств кластера повторное развертывание кластеров вручную не требуется. Шлюз отслеживает файлы дескрипторов топологии в каталоге $gateway/conf/topologies и автоматически перераспределяет кластер при изменении или добавлении дескриптора (соответствующее развертывание находится в $gateway/data/deployments).

Однако, после изменения любого из нижеперечисленных свойств или параметров шлюза требуется ручное перераспределение кластеров:

  • Настройка времени на хосте шлюза;
  • Внедрение или обновление Kerberos;
  • Внедрение или обновление SSL-сертификатов;
  • Изменение алиаса кластера.

Одновременное перераспределение всех кластеров

При внесении изменений на уровне шлюза (например, при реализации протокола Kerberos или SSL) или при изменении системного времени необходимо повторно развернуть все топологии кластера:

  1. Для проверки временной метки на развернутых кластерах необходимо ввести: cd $gatewaydir data/deployments. Система при этом отображает информацию на подобии следующей:
Directory of /usr/lib/knox/data/deployments

.
..
cluster.war.145514f4dc8
myCluster.war.145514f4dc8
sandbox.war.145514f4dc8
  1. Для повторного развертывания всех кластеров необходимо ввести команду:
/bin/knoxcli.cmd redeploy
  1. Для проверки вновь созданных кластеров использовать команду: cd $gatewaydir data/deployments. Система при этом отображает информацию, из которой видно, что для каждого кластера создается новый файл с текущей временной меткой:
Directory of /usr/lib/knox/data/deployments

.
..
cluster.war.145514f4dc8
cluster.war.1457241b5dc
myCluster.war.145514f4dc8
myCluster.war.1457241b5dc
sandbox.war.145514f4dc8
sandbox.war.1457241b5dc

Перераспределение конкретного кластера

При внесении изменений, влияющих на один конкретный кластер (например, при изменении алиаса или восстановлении кластера из более раннего файла дескриптора топологии), необходимо перераспределить только данный кластер. Для этого следует выполнить действия:

  1. Для проверки временной метки в WAR-файлах топологии развернутого кластера необходимо ввести команду: cd $gatewaydir data/deployments. Система при этом отображает информацию на подобии следующей:
Directory of /usr/lib/knox/data/deployments

.
..
cluster.war.145514f4dc8
myCluster.war.145514f4dc8
sandbox.war.145514f4dc8
  1. Для повторного развертывания определенного кластера необходимо ввести команду:
cd $gateway bin/knoxcli.cmd redeploy --cluster $cluster_name

Где $cluster_name – имя дескриптора топологии кластера (без расширения .xml). Например, myCluster.

  1. Для проверки факта развертывания кластера использовать команду: cd $gatewaydir data/deployments. Система при этом отображает информацию на подобии следующей:
Directory of /usr/lib/knox/data/deployments

.
..
cluster.war.145514f4dc8
myCluster.war.145514f4dc8
myCluster.war.1457241b5dc
sandbox.war.145514f4dc8

Должно прослеживаться, что war-файлы кластера не изменились, за исключением обновленного файла для myCluster (имеет текущую временную метку).