Pourquoi le redimensionnement classique de mon cluster Amazon Redshift prend-il tant de temps ?

Date de la dernière mise à jour : 17/11/2020

J'ai initié un redimensionnement classique, mais je ne le vois pas progresser dans mon cluster Amazon Redshift, ou cela prend trop de temps. Comment obtenir une meilleure estimation du temps d'arrêt pour effectuer un redimensionnement classique ?

Solution

Le temps nécessaire à votre cluster Amazon Redshift pour effectuer un redimensionnement classique peut varier (de plusieurs heures à plusieurs jours). Le redimensionnement classique de votre cluster peut prendre plus de temps pour les raisons suivantes :

  • La charge de travail de lecture sur le cluster source
  • Le nombre et la taille des tables transférées
  • La définition de la table et son asymétrie
  • Configuration des nœuds (nombre et type de nœuds) utilisée dans les clusters source et cible

Pour plus d'informations, consultez la section Détails du redimensionnement d'un cluster dans Redimensionnement des clusters dans Amazon Redshift.

Réduction des temps d'arrêt pour un redimensionnement classique

Pour réduire le temps nécessaire à un redimensionnement classique, considérez les approches suivantes :

  • Surveillez l'état de votre opération de redimensionnement à l'aide de la console Amazon Redshift. Cliquez sur l'onglet État de la page de détails du cluster. L'onglet État vous indique le taux moyen de transfert, le temps écoulé et le temps restant.
  • Réparez les tables asymétriques et choisissez une clé de distribution appropriée. Pour plus d'informations, consultez la section Amazon Redshift Engineering's Advanced Table Design Playbook: Distribution Styles and Distribution Keys (Playbook de conception de table avancée d'ingénierie Amazon Redshift : styles de distribution et clés de distribution).
  • Supprimez les tables non utilisées. Pour identifier les tables non utilisées, exécutez le script summary.sql des tables non analysées sur le site Web GitHub.
    Remarque : le résumé des tables non analysées montre uniquement l'historique récent des derniers jours. Utilisez l'utilitaire SystemTablePersistence du site Web GitHub pour capturer les données d'utilisation sur une période plus longue.
  • Utilisez le redimensionnement Elastic. Le redimensionnement Elastic ajoute ou supprime des nœuds sur un cluster Amazon Redshift existant, redistribuant automatiquement les données vers les nouveaux nœuds. Étant donné que le redimensionnement Elastic ne crée pas de nouveau cluster, le temps d'arrêt est nettement inférieur au temps d'arrêt pour un redimensionnement classique. Pour plus d'informations sur le redimensionnement Elastic, consultezRedimensionnement des clusters.

Pour plus d'informations sur l'optimisation de vos performances de redimensionnement, consultez les 10 meilleures techniques de réglage des performances d'Amazon Redshift.

Dépannage du redimensionnement classique

  • Si l'état de votre cluster est « NONE » dans l'interface de ligne de commande AWS (AWS CLI), le cluster cible est encore en cours de provisionnement. Attendez que votre cluster cible soit approvisionné. Après avoir été copié, l'état devient « IN_PROGRESS ».
    Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis AWS CLI, assurez-vous que vous utilisez la version d'AWS CLI la plus récente.
  • Si vous recevez un message d'erreur concernant l'espace disque insuffisant, il indique que vos données ne rentrent pas dans le cluster cible. Redimensionnez votre cluster Amazon Redshift avec plus de nœuds, un style de distribution différent ou un type de nœud différent. Pour plus d'informations, consultez Redimensionnement des clusters dans Amazon Redshift.
  • Pour annuler une opération de redimensionnement avant qu'elle ne se termine, sélectionnez Cancel resize (annuler le redimensionnement) depuis la page de détails du clusters dans la console Amazon Redshift. Vous pouvez également utiliser la commande cancel-resize à partir d'AWS CLI.
    Remarque : vous ne pouvez pas annuler l'opération de redimensionnement si elle est dans sa phase finale.