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 :
- S3 - Amazon Simple Storage Service ou toute interface compatible S3 comme AlguesFS ou MinIO.
- CGV - Stockage en nuage Google.
- WASBS - Stockage Blob Azure.
- 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