Provisioning di un'istanza senza server IBM Analytics Engine

Puoi creare un'istanza del servizio IBM Analytics Engine senza server:

Nota che non puoi definire alcune impostazioni di limitazione e quota durante il provisioning di un'istanza senza server. Questi valori sono predefiniti. Vedi Limiti e quote per le istanze Analytics Engine per un elenco di queste impostazioni e i loro valori.

Devi avere accesso alla IBM Cloud® us-south (Dallas) o alla regione eu-de (Frankurt).

Creazione di un'istanza del servizio dalla console IBM Cloud

Puoi creare una tua istanza utilizzando la console IBM Cloud. Per comprendere i concetti dietro le impostazioni di provisioning nell'IU, vedi Architettura e concetti nelle istanze senza server.

Per creare un'istanza IBM Analytics Engine:

  1. Accedi alla consoleIBM Cloud®.

  2. Fai clic su Sevices e seleziona la categoria Analytics.

  3. Cerca Analytics Engine e fai quindi clic sul tile per visualizzare la pagina di creazione dell'istanza del servizio.

  4. Scegliere l'ubicazione in cui si desidera distribuire l'istanza del servizio. Attualmente, us - south e eu - de sono le uniche regioni supportate.

  5. Seleziona un piano. Attualmente, Standard Serverless for Apache Spark è l'unico piano senza server supportato.

  6. Configurare l'istanza immettendo un nome a scelta, selezionando un gruppo di risorse e aggiungendo tag.

  7. Selezionare il runtime Spark predefinito. Spark 3.4 è l'impostazione predefinita. Il runtime preinstalla i pacchetti di crittografia spaziotemporale, di data skipping e Paquet modulare per impostazione predefinita.

  8. Selezionare l'istanza IBM Cloud Object Storage dall'account che si desidera utilizzare come instance home per memorizzare i dati correlati all'istanza.

  9. Aggiungere i valori di configurazione Spark per sovrascrivere le impostazioni predefinite di Apache Spark.

  10. Fai clic su Crea per eseguire il provisioning dell'istanza del servizio in background.

    Il servizio appena creato è elencato nell'elenco delle risorse IBM Cloud® in *Servizi.

Creazione di un'istanza del servizio utilizzando l'interfaccia riga di comando IBM Cloud

Per creare un'istanza del servizio utilizzando l'interfaccia riga di comando IBM Cloud®:

  1. Scarica e configurare la CLI IBM Cloud®. Segui le istruzioni in Introduzione alla CLI IBM Cloud®.

  2. Imposta l'endpoint API per la tua regione e accedi:

    ibmcloud api https://{DomainName}
    ibmcloud login
    
  3. Ottieni l'elenco dei gruppi di risorse per il tuo account e seleziona uno dei gruppi di risorse restituiti come gruppo di risorse di destinazione in cui creare l'istanza senza server IBM Analytics Engine:

    ibmcloud resource groups
    ibmcloud target -g <resource_group_name>
    
  4. Crea un'istanza del servizio:

    ibmcloud resource service-instance-create <service_instance_name> ibmanalyticsengine <plan_name> <region> -p @<path_to JSON file with cluster parameters>
    

    Ad esempio, per la regione Dallas:

    ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.json
    

    Puoi fornire all'istanza del servizio qualsiasi nome tu scelga. Nota che attualmente, standard - serverless - spark è l'unico piano senza server supportato e us - south e eu - de le uniche regioni supportate.

    Il file provision.json contiene i parametri di provisioning per l'istanza che vuoi creare.

    L'endpoint per la tua istanza IBM Cloud Object Storage nel file JSON del payload deve essere l'endpoint diretto. Gli endpoint diretti offrono prestazioni migliori rispetto agli endpoint pubblici e non comportano costi per la larghezza di banda in uscita o in entrata.

    Questo è un esempio di come può essere il file provision.json. Vedi Architettura e concetti nelle istanze senza server per una descrizione dei parametri di provisioning nel payload.

    Si noti che Spark 3.4 è supportato. Se non si specifica una versione predefinita del runtime di Spark quando si crea un'istanza di servizio, Spark 3.4 viene preso per default.

    {
      "default_runtime": {
        "spark_version": "3.4"
        },
      "instance_home": {
        "region": "us-south",
        "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
        "hmac_access_key": "<your-hmac-access-key",
        "hmac_secret_key": "<your-hmac-secret-key"
        },
      "default_config": {
        "key1": "value1",
        "key2": "value2"
        }
    }
    

    La risposta IBM Cloud® al comando create instance:

    Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>...
    OK
    Service instance MyServiceInstance was created.
    
    Name:                MyServiceInstance
    ID:                  crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***::
    GUID:                1e32e***-afd9-483a-b1**-724ba5cf4***
    Location:            us-south
    State:               provisioning
    Type:                service_instance
    Sub Type:
    Service Endpoints:   public
    Allow Cleanup:       false
    Locked:              false
    Created at:          2021-11-29T07:20:40Z
    Updated at:          2021-11-29T07:20:42Z
    Last Operation:
                        Status    create in progress
                        Message   Started create instance operation
    

    Prendere nota dell'ID istanza dall'output. Avrai bisogno dell'ID istanza quando richiami le API di gestione dell'istanza o di gestione dell'applicazione Spark. Vedi API REST dell'applicazione Spark.

  5. Monitorare la disponibilità di un'istanza.

