Megosztás a következőn keresztül:


Oktatóanyag: Apache Kafka REST-proxyval kompatibilis fürt létrehozása a HDInsightban az Azure CLI használatával

Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre Apache Kafka REST-proxyval kompatibilis fürtöt az Azure HDInsightban az Azure CLI használatával. Az Azure HDInsight egy felügyelt, teljes körű, nyílt forráskódú elemzési szolgáltatás vállalatok részére. Az Apache Kafka egy nyílt forráskódú, elosztott adatstreamelési platform. Sokszor használják üzenetközvetítőként, mivel a közzétételi-feliratkozási üzenetsorokhoz hasonló funkciókat kínál. A Kafka REST Proxy lehetővé teszi a Kafka-fürttel való interakciót EGY REST API-n keresztül HTTP-n keresztül. Az Azure CLI a Microsoft platformfüggetlen parancssori felülete, amely Azure-erőforrások felügyeletére szolgál.

Az Apache Kafka API csak az ugyanazon virtuális hálózaton belüli erőforrások számára érhető el. A fürtöt közvetlenül az SSH használatával érheti el. Ha más szolgáltatásokat, hálózatokat vagy virtuális gépeket szeretne csatlakoztatni az Apache Kafkához, először létre kell hoznia egy virtuális hálózatot, majd létre kell hoznia a hálózaton belüli erőforrásokat. További információ: Csatlakozás az Apache Kafkához virtuális hálózat használatával.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • A Kafka REST-proxy előfeltételei
  • Apache Kafka-fürt létrehozása az Azure CLI használatával

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

  • Microsoft Entra ID azonosítóval regisztrált alkalmazás. A Kafka REST-proxyval való interakcióhoz írt ügyfélalkalmazások az alkalmazás azonosítóját és titkos kódját használják az Azure-beli hitelesítéshez. További információ: Alkalmazás regisztrálása a Microsoft Identitásplatform.

  • Egy Microsoft Entra biztonsági csoport, amelynek tagja a regisztrált alkalmazás. Ezzel a biztonsági csoporttal szabályozható, hogy mely alkalmazások használhatják a REST-proxyt. További információ a Microsoft Entra-csoportok létrehozásáról: Alapszintű csoport létrehozása és tagok hozzáadása a Microsoft Entra-azonosító használatával.

  • Azure CLI. Győződjön meg arról, hogy rendelkezik legalább a 2.0.79-es verzióval. Lásd: Az Azure CLI telepítése.

