Das Notes Forum
Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: vader am 16.06.04 - 09:42:21
-
Weiss jemand wie sich Agenten im Cluster verhalten bzw. was dabei zu beachten ist? ???
Schliesslich dürfte es doch keinen Sinn machen, wenn Agenten in sämtlichen Repliken geclusterten DBs laufen, die sollten ja nur in einer laufen. Bei normaler Replikation wird aber das Enable-Flag der Agenten mit repliziert.
-
Du kannst doch bei periodischen Agenten angeben, auf welchem Server die ausgeführt werden ???
Andreas
-
Aber wenn der angegeben Server nicht da ist, läuft auch der Agent nicht....
Für Agenten gibt es KEIN Failover.
Wir basteln dazu gerade ne Lösung für nen Kunden, weil Notes das von Haus aus nicht kann
-
Das war aber glaube ich nicht die Frage. Ein Agent läuft nur auf dem Server, für den er vorgesehen ist.
Ausser man gibt "*" als Server ein. Das ist aber nurmit äußerster Vorsicht zu genießen.
Andreas
-
Weiss jemand wie sich Agenten im Cluster verhalten bzw. was dabei zu beachten ist? ???
Schliesslich dürfte es doch keinen Sinn machen, wenn Agenten in sämtlichen Repliken geclusterten DBs laufen, die sollten ja nur in einer laufen. Bei normaler Replikation wird aber das Enable-Flag der Agenten mit repliziert.
naja, im allgemeinen hat er nach Infos zu Agenten im CLuster gefragt.
ansonsten gibts ja nix zu beachten.
-
Stimmt, Du hast Recht. Das war mal wieder eine schwammige Frage, die reichlich Spielraum lässt.
@vader: Reichen die Infos?
Andreas
-
Hi vader,
folgendes ist vorzusehen:
1. Der Agent läuft auf allen Servern des Clusters
2. Der Agent der die Arbeit aufnimmt muss dies gegenüber allen anderen Agent der Clusterserver mitteilen.
3. Der Agent muss ein internes Transaktionslogging haben(nicht das von Domino) und dort vermerken welche arbeiten er erledigt hat
4. Bei einem Ausfall des Agents muss ein anderer Agent die Arbeit aufnehmen (daher das Transaktionslog der Agents)
5. Der Agent muss das erledigen der Arbeit an die anderen melden.
Also da gibt es einiges zu Programmieren und es ist absolut nicht einfach!!
Viel Spass
-
laufen Agenten nur auf einen Server oder auf allen im Cluster?
Gibt es vielleicht auch Material im Internet zum näher informieren? Hab zu den Thema speziell noch nichts gefunden.
Danke
-
Hi,
die Agenten laufen auf allen Servern im Cluster.
Informationen im Internet: K.A.
-
Hi Lossa,
bis Du Dir sicher? Das wäre aber unter R6 neu.
Hier noch was aus dem LDD 6 Forum dazu.
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/53e5d09248cc162085256ea10045fbdc?OpenDocument (http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/53e5d09248cc162085256ea10045fbdc?OpenDocument)
-
Hi Glombi
was meinst du mit bist du sicher??
Denn Artikel in der View habe ich noch nicht gelesen muss mal mein Archiv durchforsten. Danke für die Info
-
Hi,
die Agenten laufen auf allen Servern im Cluster.
Informationen im Internet: K.A.
Korrekt, aber nicht standardmässig ! Ist ein fester Ausfühungssevrer definiert, läuft er nur da. Nur wenn man als Ausführungssevrer ein "*" einträgt, wird er auf allen Servern (nicht nur die CLusterserver) gestartet. Ob das aber so gewünscht ist weiss ich nicht... Ich halten z.B: 3 aktive OoO-Agenten, die Nachrichten raussenden, nicht für sinnvoll.
UNser Ansatz geht dahin, dass der Agent vor Ausführung prüft, ob er auf dem für ihn definierten Hauptserver läuft. wenn nein, prüft er die Erreichbarkeit des Hauptservers - wenn dieser Weg ist, dann führt er seinen Funktionen auf dem Failover-Server aus.
-
Hi Banxx,
ist doch ein guter Weg so!
Was machst der Agent, wenn der Server während des ausführens ausfällt?
-
Zusammengefaßt heißt das:
1. Es gibt kein Failover für Agenten.
2. Ein Agent läuft nur auf dem Server, für den er eingestellt ist.
3. Ist als Server "*" eingestellt, läuft der Agent auf allen Servern. Das ist aber unabhängig vom Cluster.
Bitte korrigiert mich, falls was falsch ist.
Andreas
-
Zusammengefaßt heißt das:
1. Es gibt kein Failover für Agenten.
2. Ein Agent läuft nur auf dem Server, für den er eingestellt ist.
3. Ist als Server "*" eingestellt, läuft der Agent auf allen Servern. Das ist aber unabhängig vom Cluster.
Bitte korrigiert mich, falls was falsch ist.
Andreas
Nö, ist doch alles richtig.... :-)
@Lossa
Gar nix, erläuft dann erst beim nächsten Termin wieder. Ein Failover während des Ausführens ist IMO nicht, oder nur extrem aufwändig, machbar.
-
Hi Glombi,
das Problem ist doch folgendes:
Wir nehmen einen Zeitgesteuerten Agent, der soll bestimmte Dokumente bearbeiten und darufhin evtl. andere Dokumente in einer anderen Datenbank bearbeiten. Nun läuft der Agent loss, und der Server fällt aus. Woher wissen die anderen Agents was der ausgefallene gemacht hat?
Das ist das was ich mit Transaktionsprotokollierung meinte, die anderen Agents müssen wissen, was, welcher Agent gemacht hat. Damit nicht Dokumente mehrfach bearbeitet werden oder evtl. gar nicht.
Da es keine Systeminterne Funktion für Failover und Clusteragents gibt, muss also der Entwickler des Agents dieses Programmieren.
-
Hi Banxx,
wenn die Agents keine Probleme verursachen, wenn Sie das selbe Dokument 2. mal anfassen, dann ist ja alles OK. Ich kenne die Agent ja nichts, bei meinem Kunden war das etwas komplizierter, daher musste gewährleistet sein, das der Agent auf einem anderen Clusterserver das Dokument niemals anfasst, wenn es schon bearbeitet wurde. Daher meine Frage.
Ich habe dies hier nur aufgeführt, weil es wichtig ist solche Überlegung bei der Agentprogrammierung zu berücksichtigen.
-
Also um nochmal genau auf meine Frage einzugehen. Nehmen wir an wir haben 2 Server die im Cluster sind. Nun kann ich ja angeben ob auf einen Server oder auf allen mein Agent laufen soll. Da es aber unsinnig ist auf allen Servern den Agenten laufen zu lassen lass ich ihn natürlich nur auf einen Server laufen. Wenn nun aber dieser Server ausfällt möchte ich das der andere Server die Aufgaben des Agenten übernimmt und wenn der erste Server wieder angeht soll der Agent wieder zu seinen eigentlichen Server wechseln. Wo kann man das einstellen?
-
Wo kann man das einstellen?
Leider nirgendwo - siehe die Beiträge oben...
Das erfordert Programmierung im Agenten.
Andreas
-
ist sowas schwer?
Ist sowas nicht mal bei der neuen 6.5.2 Version dabei?
-
Lies Dir doch bitte mal die ganzen Beiträge in diesem Thread durch.
Ja es ist schwer:
Zitat Lossa:
"Also da gibt es einiges zu Programmieren und es ist absolut nicht einfach!!"
und ich habe bereits einen Link zur LDD gepostet, wo ein Artikel aus The View zitiert wird und es sogar eine Datenbank mit fertigem Code gibt.
Andreas
-
Hi,
was ist schwer, das ist eigentlich definitionssache, aber wie schon oben erwähnt es kommt drauf an, was der Agent macht und wie senisitiv das ganze mit redundanten Dokumentänderungen durch Agenten ist. Im einfachsten Fall muss nur von den anderen Clusteragents, geprüft werden ob der Server auf dem der Agent primär läuft aktiv ist. Wenn ja das legt der Agent sich wieder schlafen, ansonste gem. Ausfallreihenfolge vorgehen. Der letzte Agent läuft dann... (oder macht das Licht aus ;D)
Ansonsten Frage 2 Nein.
Sihe Glombi!!