MicroStrategy ONE

Erreurs d'autorisation

Cette section fournit des informations de dépannage sur les erreurs d'autorisation dans un environnement Linux.

Limite de valeur « sympa » incorrecte

Pour améliorer les performances sous des charges CPU élevées, Intelligence Server donne la priorité à l'exécution des tâches critiques, telles que l'exécution de tableaux de bord interactifs, par rapport aux requêtes en arrière-plan, telles que les téléchargements intelligents. Pour parvenir à un tel hiérarchisation des tâches, les threads qui exécutent des tâches interactives sont autorisés à occuper une plus grande partie du temps de processeur. De manière équivalente, les threads pour les requêtes en arrière-plan se voient attribuer une tranche de temps CPU plus petite.

Dans le système d'exploitation Linux, la taille du bloc de processeur d'un thread est contrôlée par son nice valeur, qui a inversement par rapport au temps de processeur (et à la priorité). Pour exécuter chaque tâche ou requête entrante avec la priorité correcte, Intelligence Server sélectionne un ou plusieurs threads à partir d'un pool, assigne dynamiquement les threads avec une bonne nice pour exécuter la tâche ou la requête, puis réinitialise la nice valeur à la valeur par défaut de 0, avant de renvoyer les threads vers le pool. Cette dynamique nice affectation de valeur, en particulier pour la réinitialisation 0 après avoir augmenté la valeur de gentillesse (dépriorisation) des threads des requêtes d'arrière-plan, nécessite la configuration d'un niveau utilisateur limite pour nice.

Pour alléger la complexité du déploiement, le programme d'installation MicroStrategy configure automatiquement nice valeur, tant qu'elle était exécutée par un root utilisateur. Sinon, si le programme d'installation est exécuté par une personne nonroot utilisateur, l' nice La limite ne peut pas être configurée et les messages suivants sont affichés.

  • Le programme d'installation MicroStrategy affichera l'un des messages suivants ci-dessous à la fin du processus d'installation.

  • Un message similaire s'affiche sur la sortie standard lorsque le programme d'installation est exécuté à partir de la ligne de commande. D'autre part, si le programme d'installation est exécuté en mode silencieux, les entrées suivantes sont ajoutées dans install.log fichier.

    Copier
    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
  • Malgré le message d'erreur ci-dessus, Intelligence Server peut toujours être démarré une fois l'installation terminée. Pour vérifier l'erreur nice limites lorsque Intelligence Server est en cours d'exécution, ouvrez la DSSErrors.log fichier et rechercher les entrées suivantes :

    Copier
      ... [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".
    Copier
     ... [Kernel][Info] ... The job prioritization feature is disabled.

Pour résoudre ce problème, vous devez configurer le maximum nice limite, qui peut être vérifiée à l'aide de la ulimit -e commande, jusqu'à ce que la valeur correcte de 20, ou une version ultérieure, est renvoyé. Pour configurer et vérifier nice limite, reportez-vous aux étapes suivantes :

  1. Arrêtez Intelligence Server s’il est en cours d’exécution.
  2. En utilisant le privilège de super utilisateur (par exemple, avec sudo command), créez un fichier de configuration. MicroStrategy vous recommande d'utiliser le nom mstr-priority.conf sous la /etc/security/limits.d dossier .
  3. Ajoutez les entrées suivantes au fichier de configuration :

    Copier
    mstr  hard  nice  0
    mstr  soft  nice  0
  4. Enregistrez le fichier de configuration.
  5. Redémarrez votre session existante pour appliquer les nouvelles limites. Vous pouvez simplement vous déconnecter et vous reconnecter à la nouvelle session lorsque vous utilisez SSH. Lorsque vous utilisez VNC, vous pouvez redémarrer le service, par exemple en utilisant un systemctl restart vncserver@:1.service commande , puis reconnectez-vous à la session. Dans les deux cas, assurez-vous mstr l'utilisateur est utilisé pour se reconnecter.
  6. Vérifier le paramètre en exécutant ulimit -e et confirmer que la valeur renvoyée est 20, ou une version ultérieure.
  7. Redémarrez le serveur Intelligence Server.
  8. Vérifier DSSErrors.log pour vérifier qu'il n'y a pas de message d'erreur concernant nice limite et la hiérarchisation des tâches est activée.

Les paramètres décrits ci-dessus modifient uniquement le maximum nice valeur pour mstr utilisateur et ne devrait pas affecter les autres utilisateurs. Vous devez être conscient des deux scénarios spéciaux suivants :

  • Vous devez remplacer mstr avec le nom d'utilisateur qui exécutera Intelligence Server lors des étapes ci-dessus. Par défaut, le programme d'installation MicroStrategy crée une mstr utilisateur à cette fin, mais vous pouvez choisir un autre utilisateur pendant ou après l'installation.
  • Lors de l'exécution d'Intelligence Server via une session VNC qui a commencé à utiliser systemd, l'étape 6 peut ne pas renvoyer la valeur correcte, 20, à cause de cela problème Linux connu. Pour résoudre ce problème, ajoutez le paramètre suivant à /etc/systemd/user.conf et /etc/systemd/system.conf

    Copier
    DefaultLimitNICE=20

    Pour appliquer le paramètre, exécutez systemctl daemon-reexec et redémarrez votre session VNC, par exemple en utilisant un systemctl restart vncserver@:1.service commande. Vous pouvez également redémarrer votre ordinateur.

  • Votre ordinateur Linux peut avoir des paramètres de limite utilisateur ou système supplémentaires qui empêchent ulimit -e de renvoyer la valeur correcte de 20, ou une version ultérieure. Dans ce cas, veuillez consulter les paramètres de limite disponibles pour votre distribution Linux spécifique.