MicroStrategy ONE

Errori di autorizzazione

Questa sezione fornisce informazioni sulla risoluzione dei problemi relativi agli errori di autorizzazione in un ambiente Linux.

Limite valore "bello" errato

Per migliorare le prestazioni in caso di carichi elevati della CPU, Intelligence Server dà priorità all'esecuzione di lavori critici in termini di tempo, come l'esecuzione di dashboard interattivi, rispetto alle richieste in background, come gli Smart Download. Per ottenere tale a assegnazione priorità del processo, i thread che eseguono processi interattivi possono occupare una parte maggiore del tempo CPU. Allo stesso modo, ai thread per le richieste in background viene assegnato un periodo di tempo della CPU più piccolo.

Nel sistema operativo Linux, le dimensioni del blocco CPU di un thread sono controllate dalle sue nice valore, che ha un'estensione relazione inversa al tempo della CPU (e priorità). Per eseguire ogni processo o richiesta in ingresso con la priorità corretta, Intelligence Server preleva uno o più thread da un pool, assegna dinamicamente i thread con una nice per eseguire il processo o la richiesta, quindi reimposta il valore nice value sul valore predefinito di 0, prima di restituire i thread al pool. Questa dinamica nice assegnazione di un valore, in particolare per il ripristino di 0 dopo aver aumentato il valore corretto (eliminazione delle priorità) dei thread delle richieste in background, è necessaria la configurazione di a livello utente limite per nice.

Per alleggerire la complessità della distribuzione, il programma di installazione di MicroStrategy configura automaticamente il file nice value, purché eseguito da a root utente. In caso contrario, se il programma di installazione viene eseguito da unroot utente, il nice Impossibile configurare il limite e vengono visualizzati i seguenti messaggi.

  • Al termine del processo di installazione, durante il programma di installazione di MicroStrategy verrà visualizzato uno dei seguenti messaggi:

  • Un messaggio simile viene visualizzato nell'output standard quando il programma di installazione viene eseguito dalla riga di comando. Se invece il programma di installazione viene eseguito in modalità invisibile, le seguenti voci vengono aggiunte a install.log file.

    Copia
    3 Jun 2020, 11:35:27 AM:SEVERE: Failed to set MicroStrategy Intelligence priority process settings 
    3 Jun 2020, 11:35:27 AM:SEVERE: Priority process settings for MicroStrategy Intelligence doesn't meet the requirements
    3 Jun 2020, 11:35:27 AM:SEVERE: Root privileges are required to configure the nice limit to 0 or lower
  • Nonostante il messaggio di errore riportato sopra, è ancora possibile avviare Intelligence Server una volta completata l'installazione. Per verificare l'errore nice quando Intelligence Server è in esecuzione, aprire il file DSSErrors.log e cercare le seguenti voci:

    Copia
      ... [Kernel][Error] ... The maximum scheduling priority ("nice") returned by "ulimit - e" has a value of %1. It does not satisfy the job prioritization feature's requirement that expects a value of 20 or higher. Please refer to the man page of "ulimit".
    Copia
     ... [Kernel][Info] ... The job prioritization feature is disabled.

Per risolvere il problema, è necessario configurare la massima nice limite, verificabile mediante ulimit -e comando, fino al valore corretto di 20, o versione successiva. Per configurare e verificare il nice limite, fare riferimento alla seguente procedura:

  1. Arrestare l'Intelligence Server se è in esecuzione.
  2. Utilizzando il privilegio di superutente (ad es. con sudo comando), creare un nuovo file di configurazione. MicroStrategy consiglia di utilizzare il nome mstr-priority.conf sotto il /etc/security/limits.d cartella.
  3. Aggiungi le seguenti voci al file di configurazione:

    Copia
    mstr  hard  nice  0
    mstr  soft  nice  0
  4. Salvare il file di configurazione.
  5. Riavvia la sessione esistente per applicare i nuovi limiti. Puoi semplicemente disconnetterti e riconnetterti alla nuova sessione quando usi SSH. Quando si utilizza VNC, è possibile riavviare il servizio, ad esempio utilizzando a systemctl restart vncserver@:1.service e quindi riconnettersi alla sessione. In entrambi i casi, assicurarsi mstr utente viene utilizzato per riconnettersi.
  6. Verificare l'impostazione eseguendo ulimit -e e verificare che il valore restituito sia 20, o versione successiva.
  7. Riavviare Intelligence Server.
  8. Controllare il DSSErrors.log per verificare che non siano presenti messaggi di errore relativi a nice limite e l'assegnazione di priorità al processo è abilitata.

Le impostazioni sopra descritte modificano solo il massimo nice valore per mstr utente e non dovrebbe influenzare altri utenti. Dovresti essere consapevole dei seguenti due scenari speciali:

  • È necessario sostituire mstr con il nome utente che eseguirà Intelligence Server nei passaggi precedenti. Per impostazione predefinita, il programma di installazione di MicroStrategy crea un'estensione mstr utente a questo scopo, ma è possibile scegliere un altro utente durante o dopo l'installazione.
  • Quando si esegue Intelligence Server tramite una sessione VNC avviata utilizzando systemd, il passaggio 6 potrebbe non restituire il valore corretto, 20, per questo motivo problema noto di Linux. Per risolvere questo problema, aggiungere la seguente impostazione a /etc/systemd/user.conf e /etc/systemd/system.conf:

    Copia
    DefaultLimitNICE=20

    Per applicare l'impostazione, eseguire systemctl daemon-reexec e riavvia la sessione VNC, ad esempio usando a systemctl restart vncserver@:1.service comando. In alternativa, puoi riavviare il computer.

  • Il computer Linux potrebbe disporre di ulteriori impostazioni di limiti a livello di sistema o utente che lo impediscono ulimit -e dalla restituzione del valore corretto di 20, o versione successiva. In questo caso, controlla le impostazioni dei limiti disponibili per la tua specifica distribuzione Linux.