Apache Kafka-fürt létrehozása

  1. Jelentkezzen be az Azure-előfizetésbe.

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Környezeti változók beállítása. Az oktatóanyag változóinak használata a Bashen alapul. Más környezetekhez kisebb eltérésekre lesz szükség.

    Változó Leírás
    resourceGroupName Cserélje le a RESOURCEGROUPNAME nevet az új erőforráscsoport nevére.
    hely Cserélje le a LOCATION elemet egy olyan régióra, ahol a fürt létrejön. Az érvényes helyek listájához használja a az account list-locations parancsot
    clusterName Cserélje le a CLUSTERNAME nevet az új fürt globálisan egyedi nevére.
    storageAccount Cserélje le a STORAGEACCOUNTNAME nevet az új tárfiók nevére.
    httpPassword Cserélje le a JELSZÓ elemet a fürt bejelentkezési jelszavára, rendszergazda.
    sshPassword Cserélje le a JELSZÓT egy jelszóra a biztonságos rendszerhéj-felhasználónévhez, a sshuserhez.
    securityGroupName Cserélje le Standard kiadás CURITYGROUPNAME elemet a Kafka REST Proxy ügyfél Microsoft Entra biztonsági csoportjának nevére. A változó a következő paraméternek --kafka-client-group-name az-hdinsight-createlesz átadva: .
    securityGroupID Cserélje le a Standard kiadás CURITYGROUPID azonosítót a Kafka REST Proxyhoz tartozó Microsoft Entra ügyfélbiztonsági csoport azonosítójára. A változó a következő paraméternek --kafka-client-group-id az-hdinsight-createlesz átadva: .
    storageContainer Tároló, amelyet a fürt használni fog, hagyja meg az oktatóanyagot. Ez a változó a fürt nevével lesz beállítva.
    workernodeCount A fürt munkavégző csomópontjainak száma, és hagyja meg az oktatóanyagot. A magas rendelkezésre állás garantálásához a Kafka legalább 3 feldolgozó csomópontot igényel
    clusterType A HDInsight-fürt típusa, hagyja meg az oktatóanyagot.
    clusterVersion HDInsight-fürt verziója, hagyja meg az oktatóanyagot. A Kafka REST-proxyhoz legalább 4.0-s fürtverzió szükséges.
    componentVersion Kafka-verzió, hagyja meg az oktatóanyagot. A Kafka REST-proxy minimális 2.1-es összetevő-verziót igényel.

    Frissítse a változókat a kívánt értékekkel. Ezután adja meg a CLI-parancsokat a környezeti változók beállításához.

    export resourceGroupName=RESOURCEGROUPNAME
    export location=LOCATION
    export clusterName=CLUSTERNAME
    export storageAccount=STORAGEACCOUNTNAME
    export httpPassword='PASSWORD'
    export sshPassword='PASSWORD'
    export securityGroupName=SECURITYGROUPNAME
    export securityGroupID=SECURITYGROUPID
    
    export storageContainer=$(echo $clusterName | tr "[:upper:]" "[:lower:]")
    export workernodeCount=3
    export clusterType=kafka
    export clusterVersion=4.0
    export componentVersion=kafka=2.1
    
  3. Hozza létre az erőforráscsoportot az alábbi parancs megadásával:

     az group create \
        --location $location \
        --name $resourceGroupName
    
  4. Hozzon létre egy Azure Storage-fiókot az alábbi parancs megadásával:

    # Note: kind BlobStorage is not available as the default storage account.
    az storage account create \
        --name $storageAccount \
        --resource-group $resourceGroupName \
        --https-only true \
        --kind StorageV2 \
        --location $location \
        --sku Standard_LRS
    
  5. Bontsa ki az elsődleges kulcsot az Azure Storage-fiókból, és tárolja egy változóban az alábbi parancs beírásával:

    export storageAccountKey=$(az storage account keys list \
        --account-name $storageAccount \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Hozzon létre egy Azure Storage-tárolót az alábbi parancs megadásával:

    az storage container create \
        --name $storageContainer \
        --account-key $storageAccountKey \
        --account-name $storageAccount
    
  7. Hozza létre a HDInsight-fürtöt. A parancs megadása előtt jegyezze fel a következő paramétereket:

    1. A Kafka-fürtökhöz szükséges paraméterek:

      Parameter Leírás
      --Típus Az értéknek Kafka értékűnek kell lennie.
      --workernode-data-disks-per-node A feldolgozó csomópontonként használandó adatlemezek száma. A HDInsight Kafka csak adatlemezekkel támogatott. Ez az oktatóanyag 2 értéket használ.
    2. A Kafka REST-proxyhoz szükséges paraméterek:

      Parameter Leírás
      --kafka-management-node-size A csomópont mérete. Ez az oktatóanyag a Standard_D4_v2 értéket használja.
      --kafka-client-group-id A Kafka REST-proxyhoz tartozó Microsoft Entra ügyfélbiztonsági csoport azonosítója. Az értéket a $securityGroupID változó adja át.
      --kafka-client-group-name A Kafka REST Proxy ügyfél Microsoft Entra biztonsági csoportjának neve. Az értéket a $securityGroupName változó adja át.
      --Változat A HDInsight-fürt verziójának legalább 4.0-snak kell lennie. Az értéket a $clusterVersion változó adja át.
      --component-version A Kafka verziójának legalább 2.1-esnek kell lennie. Az értéket a $componentVersion változó adja át.

      Ha REST-proxy nélkül szeretné létrehozni a fürtöt, szüntesse meg --kafka-management-node-size--kafka-client-group-ida , és --kafka-client-group-name a az hdinsight create parancsból.

    3. Ha meglévő virtuális hálózata van, adja hozzá a paramétereket --vnet-name és --subnetaz értékeket.

    Adja meg a következő parancsot a fürt létrehozásához:

    az hdinsight create \
        --name $clusterName \
        --resource-group $resourceGroupName \
        --type $clusterType \
        --component-version $componentVersion \
        --http-password $httpPassword \
        --http-user admin \
        --location $location \
        --ssh-password $sshPassword \
        --ssh-user sshuser \
        --storage-account $storageAccount \
        --storage-account-key $storageAccountKey \
        --storage-container $storageContainer \
        --version $clusterVersion \
        --workernode-count $workernodeCount \
        --workernode-data-disks-per-node 2 \
        --kafka-management-node-size "Standard_D4_v2" \
        --kafka-client-group-id $securityGroupID \
        --kafka-client-group-name "$securityGroupName"
    

    A fürtlétrehozás folyamata több percet is igénybe vehet. Általában 15 körül.

Clean up resources

A cikk befejezése után érdemes törölni a fürtöt. A HDInsight használatával az adatok az Azure Storage-ban lesznek tárolva, így biztonságosan törölheti a fürtöt, ha nincs használatban. A HDInsight-fürtökért is díjat számítunk fel, még akkor is, ha nincs használatban. Mivel a fürt díjai sokszor nagyobbak, mint a tárolási díjak, érdemes törölni a fürtöket, ha nincsenek használatban.

Az erőforrások eltávolításához adja meg az összes vagy néhány parancsot:

# Remove cluster
az hdinsight delete \
    --name $clusterName \
    --resource-group $resourceGroupName

# Remove storage container
az storage container delete \
    --account-name $storageAccount  \
    --name $storageContainer

# Remove storage account
az storage account delete \
    --name $storageAccount  \
    --resource-group $resourceGroupName

# Remove resource group
az group delete \
    --name $resourceGroupName

Következő lépések

Most, hogy sikeresen létrehozott egy Apache Kafka REST-proxyt engedélyező fürtöt az Azure HDInsightban az Azure CLI használatával, használja a Python-kódot a REST-proxyval való interakcióhoz: