9
votes

comment définir livy.server.session.timeout sur le bootstrap du cluster EMR?

Je crée un cluster EMR et j'utilise le notebook jupyter pour exécuter certaines tâches Spark. Mes tâches meurent après environ 1 heure d'exécution, et l'erreur est:

An error was encountered:
Invalid status code '400' from https://xxx.xx.x.xxx:18888/sessions/0/statements/20 with error payload: "requirement failed: Session isn't active."

Je crois comprendre qu'elle est liée au code de configuration de Livy livy.server.session.timeout >, mais je ne sais pas comment je peux le définir dans le bootstrap du cluster (je dois le faire dans le bootstrap car le cluster est créé sans accès ssh)

Merci beaucoup d'avance


0 commentaires

3 Réponses :


17
votes

Sur EMR, livy-conf est la classification des propriétés du fichier livy.conf de livy, donc lors de la création d'un cluster EMR, choisissez options avancées avec Livy comme application choisie pour l'installation, veuillez transmettre cette configuration EMR dans le champ Enter Configuration .

[{'classification': 'livy-conf','Properties': {'livy.server.session.timeout':'5h'}}]
  • Sur EMR, le binaire Livy se trouve dans / etc / livy / , et donc le fichier de configuration se trouve dans /etc/livy/conf/livy.conf li>

Pour vérifier cela,

  • Créer un cluster EMR avec une paire de clés ec2 connue, Livy et une configuration supérieure
  • À l'aide de la paire de clés ec2, connectez-vous au nœud maître EC2 associé au cluster ssh -i some-ec2-key-pair.pem hadoop @ ec2-00-00- 00-0.ca-region-n.compute.amazonaws.com
  • Accédez à / etc / livy / conf , vim livy.conf et voir la valeur mise à jour de livy.server.session.timeout


2 commentaires

Remplacez «classification» par «classification».


comment pouvons-nous changer la propriété livy.rsc.launcher.port.range dans livy-client.conf? impossible de le faire, la classification "livy-client" ou "livy-client-conf" ne fonctionne pas.



2
votes

Une autre façon de procéder si vous ne souhaitez pas recréer le cluster est: allez dans /etc/livy/conf/livy.conf et définissez la propriété livy.server.session.timeout sur la valeur que vous souhaitez. Après cela, exécutez sudo restart livy-server pour appliquer la configuration.


1 commentaires

Cette commande ne fonctionne pas pour le redémarrage. Mieux vaut utiliser ceci: sudo systemctl restart livy-server



3
votes

Si vous ne voulez pas du tout que la session Livy s'arrête, définissez la propriété livy.server.session.timeout-check sur false dans /etc/livy/conf/livy.conf .


2 commentaires

Essayer, (j'espère que cela fonctionne).


À l'aide de la page EMR de la console AWS pour mon cluster, je suis en mesure de modifier la table et d'ajouter une configuration pour tous les groupes d'instances, en utilisant livy-conf et livy.server.session.timeout-check , false . Le maître et le noyau passent ensuite en mode «reconfiguration».