Vai al contenuto principale

Depositi Ilum

Per fornire una maggiore flessibilità e arricchire il ventaglio di possibilità a disposizione degli utenti Ilum, abbiamo ampliato la possibilità di configurare lo storage su cui gira Ilum. Fino ad ora, Ilum era fortemente legato a S3, ma a partire dalla versione 6.1.0 abbiamo cambiato questa situazione. Attualmente, è possibile utilizzare uno dei 4 tipi di archiviazione:

  1. S3 - Amazon Simple Storage Service o qualsiasi interfaccia compatibile con S3 come AlgaFS o MinIO.
  2. GCS - Archiviazione cloud di Google.
  3. WASBS - Archiviazione BLOB di Azure.
  4. HDFS - File system distribuito Hadoop.

L'archiviazione cluster predefinita Ilum può essere configurata con i valori helm. Ecco come configurare ognuno di essi utilizzando il comando helm upgrade:

S3

Aggiornamento dell'elmo \
--mettere ilum-core.kubernetes.upgradeClusterOnStartup=vero \
--mettere ilum-core.kubernetes.storage.type=S3 \
--mettere ilum-core.kubernetes.s3.host=ilum-minio \
--mettere ilum-core.kubernetes.s3.port=9000 \
--mettere ilum-core.kubernetes.s3.sparkBucket=ilum-spark \
--mettere ilum-core.kubernetes.s3.dataBucket=ilum-data \
--mettere ilum-core.kubernetes.s3.accessKey=minioadmin \
--mettere ilum-core.kubernetes.s3.secretKey=minioadmin \
--riutilizzare-valori ilum ilum/ilum

GCS

Aggiornamento dell'elmo \
--mettere ilum-core.kubernetes.upgradeClusterOnStartup=vero \
--mettere ilum-core.kubernetes.storage.type=Gcs \
--mettere ilum-core.kubernetes.gcs.clientEmail=gcsEmail \
--mettere ilum-core.kubernetes.gcs.privateKey=gcsPrivateKey \
--mettere ilum-core.kubernetes.gcs.privateKeyId=gcsPrivateKeyId \
--mettere ilum-core.kubernetes.gcs.sparkBucket=ilum-spark \
--mettere ilum-core.kubernetes.gcs.dataBucket=ilum-data \
--riutilizzare-valori ilum ilum/ilum

WASBS - Archiviazione BLOB di Azure

Aggiornamento dell'elmo \
--mettere ilum-core.kubernetes.upgradeClusterOnStartup=vero \
--mettere ilum-core.kubernetes.storage.type=Vespe \
--mettere ilum-core.kubernetes.wasbs.accessKey=wasbsAccessKey \
--mettere ilum-core.kubernetes.wasbs.accountName=wasbsAccountName \
--mettere ilum-core.kubernetes.wasbs.sparkContainer=ilum-spark \
--mettere ilum-core.kubernetes.wasbs.dataContainer=ilum-data \
--riutilizzare-valori ilum ilum/ilum

HDFS

Aggiornamento dell'elmo \
--mettere ilum-core.kubernetes.upgradeClusterOnStartup=vero \
--mettere ilum-core.kubernetes.storage.type=HDFS \
--mettere ilum-core.kubernetes.hdfs.hadoopUsername=HDFS \
--mettere ilum-core.kubernetes.hdfs.config.'core-site\.xml'=base64EncodedCore-SiteFileContent \
--mettere ilum-core.kubernetes.hdfs.config.'yarn-site\.xml'=base64EncodedYarn-SiteFileContent \
--mettere ilum-core.kubernetes.hdfs.config.'hdfs-site\.xml'=base64EncodedHdfs-SiteFileContent \
--mettere ilum-core.kubernetes.hdfs.config.'mapred-site\.xml'=base64EncodedMapred-SiteFileContent \
--mettere ilum-core.kubernetes.hdfs.sparkCatalog=ilum-spark \
--mettere ilum-core.kubernetes.hdfs.dataCatalog=ilum-data \
--mettere ilum-core.kubernetes.hdfs.logDirectory=hdfs://10.1.2.3/user/hdfs/illum-spark/ilum/logs \
--riutilizzare-valori ilum ilum/ilum

Nota: I file di configurazione Hdfs devono essere codificati in formato base64

Avvertimento: Fai attenzione, se vuoi modificare l'archiviazione spark del cluster, assicurati che non abbia gruppi o lavori assegnati, altrimenti potrebbe causare problemi durante la rimozione dopo l'aggiornamento

A seconda delle opzioni precedenti scelte, verranno creati un cluster predefinito e un server di cronologia Spark, se abilitati, configurati con questa risorsa di archiviazione specifica.

È possibile assegnare più archivi a ciascun cluster Ilum a livello di creazione del cluster, la configurazione necessaria di ciascuno di essi viene trasferita ai processi spark di questo cluster, in modo da poter accedere facilmente alle tabelle ilum situate in tali archivi.

Esempio

In questo articolo è possibile trovare esempi su come sfruttare il cluster Ilum multi-storage nei processi Spark deposito