Creazione di un'istanza del servizio utilizzando l'API REST del controller delle risorse

Un'istanza senza server IBM Analytics Engine deve risiedere in un gruppo di risorse IBM Cloud®. Come primo passo verso la creazione di un'istanza senza server IBM Analytics Engine tramite l'API REST del controller di risorse, devi avere l'ID gruppo di risorse e l'ID piano senza server a portata di mano.

Per creare un'istanza del servizio utilizzando l'API REST del controller delle risorse:

  1. Ottieni un ID gruppo di risorse accedendo alla CLI IBM Cloud® ed eseguendo il seguente comando:

    ibmcloud resource groups
    

    Risultato di esempio:

    Retrieving all resource groups under account <Account details..>
    OK
    Name      ID      Default Group   State
    Default   XXXXX   true            ACTIVE
    
  2. Utilizzare il seguente ID piano delle risorse per il piano Standard Serverless per Apache Spark:

    8afde05e-5fd8-4359-a597-946d8432dd45
    
  3. Ottieni il token IAM eseguendo i seguenti passi.

  4. Crea un'istanza utilizzando l'API REST del controller di risorse:

    curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/
    --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.json
    

    Il file provision.json contiene i parametri di provisioning per l'istanza che vuoi creare. Vedi Architettura e concetti nelle istanze senza server per una descrizione dei parametri di provisioning nel payload.

    Si noti che Spark 3.4 è supportato. Se non si specifica una versione predefinita del runtime di Spark quando si crea un'istanza di servizio, Spark 3. viene preso per impostazione predefinita.

    Questo è un esempio di come può essere il file provision.json:

    {
      "name": "your-service-instance-name",
      "resource_plan_id": "8afde05e-5fd8-4359-a597-946d8432dd45",
      "resource_group": "resource-group-id",
      "target": "us-south",
      "parameters": {
        "default_runtime": {
          "spark_version": "3.4"
            },
            "instance_home": {
              "region": "us-south",
              "endpoint": "s3.direct.us-south.cloud-object-storage.appdomain.cloud",
              "hmac_access_key": "your-access-key",
              "hmac_secret_key": "your-secret-key"
              }
        }
    }
    
  5. Monitorare la disponibilità di un'istanza.

Per ulteriori informazioni sull'API REST del controller delle risorse per creare un'istanza, vedi Create(provisioning)a new resource instance.

Traccia della disponibilità dell'istanza

Per eseguire le applicazioni su un'istanza senza server appena creata, l'istanza deve essere nello stato active.

Per tenere traccia della disponibilità dell'istanza:

  1. Immetti il seguente comando:
    curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/{instance_id} -H "Authorization: Bearer $token"
    
    Risposta di esempio:
    {
      "id": "dc0e****-eab2-4t9e-9441-56620949****",
      "state": "created",
      "state_change_time": "2021-04-21T04:24:01Z",
      "default_runtime": {
        "spark_version": "3.4",
        "instance_home": {
          "provider": "ibm-cos",
          "type": "objectstore",
          "region": "us-south",
          "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
          "bucket": "ae-bucket-do-not-delete-dc0e****-eab2-4t**-9441-566209499546",
          "hmac_access_key": "eH****g=",
          "hmac_secret_key": "4d********76"
        },
        "default_config": {
          "spark.driver.memory": "4g",
          "spark.driver.cores": 1
        }
      }
    }
    
  2. Controllare il valore dell'attributo " "state". Deve essere active prima di poter avviare l'esecuzione delle applicazioni nell'istanza.

Ulteriori informazioni

Quando esegui il provisioning di istanze senza server, segui le procedure ottimali consigliate.