Bevor Sie das sekundäre Rechenzentrum einrichten, müssen Sie das primäre Rechenzentrum für die Elasticsearch-, RabbitMQ- und Ehcache-Replizierung für alle Cluster konfigurieren.
Elasticsearch, RabbitMQ und Ehcache sind in der virtuellen VMware Identity Manager-Appliance eingebettet. Elasticsearch ist eine Such- und Analyse-Engine, die für die Überprüfung, für Berichte und für Protokolle der Verzeichnissynchronisierung verwendet wird. RabbitMQ ist ein Nachrichten-Broker. Ehcache bietet Caching-Funktionen.
Konfigurieren Sie diese Änderungen in allen Knoten des Clusters im primären Rechenzentrums.
Voraussetzungen
Sie haben einen VMware Identity Manager-Cluster im primären Rechenzentrum eingerichtet.
Prozedur
- Konfigurieren Sie Elasticsearch für die Replizierung.
Führen Sie diese Änderungen in jedem Knoten des Clusters im primären Rechenzentrums durch.
- Deaktivieren Sie den Cron-Job für Elasticsearch.
- Bearbeiten Sie die Datei /etc/cron.d/hznelasticsearchsync:
vi /etc/cron.d/hznelasticsearchsync
- Kommentieren Sie diese Zeile aus:
#*/1 * * * * root /usr/local/horizon/scripts/elasticsearchnodes.hzn
- Fügen Sie die IP-Adressen von allen Knoten im Cluster des primären Rechenzentrums hinzu.
- Bearbeiten Sie die Datei /etc/sysconfig/elasticsearch.
vi /etc/sysconfig/elasticsearch
- Fügen Sie die IP-Adressen von allen Knoten im Cluster hinzu:
ES_UNICAST_HOSTS=IPaddress1,IPaddress2,IPaddress3
- Fügen Sie der Datei /usr/local/horizon/conf/runtime-config.properties den Lastausgleichsdienst-FQDN des Clusters im sekundären Rechenzentrum hinzu.
- Bearbeiten Sie die Datei /usr/local/horizon/conf/runtime-config.properties.
vi /usr/local/horizon/conf/runtime-config.properties
- Fügen Sie diese Zeile zur Datei hinzu:
analytics.replication.peers=LB_FQDN_of_second_cluster
- Konfigurieren Sie RabbitMQ für die Replizierung.
Führen Sie diese Änderungen in jedem Knoten des Clusters im primären Rechenzentrums durch.
- Deaktivieren Sie den Cron-Job für RabbitMQ.
- vi /etc/cron.d/hznrabbitmqsync
- Kommentieren Sie diese Zeile aus:
#*/1 * * * * root /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Führen Sie die nachfolgend aufgeführten Änderungen in der Datei /usr/local/horizon/scripts/rabbitmqnodes.hzn durch.
- vi /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Kommentieren Sie diese Zeilen aus.
#make sure SAAS is up, otherwise we won't have an accurate node list
#if test $(curl -X GET -k https://localhost/SAAS/API/1.0/REST/system/health/allOk -sL -w "% {http_code}\\n" -o /dev/null) -ne 200 ; then
# echo SAAS not running, aborting
# exit 0
#fi
Kommentieren Sie auch die folgende Zeile aus.
#nodes=$(uniqList true $(enumeratenodenames))
- Fügen Sie die Hostnamen von allen Knoten im Cluster des primären Rechenzentrums hinzu. Verwenden Sie nur die Hostnamen und nicht die vollqualifizierten Domänennamen. Geben Sie die Namen durch Leerzeichen getrennt an.
nodes="Knoten1Knoten2Knoten3"
- Fügen Sie der Datei /etc/hosts die IP-Adresse und die Hostnamenzuordnung der anderen Knoten im Cluster hinzu. Fügen Sie keinen Eintrag für den von Ihnen bearbeiteten Knoten hinzu. Dieser Schritt ist nur erforderlich, wenn kein DNS-Eintrag vorhanden ist, der den vollqualifizierten Domänennamen (FQDN) oder die teilweise qualifizierten Domänennamen auflösen kann.
IP-Adresse Knoten2FQDN Knoten2
IP-Adresse Knoten3FQDN Knoten3
- Führen Sie das Skript zum Erstellen des RabbitMQ-Clusters aus.
/usr/local/horizon/scripts/rabbitmqnodes.hzn
- Konfigurieren Sie Ehcache für die Replizierung.
Führen Sie diese Änderungen in jedem Knoten des Clusters im primären Rechenzentrums durch.
- vi /usr/local/horizon/conf/runtime-config.properties
- Fügen Sie den FQDN der anderen Knoten im Cluster hinzu. Fügen Sie nicht den FQDN für den von Ihnen bearbeiteten Knoten hinzu. Geben Sie die FQDNs durch einen Doppelpunkt getrennt an.
ehcache.replication.rmi.servers=Knoten2FQDN:Knoten3FQDN
Beispiel:
ehcache.replication.rmi.servers=server2.example.com:server3.example.com
- Starten Sie den VMware Identity Manager-Service für alle Knoten neu.
service horizon-workspace restart
- Stellen Sie sicher, dass der Cluster korrekt eingerichtet ist.
Führen diese Befehle auf allen Knoten des ersten Clusters aus.
- Überprüfen Sie den Status von Elasticsearch.
curl 'http://localhost:9200/_cluster/health?pretty'
Der Befehl sollte ein Ergebnis ähnlich dem nachfolgend dargestellten zurückgeben.
{
"cluster_name" : "horizon",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 20,
"active_shards" : 40,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0
}
Wenn Probleme auftreten, finden Sie Erläuterungen unter Fehlerbehebung bei Elasticsearch und RabbitMQ.
- Überprüfen Sie den Status von RabbitMQ.
rabbitmqctl cluster_status
Der Befehl sollte ein Ergebnis ähnlich dem nachfolgend dargestellten zurückgeben.
Cluster status of node 'rabbitmq@node3' ...
[{nodes,[{disc,['rabbitmq@node2','rabbitmq@node3']}]},
{running_nodes,['rabbitmq@node3']},
{cluster_name,<<"[email protected]">>},
{partitions,[]},
{alarms,[{'rabbitmq@node3',[]}]}]
Wenn Probleme auftreten, finden Sie Erläuterungen unter Fehlerbehebung bei Elasticsearch und RabbitMQ.
- Stellen Sie sicher, dass die Datei /opt/vmware/horizon/workspace/logs/ horizon.log die nachfolgend aufgeführte Zeile enthält.
Added ehcache replication peer: //node3.example.com:40002
Die Hostnamen müssen jene von den anderen Knoten im Cluster sein.
Nächste Maßnahme
Erstellen Sie einen Cluster im sekundären Rechenzentrum. Erstellen Sie die Knoten durch Exportieren der OVA-Datei der ersten virtuellen VMware Identity Manager-Appliance des Clusters im primären Rechenzentrum und verwenden Sie diese für die Bereitstellung der neuen virtuellen Appliances im sekundären Rechenzentrum.