Master Server 

Der PlatformUDPListener wird auf die Master-Datenbanken installiert.

Installation des Hazelcast Platform UDP Listeners

Auf alle Master Datenbanken muss der UDP Listener Prozess installiert werden. Dies benötigt eine Java-Laufzeitumgebung:


yum -y install https://cdn.jtel.de/downloads/java/jdk-8u202-linux-x64.rpm



Im Anschluss wird der UDP Listener mit folgenden Befehlen installiert:


cp -a /home/jtel/shared/JTELCarrierPortal/Utils/Install/PlatformUDPlistener/ /home/jtel/
cp -a /home/jtel/PlatformUDPlistener/init.d/jtel-listener /etc/init.d



Als nächstes muss die Konfigurationsdatei des UDP Listeners der Umgebung angepasst werden. Hierfür muss die Datei /home/jtel/PlatformUDPlistener/conf/hazelcast.xml entsprechend angepasst werden. Hierbei sind insbesondere folgende zwei Abschnitte anzupassen:


<group>
	<name>jtel-cluster-NAME</name>       
	<password>jtel-cluster-pass</password>    
</group>



Da nicht hundertprozentig auszuschließen ist, dass sich im Netz weitere auf Hazelcast basierende Applikationen befinden können (wie z.B. weitere jtel-Systeme in größeren Cloud-Umgebungen, ist es wichtig für das entsprechende jtel-System den Cluster-Namen und das Cluster-Passwort zu individualisieren.

Ein weiterer wichtiger Abschnitt betrifft die Zusammensetzung des Clusters. Im Auslieferungszustand ist die Konfigurationsdatei so ausgelegt, dass die Cluster-Members sich mittels Multicast finden und kommunizieren. Diese Methode sollte im Wirkbetrieb nicht verwendet werden, da sie zusätzlichen überflüssigen Netzwerkverkehr erzeugt und auch Auswirkungen auf andere Applikationen haben kann. Des weiteren wäre dafür eine Firewall-Konfiguration erforderlich, die hier nicht weiter erörtert wird. Aus diesem Grunde ist diese Kommunikationsform abzuschalten (<multicast enabled="false" />) und hingegen die Liste der Kommunikationspartner einzutragen. Dabei ist darauf zu achten, dass der entsprechende Abschnitt, der im Auslieferungszustand auskommentiert ist, aktiviert werden muss. Die Liste der Kommunikationspartner setzt sich folgendermaßen zusammen:

  1. Der primäre DATA-Server
  2. Jeder TEL-Server
  3. Jeder WEB-Server

Im spezifischen Fall des hier vorgestellten Installationsszenario, würden die Anpassungen folgendermaßen aussehen:


<network>
	<join>
		<!-- DO NOT USE MULTICAST IN PRODUCTION ENVIRONMENTS -->
		<multicast enabled="false" />
		<!-- USE THIS SECTION INSTEAD AND ADAPT THE LIST OF MEMBERS -->
		<tcp-ip enabled="true">
			<member>192.168.1.21</member>
			<member>192.168.1.31</member>
			<member>192.168.1.32</member>
			<member>192.168.1.40</member>
		</tcp-ip>
	</join>
</network>



Da diese Konfigurationsdatei auf allen oben aufgelisteten Servern existieren muss und exakt gleich sein muss, empfiehlt es sich die nun angepasste Datei kurzfristig ins freigegebene Verzeichnis zu kopieren, so dass sie bei der Installation der folgenden Rollen direkt von dort bezogen werden kann:


cp /home/jtel/PlatformUDPlistener/conf/hazelcast.xml /home/jtel/shared



Der UDP Listener Dienst wird mit folgendem Befehl in die Liste der automatisch startenden Dienste aufgenommen:


cd /etc/init.d
chkconfig jtel-listener on



Als nächstes müssen in der Firewall die Port-Freigaben für den UDP Listener Dienst eingetragen und persistent gespeichert werden:


firewall-cmd --zone=public --add-port=5701-5801/tcp --permanent
firewall-cmd --reload



Nun muss der UDP Listener manuell gestartet werden:



service jtel-listener start



Um die Aktualisierung des USP Listeners zu vereinfachen, wird nun noch ein entsprechendes Skript erstellt:


cat <<EOFF > /usr/local/bin/updatepl.sh
#!/bin/bash
service jtel-listener stop
cp /home/jtel/shared/JTELCarrierPortal/Utils/Install/PlatformUDPlistener/bin/platform-UDP-listener-1.0-jar-with-dependencies.jar /home/jtel/PlatformUDPlistener/bin
chown jtel:jtel /home/jtel/PlatformUDPlistener/bin/*
service jtel-listener start
EOFF
chmod +x /usr/local/bin/updatepl.sh