Fel vi systemd-användartjänst

Du kan få ett av följande fel när du uppgraderar eller kör initialize-tsm under en ny installation:

  • ”Failed to get D-Bus connection: No such file or directory” (Det gick inte att erhålla D-Bus-anslutningen: filen eller katalogen finns inte).
  • ”$XDG_RUNTIME_DIR not found” ($XDG_RUNTIME_DIR hittades inte).
  • ”systemd unit user@<userID> is not running. Check /var/log/messages or /var/log/syslog.” (systemd unit user@<userID> körs inte. Kontrollera /var/log/messages eller /var/log/syslog.).

Bakgrund

Från och med 2018.1 använder Tableau Server systemd-användartjänsten för att hantera processer. Detta innebär att det finns en systemd-process som körs som den obehöriga användaren. Som standard skapar Tableau Server-installationsprogrammet ett obehörigt konto som heter tableau. Tableau Server-processerna skapas från systemd-processen och inte den systemomfattande systemd-processen, som körs som rot.

Viktigt: Den hör observation om felsökning gäller främst RHEL 7-baserade driftsättningar. Om du dock ser ett av dessa fel är det möjligt att samma problem finns på Ubuntu-driftsättningar.

systemd-användartjänsten används inte lika vanligt som den normala systemd-processhanteraren. Red Hat inaktiverade systemd-användartjänsten i RHEL 7 (och därmed alla driftsättningar som kommer från RHEL, såsom CentOS, Oracle Linux 7, Amazon Linux 2). RedHat har dock försäkrat Tableau att systemd-användartjänsten stöds för att köras så länge den återaktiveras.

Uppgradera från Tableau Server på Linux 10.5

Kontrollera att den obehöriga användaren har ett giltigt skal och hemkatalog om du uppgraderar från Tableau Server 10.5. För Tableau Server 10.5 skapade Tableau medvetet den obehöriga användaren med skalet satt till /sbin/nologinoch hemkatalogen till ”/”. Om den obehöriga användaren skapades av initialize-tsm uppdaterar Tableau skalet och hemkatalogen under uppgraderingen till 2018.1.

Om du skapade den obehöriga användaren under den första installationen av 10.5 får du dock ett felmeddelande när du försöker uppgradera.

För att korrigera detta måste du ställa in skalet till /sbin/nologin och hemkatalogen till ”/”. Kör sedan uppgraderingen igen.

Felsökning av fel vid ny installation

Kontrollera att systemd-användartjänsten körs.

Kontrollera genom att köra kommandot ps -fww $(pgrep -f "systemd --user")

Om systemd-användartjänsten inte körs var det något som hindrade den från att starta.

Följ den här listan för att felsöka:

  • Kontrollera loggfilerna i /var/log/messages

  • Kör journalctl

  • Verifiera att eventuell anpassning som du kan ha gjort av PAM-konfigurationen inte har tagits bort från pam_systemd.so.

    Om RHEL 7 PAM-filen /etc/pam.d/system-auth saknar följande rad:

    -session optional pam_systemd.so

    måste den läggas till igen för att Tableau Server ska fungera.

  • Om -session optional pam_systemd.so finns i PAM-konfigurationen kan användartjänsten inte starta och felmeddelandet $XDG_RUNTIME_DIR not found visas i /var/log/messages. Försök inte ställa in miljövariabeln. I det här scenariot är felet inte korrekt.

    Det verkliga felet är att PAM-modulen pam_systemd.so inte kan allokera användarsessionen. Standardkonfigurationen tystar felmeddelanden från pam_systemd.so. För att visa fel- och felsökningsmeddelanden ska du ändra raden i /etc/pam.d/system-auth från -session optional pam_systemd.so till session optional pam_systemd.so debug. (Om du tar bort det inledande bindestrecket visas felmeddelandena och om du lägger till debug visas mer utförlig loggning.)

    Nu kan du läsa filerna /var/log/messages, /var/log/secure och /var/log/audit/audit.log för att hitta felmeddelanden.

Exempel

Du kan se följande felmeddelande:

systemd-logind: Failed to mount per-user tmpfs directory /run/user/0: Permission denied

I det här fallet leder en onlinesökning efter felet till RedHat KB-artikeln, https://access.redhat.com/solutions/2460611(Länken öppnas i ett nytt fönster).

Artikeln rekommenderar att du uppdaterar paketet selinux-policy genom att köra sudo yum update selinux-policy.

I vissa fall åtgärdar en uppgradering från version 3.12.X till 3.13.X ett problem med $XDG_RUNTIME_DIR not found. Se till att köra sudo reboot efter att paketet har uppdaterats.