Aller au contenu principal

Entrepôts Ilum

Afin d’offrir une plus grande flexibilité et d’enrichir l’éventail des possibilités disponibles pour les utilisateurs d’Ilum, nous avons élargi la possibilité de configurer le stockage sur lequel Ilum s’exécute. Jusqu’à présent, Ilum était fortement lié à S3, mais à partir de la version 6.1.0, nous avons changé cela. Actuellement, il est possible d’utiliser l’un des 4 types de stockages suivants :

  1. S3 - Amazon Simple Storage Service ou toute interface compatible S3 comme AlguesFS ou MinIO.
  2. CGV - Stockage en nuage Google.
  3. WASBS - Stockage Blob Azure.
  4. HDFS - Système de fichiers distribués Hadoop.

Le stockage de cluster par défaut d’Ilum peut être configuré avec des valeurs helm. Voici comment vous pouvez configurer chacun d’entre eux à l’aide de la commande helm upgrade :

S3

Mise à niveau Helm \
--poser ilum-core.kubernetes.upgradeClusterOnStartup=vrai \
--poser ilum-core.kubernetes.storage.type=S3 \
--poser ilum-core.kubernetes.s3.host=ilum-minio \
--poser ilum-core.kubernetes.s3.port=9000 \
--poser ilum-core.kubernetes.s3.sparkBucket=ilum-spark \
--poser ilum-core.kubernetes.s3.dataBucket=ilum-data \
--poser ilum-core.kubernetes.s3.accessKey=minioadmin \
--poser ilum-core.kubernetes.s3.secretKey=minioadmin \
--reuse-values ilum ilum/ilum

CGV

Mise à niveau Helm \
--poser ilum-core.kubernetes.upgradeClusterOnStartup=vrai \
--poser ilum-core.kubernetes.storage.type=CGV \
--poser ilum-core.kubernetes.gcs.clientEmail=gcsEmail \
--poser ilum-core.kubernetes.gcs.privateKey=gcsPrivateKey \
--poser ilum-core.kubernetes.gcs.privateKeyId=gcsPrivateKeyId \
--poser ilum-core.kubernetes.gcs.sparkBucket=ilum-spark \
--poser ilum-core.kubernetes.gcs.dataBucket=ilum-data \
--reuse-values ilum ilum/ilum

WASBS - Stockage Blob Azure

Mise à niveau Helm \
--poser ilum-core.kubernetes.upgradeClusterOnStartup=vrai \
--poser ilum-core.kubernetes.storage.type=WASB \
--poser ilum-core.kubernetes.wasbs.accessKey=wasbsAccessKey \
--poser ilum-core.kubernetes.wasbs.accountName=wasbsAccountName \
--poser ilum-core.kubernetes.wasbs.sparkContainer=ilum-spark \
--poser ilum-core.kubernetes.wasbs.dataContainer=ilum-data \
--reuse-values ilum ilum/ilum

HDFS

Mise à niveau Helm \
--poser ilum-core.kubernetes.upgradeClusterOnStartup=vrai \
--poser ilum-core.kubernetes.storage.type=HDFS \
--poser ilum-core.kubernetes.hdfs.hadoopUsername=HDFS \
--poser ilum-core.kubernetes.hdfs.config.'core-site\.xml'=base64EncodedCore-SiteFileContent \
--poser ilum-core.kubernetes.hdfs.config.'yarn-site\.xml'=base64EncodedYarn-SiteFileContent \
--poser ilum-core.kubernetes.hdfs.config.'hdfs-site\.xml'=base64EncodedHdfs-SiteFileContent \
--poser ilum-core.kubernetes.hdfs.config.'mapred-site\.xml'=base64EncodedMapred-SiteFileContent \
--poser ilum-core.kubernetes.hdfs.sparkCatalog=ilum-spark \
--poser ilum-core.kubernetes.hdfs.dataCatalog=ilum-data \
--poser ilum-core.kubernetes.hdfs.logDirectory=hdfs://10.1.2.3/user/hdfs/illum-spark/ilum/logs \
--reuse-values ilum ilum/ilum

Note: Les fichiers de configuration Hdfs doivent être encodés au format base64

Avertissement: Attention, si vous souhaitez modifier le stockage spark du cluster, assurez-vous qu’il n’a pas de groupes ou de tâches qui lui sont attribués, sinon cela pourrait entraîner des problèmes lors de leur suppression après la mise à jour

En fonction de l’option ci-dessus que vous choisissez, un cluster par défaut et un serveur d’historique Spark, s’ils sont activés, seront créés configurés avec ce stockage spécifique.

Plusieurs stockages peuvent être attribués à chaque cluster Ilum au niveau de la création du cluster, la configuration nécessaire de chacun d’eux est transférée aux tâches Spark de ce cluster, de sorte que nous pouvons facilement accéder aux tables ilum situées dans ces stockages.

Exemple

Vous trouverez des exemples sur la façon de tirer parti du cluster Ilum multi-stockage dans vos tâches Spark dans ce dépôt