Free Trial

Knowledge Base

Lernen Sie von den Profis.
Dieser Fehler ist recht häufig und kann auftreten, wenn AlteryxService unerwartet beendet wird. Meistens entsteht der Fehler dadurch, dass MongoDB nicht korrekt heruntergefahren und die Sperrdatei nicht freigegeben wird. Dies führt dazu, dass MongoDB beim nächsten Start des AlteryxService nicht gestartet werden kann und die folgende Fehlermeldung ausgegeben wird:   „Fehler in Mongo-Verbindung, bitte überprüfen Sie die Serveradresse und Anmeldeinformationen“.   Gehen Sie wie folgt vor, um diesen Fehler zu beheben:   Finden Sie heraus, wo MongoDB auf dem System installiert ist: „Settings -> Controller -> Persistence“. Öffnen Sie diesen Ordner in einem Windows Datei-Explorer. Überprüfen Sie, ob die Datei „mongod.lock“ funktionsfähig ist. Wenn die Datei Daten enthält (normalerweise 1 k), sollten Sie zunächst Ihre Serverinstanz klonen (für den Fall einer Beschädigung), bevor Sie mit den folgenden Schritten fortfahren. Wenden Sie sich an den Kundenservice, falls Sie Hilfe beim Klonen Ihrer Serverinstanz brauchen.   Löschen Sie die Datei „mongod.lock“ oder benennen Sie sie um. Klicken Sie mit der rechten Maustaste in das Fenster und wählen Sie „Neu -> Textdokument“ aus. Geben Sie dem Dokument den Namen „mongod.lock“ (achten Sie darauf, dass Erweiterungen für den Ordner angezeigt werden, andernfalls erhält die Datei den Namen „mongod.lock.txt“). Öffnen Sie eine Windows-Eingabeaufforderung und navigieren Sie zum Ordner „/Alteryx/bin“ (z. B. cd „/Programme/Alteryx/bin“). Starten Sie den MongoDB-Dienst, um sicherzustellen, dass alle Daten bereinigt werden:  mongod --dbpath "folder path from system settings" --auth --port 27018   Falls der Dienst nicht sauber heruntergefahren wurde, kann es einige Minuten dauern, bis die Daten erneut zugewiesen wurden.  Suchen Sie nach der Zeile „Warte auf Verbindungen auf Port 27018“. Sobald Sie diese Zeile sehen, drücken Sie Strg+C auf Ihrer Tastatur, um den Dienst herunterzufahren. Starten Sie AlteryxService.  Führen Sie dazu in einer Eingabeaufforderung den folgenden Befehl aus: sc start AlteryxService Vergewissern Sie sich unter „Task Manager->Details“ (bzw. Prozesse), dass die Prozesse des Alteryx Service aktiv bleiben. Falls die Sperrdatei in Ordnung war    Öffnen Sie eine Windows-Eingabeaufforderung und navigieren Sie zum Ordner „/Alteryx/bin“ (z. B. cd „/Programme/Alteryx/bin“). Führen Sie den Alteryx Service im Testmodus aus, um den tatsächlichen Fehler zu identifizieren: AlteryxService test. Falls Sie die Fehlerursache nicht identifizieren können, schicken Sie uns Serverprotokolle zu (Sie finden den Pfad unter Systemeinstellungen -> Controller -> Allgemein).
Vollständigen Artikel anzeigen
Dies ist der zweite Artikel in einer Reihe zu Sicherung und Wiederherstellung von Alteryx Server. Sie finden Teil 1 unter:   Alteryx Server Sicherung und Wiederherstellung Teil 1: Best Practices   Wenn Sie eine Sicherung der MongoDB-Datenbank verfügbar haben, können Sie Alteryx Server wiederherstellen und ausführen. Glücklicherweise können Sie die eingebettete MongoDB-Datenbank mit einigen wenigen Konsolenbefehlen sichern. Ich empfehle Ihnen, eine Batchdatei oder ein Skript für diesen Prozess zu erstellen. Auf diese Weise können Sie die Sicherung mit dem Windows-Taskplaner planen. Die Schritte zum Durchführen einer MongoDB-Sicherung werden ausführlich in der Onlinehilfe im Bereich „Serverkonfiguration“ oder unter diesem Link beschrieben. Ich werde die Schritte hier der Vollständigkeit halber ebenfalls umreißen.   So erstellen Sie eine Sicherung der MongoDB:   Beenden Sie AlteryxService. Führen Sie folgenden Befehl aus, um eine Sicherungskopie der Datenbank im angegebenen Ordner zu speichern:   alteryxservice emongodump= Starten Sie AlteryxService neu.   Diesen Vorgang können Sie mit einigen wenigen Konsolenbefehlen mit einer Batchdatei ausführen. Die tatsächlichen Pfade auf Ihrem Server können abweichen, aber das Skript sollte in etwa wie folgt aussehen.   Beispiel:     "C:/Program Files/Alteryx/bin/AlteryxService.exe" stop "C:/Program Files/Alteryx/bin/AlteryxService.exe" emongodump=Z:/Path/MongoBackup "C:/Program Files/Alteryx/bin/AlteryxService.exe" start     Sie können weitere Funktionen wie Protokollierung oder Datum/Zeitstempel zu den Sicherungen hinzufügen.  Als Beispiel für weitere nützliche Funktionen für Ihre Sicherungen habe ich den Code für ein Batchskript angehängt, das ich erstellt habe und das die folgenden Informationen hinzufügt: Protokollierung mit Datum/Zeitstempel, eine Sicherung ebenfalls mit Datum/Zeitstempel, automatische Archivierung der Sicherung, Kopieren des Archivs an einen Netzwerkspeicherort und Bereinigung der temporären Dateien.   Nachdem Sie eine Batchdatei oder ein anderes Skript für Ihre Sicherungen erstellt haben, sollten Sie das Skript testen, um sicherzustellen, dass keine Fehler auftreten. Nach Abschluss der Tests können Sie Ihre Sicherung planen. Dafür empfehle ich den Windows-Taskplaner. Gehen Sie wie folgt vor, um eine geplante Aufgabe in Windows 2012 Server zu erstellen:   Erstellen Sie eine geplante Aufgabe:   Öffnen Sie den Taskplaner und klicken Sie auf „Aufgabe erstellen“.   Füllen Sie auf der allgemeinen Registerkarte die Felder „Name“ und „Beschreibung“ aus und aktivieren Sie die Optionen „Unabhängig von der Benutzeranmeldung ausführen“ und „Mit höchsten Berechtigungen ausführen“.   Klicken Sie auf der Registerkarte „Trigger“ auf „Neu“.   Daraufhin wird ein Dialogfeld geöffnet. Definieren Sie den Zeitplan (täglich, wöchentlich usw.) für die Ausführung der Sicherung und klicken Sie auf OK.   Klicken Sie auf der Registerkarte „Aktionen“ auf „Neu“.   Vergewissern Sie sich im Dialogfeld, dass „Programm starten“ ausgewählt ist und klicken Sie auf „Durchsuchen“. Wählen Sie die von Ihnen erstellte Batchdatei aus und klicken Sie auf „Öffnen“. Klicken Sie anschließend auf OK.   Klicken Sie im Fenster „Aufgabe erstellen“ auf OK, um die Erstellung der Sicherungsaufgabe abzuschließen.   Nachdem Sie Ihre Sicherungsprozeduren erfolgreich implementiert und eine Aufgabe zur Planung der Sicherungen eingerichtet haben, werden wir uns jetzt mit der Wiederherstellung einer Datenbank aus einer Sicherung befassen. Die Wiederherstellung der Datenbank ist glücklicherweise genau so einfach wie die Sicherung. Unter der Voraussetzung, dass der Server funktioniert, Alteryx Server installiert wurde und Sie eine gültige Sicherung zur Verfügung haben, können Sie die folgenden einfachen Schritte ausführen.   Wiederherstellen einer MongoDB-Sicherung:   Beenden Sie AlteryxService. Führen Sie den folgenden Befehl aus, um die Sicherung wiederherzustellen:   alteryxservice emongorestore= ,   Starten Sie AlteryxService neu.   Diesen einfachen Vorgang in Form von Anweisungen für die Befehlszeile können wir ebenfalls in Skriptform verwenden. Dies ist jedoch vermutlich nicht erforderlich, da Wiederherstellungen viel seltener ausgeführt werden. Stattdessen verbinden Sie sich mit dem Server, öffnen eine Eingabeaufforderung und führen analog zu unserem obigen Sicherungsbeispiel die folgenden Befehle aus:   Beispiel:     "C:/Program Files/Alteryx/bin/AlteryxService.exe" stop "C:/Program Files/Alteryx/bin/AlteryxService.exe" emongorestore=Z:/Path/MongoBackup,C:/ProgramData/Alteryx/Service/Persistence/MongoDB "C:/Program Files/Alteryx/bin/AlteryxService.exe" start     Für Alteryx Server sollten Sie außerdem das Controller-Token und einige Konfigurationsdateien sichern. Der Server kann ohne diese Dateien wiederhergestellt werden. Mit einer Sicherung dieser Dateien können Sie jedoch die Wiederherstellung beschleunigen und sicherstellen, dass Sie sämtliche sensiblen Daten in der Datenbank entschlüsseln können. Sichern Sie dazu die folgenden Konfigurationsdateien:   C:/ProgramData/Alteryx/RuntimeSettings.xml C:/ProgramData/Alteryx/Engine/SystemAlias.xml C:/ProgramData/Alteryx/Engine/SystemConnections.xml   Beachten Sie auch hier, dass die tatsächlichen Pfade von der Serverkonfiguration und dem Speicherort der Sicherung abhängen. In diesem Beispiel gehen wir davon aus, dass die Sicherung nicht komprimiert oder archiviert vorliegt. Wenn Sie ein Sicherungsskript verwenden, das die Sicherung archiviert und an einen Netzwerkspeicherort kopiert, müssen Sie die Sicherungsdatei zunächst auf den Server kopieren und das Archiv dekomprimieren, bevor Sie die oben gezeigten Wiederherstellungsbefehle ausführen.     Hier sehen Sie den Code für mein Beispiel-Batchskript:   ::----------------------------------------------------------------------------- :: :: AlteryxServer Backup Script v.2.0.2 - 01/04/19 :: Created By: Kevin Powney :: :: Service start and stop checks adapted from example code by Eric Falsken :: ::----------------------------------------------------------------------------- @echo off ::----------------------------------------------------------------------------- :: Set variables for Log, Temp, Network, and Application Paths :: :: Please update these values as appropriate for your environment. Note :: that spaces should be avoided in the LogDir, TempDir, and NetworkDir paths. :: The trailing slash is also required for these paths. ::----------------------------------------------------------------------------- SET LogDir=C:/ProgramData/Alteryx/BackupLog/ SET TempDir=C:/Temp/ SET NetworkDir=//ServerName/SharePath/ SET AlteryxService="C:/Program Files/Alteryx/bin/AlteryxService.exe" SET ZipUtil="C:/Program Files/7-Zip/7z.exe" :: Set the maximium time to wait for the service to start or stop in whole seconds. Default value is 2 hours. SET MaxServiceWait=7200 ::----------------------------------------------------------------------------- :: Set Date/Time to a usable format and create log ::----------------------------------------------------------------------------- FOR /f %%a IN (#39;WMIC OS GET LocalDateTime ^| FIND "."#39;) DO SET DTS=%%a SET DateTime=%DTS:~0,4%%DTS:~4,2%%DTS:~6,2%_%DTS:~8,2%%DTS:~10,2%%DTS:~12,2% SET /a tztemp=%DTS:~21%/60 SET tzone=UTC%tztemp% echo %date% %time% %tzone%: Starting backup process... > %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: Stop Alteryx Service ::----------------------------------------------------------------------------- echo %date% %time% %tzone%: Stopping Alteryx Service... >> %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log SET COUNT=0 :StopInitState SC query AlteryxService | FIND "STATE" | FIND "RUNNING" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO StopService SC query AlteryxService | FIND "STATE" | FIND "STOPPED" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO StopedService SC query AlteryxService | FIND "STATE" | FIND "PAUSED" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO SystemError echo %date% %time% %tzone%: Service State is changing, waiting for service to resolve its state before making changes >> %LogDir%BackupLog%datetime%.log SC query AlteryxService | Find "STATE" timeout /t 1 /nobreak >NUL SET /A COUNT=%COUNT%+1 IF "%COUNT%" == "%MaxServiceWait%" GOTO SystemError GOTO StopInitState :StopService SET COUNT=0 SC stop AlteryxService >> %LogDir%BackupLog%datetime%.log GOTO StoppingService :StopServiceDelay echo %date% %time% %tzone%: Waiting for AlteryService to stop >> %LogDir%BackupLog%datetime%.log timeout /t 1 /nobreak >NUL SET /A COUNT=%COUNT%+1 IF "%COUNT%" == "%MaxServiceWait%" GOTO SystemError :StoppingService SC query AlteryxService | FIND "STATE" | FIND "STOPPED" >> %LogDir%BackupLog%datetime%.log IF errorlevel 1 GOTO StopServiceDelay :StopedService echo %date% %time% %tzone%: AlteryService is stopped >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: Backup MongoDB to local temp directory. ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Starting MongoDB Backup... >> %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log %AlteryxService% emongodump=%TempDir%ServerBackup_%datetime%/Mongo >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: Backup Config files to local temp directory. ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Backing up settings, connections, and aliases... >> %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log copy %ProgramData%/Alteryx/RuntimeSettings.xml %TempDir%ServerBackup_%datetime%/RuntimeSettings.xml >> %LogDir%BackupLog%datetime%.log copy %ProgramData%/Alteryx/Engine/SystemAlias.xml %TempDir%ServerBackup_%datetime%/SystemAlias.xml copy %ProgramData%/Alteryx/Engine/SystemConnections.xml %TempDir%ServerBackup_%datetime%/SystemConnections.xml %AlteryxService% getserversecret > %TempDir%ServerBackup_%datetime%/ControllerToken.txt ::----------------------------------------------------------------------------- :: Restart Alteryx Service ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Restarting Alteryx Service... >> %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log SET COUNT=0 :StartInitState SC query AlteryxService | FIND "STATE" | FIND "STOPPED" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO StartService SC query AlteryxService | FIND "STATE" | FIND "RUNNING" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO StartedService SC query AlteryxService | FIND "STATE" | FIND "PAUSED" >> %LogDir%BackupLog%datetime%.log IF errorlevel 0 IF NOT errorlevel 1 GOTO SystemError echo %date% %time% %tzone%: Service State is changing, waiting for service to resolve its state before making changes >> %LogDir%BackupLog%datetime%.log SC query AlteryxService | Find "STATE" timeout /t 1 /nobreak >NUL SET /A COUNT=%COUNT%+1 IF "%COUNT%" == "%MaxServiceWait%" GOTO SystemError GOTO StartInitState :StartService SET COUNT=0 SC start AlteryxService >> %LogDir%BackupLog%datetime%.log GOTO StartingService :StartServiceDelay echo %date% %time% %tzone%: Waiting for AlteryxService to start >> %LogDir%BackupLog%datetime%.log timeout /t 1 /nobreak >NUL SET /A COUNT=%COUNT%+1 IF "%COUNT%" == "%MaxServiceWait%" GOTO SystemError :StartingService SC query AlteryxService | FIND "STATE" | FIND "RUNNING" >> %LogDir%BackupLog%datetime%.log IF errorlevel 1 GOTO StartServiceDelay :StartedService echo %date% %time% %tzone%: AlteryxService is started >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: This section compresses the backup to a single zip archive :: :: Please note the command below requires 7-Zip to be installed on the server. :: You can download 7-Zip from http://www.7-zip.org/ or change the command to :: use the zip utility of your choice as defined in the variable above. ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Archiving backup... >> %LogDir%BackupLog%datetime%.log %ZipUtil% a %TempDir%ServerBackup_%datetime%.7z %TempDir%ServerBackup_%datetime% >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: Move zip archive to network storage location and cleanup local files ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Moving archive to network storage >> %LogDir%BackupLog%datetime%.log echo. >> %LogDir%BackupLog%datetime%.log copy %TempDir%ServerBackup_%datetime%.7z %NetworkDir%ServerBackup_%datetime%.7z >> %LogDir%BackupLog%datetime%.log del %TempDir%ServerBackup_%datetime%.7z >> %LogDir%BackupLog%datetime%.log rmdir /S /Q %TempDir%ServerBackup_%datetime% >> %LogDir%BackupLog%datetime%.log ::----------------------------------------------------------------------------- :: Done ::----------------------------------------------------------------------------- echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Backup process completed >> %LogDir%BackupLog%datetime%.log GOTO :EOF :SystemError echo. >> %LogDir%BackupLog%datetime%.log echo %date% %time% %tzone%: Error starting or stopping service. Service is not accessible, is offline, or did not respond to the start or stop request within the designated time frame. >> %LogDir%BackupLog%datetime%.log
Vollständigen Artikel anzeigen
Ich habe in letzter Zeit einige Situationen erlebt, in denen Daten verloren gingen, weil keine Sicherung von Alteryx Server verfügbar war. Ich kann nicht genug betonen wie wichtig es ist Ihren Server regelmäßig zu sichern. In diesem ersten von zwei Artikeln behandeln wir einige Optionen und Best Practices, mit denen Sie sicherstellen können, dass Sie bei Bedarf jederzeit die erforderlichen Sicherungen zur Verfügung haben. Teil 2 befasst sich mit der eingebetteten MongoDB-Instanz, die mit der Alteryx Server-Installation ausgeliefert wird. Falls Sie eine benutzerverwaltete MongoDB-Instanz verwenden, beachten Sie die MongoDB-Dokumentation für Sicherung und Wiederherstellung unter https://docs.mongodb.org/manual/administration/backup/.   Zunächst möchte ich einige allgemein akzeptierte Best Practices für die Sicherung von Servern und Datenbanken besprechen:   Planung regelmäßiger Sicherungen – Regelmäßige und geplante Sicherungen sind entscheidend, um Datenverluste und Ausfälle zu minimieren. Ich empfehle nächtliche Sicherungen außerhalb der Spitzenzeiten, um die Auswirkungen auf die Benutzer zu minimieren, und um bei einem Defekt oder einem weiteren Ausfall möglichst wenige Daten zu verlieren. Falls nächtliche Sicherungen nicht möglich sind, können Sie auch wöchentliche Sicherungen planen. Dabei ist es entscheidend, einen regelmäßigen Plan festzulegen.   Aufbewahrung des Sicherungsverlaufs für einen bestimmten Zeitraum – Unerwartete Probleme können auftreten, und möglicherweise schlägt eine Sicherung fehl, geht verloren, wird beschädigt oder gelöscht, oder das Problem wird nicht sofort bemerkt und setzt sich in den Sicherungen fort. Mit dem Sicherungsverlauf können Sie sicherstellen, dass immer eine Sicherung verfügbar ist, und können bei Bedarf eine Sicherung auswählen, die vor dem Auftreten des Problems erstellt wurde.   Speichern von Sicherungen im Netzwerk oder einem SAN-Speicher – Wenn Sie Ihre Sicherungen auf demselben Server wie Ihre Daten ablegen, besteht die Gefahr, dass die Sicherungen bei einem Defekt nicht verfügbar sind. Angenommen, ein Laufwerk in Ihrem Server ist defekt. Wenn die Sicherungen lokal auf dem Laufwerk gespeichert wurden, sind sie ebenfalls verloren und können nicht wiederhergestellt werden.  Wenn die Sicherungen jedoch im Netzwerk gespeichert wurden, sind sie von einem Defekt auf dem Server nicht betroffen.   Bewahren Sie eine Sicherungskopie an einem zweiten Standort auf – Für diesen Punkt gilt in etwa dasselbe wie im vorherigen Absatz. Wenn sich die einzigen Sicherungen auf einem Dateiserver im gleichen Rechenzentrum wie Alteryx Server befinden und eine Katastrophe in diesem Rechenzentrum auftritt, verlieren Sie sowohl Ihren Server als auch Ihre Sicherungen. Mit einer zusätzlichen Kopie an einem zweiten Standort können Sie Ihren Server bei Bedarf in der Cloud oder in einem anderen Rechenzentrum wiederherstellen.   Überprüfen der Sicherungsdateien – Führen Sie regelmäßige Prüfungen durch, um sicherzustellen, dass Ihre Sicherungen erfolgreich durchgeführt werden und dass die Sicherungen gültig und einsatzbereit sind. Es gibt nichts Schlimmeres als einen Sicherungsprozess einzurichten und später nach einem Ausfall festzustellen, dass die Sicherungen seit sechs Monaten nicht mehr funktionieren oder dass keine der Sicherungen verwendet werden kann.    Regelmäßige Tests der Wiederherstellungsprozedur – Bei Wiederherstellungsübungen können Sie sich mit dem Wiederherstellungsprozess vertraut machen und ein Gefühl dafür bekommen, wie lange es dauert, den funktionsfähigen Zustand nach einem Ausfall wiederherzustellen. Übungen helfen erwiesenermaßen dabei, Fehler zu reduzieren und wertvolle Zeit zu sparen. Führen Sie nach Möglichkeit einmal pro Quartal oder alle sechs Monate eine Übung durch.   In den meisten Fällen ist es nicht erforderlich, den gesamten Server inklusive des Betriebssystems und aller Daten zu sichern. Oft wird dadurch die Wiederherstellung sogar unnötig verlängert. Stattdessen empfehle ich Ihnen, nur Ihre kritischen Daten und Konfigurationsdateien für den Server zu sichern. Dies liegt daran, dass es deutlich schneller ist, den Server und die erforderliche Software neu zu installieren und anschließend die gesicherten Daten und Konfigurationen wiederherzustellen, als den gesamten Server wiederherzustellen. Dies gilt insbesondere für virtuelle Server, die normalerweise innerhalb von Minuten neu bereitgestellt werden können. Diese eingeschränkten Sicherungen werden außerdem schneller ausgeführt und validiert und können kostengünstiger aufbewahrt werden.   Teil 2 – Alteryx Server Sicherung und Wiederherstellung 2: Prozeduren    
Vollständigen Artikel anzeigen
Beschriftungen