ML Services kümesinde işlemsel hale Azure HDInsight

Önemli

Bu içerik kullanımdan kalkmışsa ve gelecekte güncelleştirilmeyecek. Azure HDInsight 3,6 ML Hizmetleri (Machine Learning Server) küme türü 31 Aralık 2020 itibariyle kullanımdan kaldırıldı.

Veri modellemenizi tamamlamak ML HDInsight'ta ML Services kümesi kullandıktan sonra, tahminde etmek için modeli faaliyete kullanılmaktadır. Bu makalede, bu görevi gerçekleştirmeye ilişkin yönergeler velanmıştır.

Önkoşullar

ML Services kümesinde tek kutu yapılandırmasıyla işlemselleştirme

Not

Aşağıdaki adımlar R Server 9.0 ve ML Server 9.1 için geçerlidir. 9.3 ML Server için bkz. İşletimselleştirme yapılandırmasını yönetmek için yönetim aracını kullanma.

  1. Kenar düğümüne SSH uygulayın.

    ssh USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net
    

    SSH'yi hdinsight ile Azure HDInsight yönergeleri için bkz. HDInsight ile SSH kullanma..

  2. İlgili sürüm için dizini değiştirme ve dot net dll dosyasını sudo ile değiştirme:

    • Microsoft ML Server 9.1 için:

      cd /usr/lib64/microsoft-r/rserver/o16n/9.1.0
      sudo dotnet Microsoft.RServer.Utils.AdminUtil/Microsoft.RServer.Utils.AdminUtil.dll
      
    • Microsoft R Server 9.0 için:

      cd /usr/lib64/microsoft-deployr/9.0.1
      sudo dotnet Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
      
  3. Size seçenekler sunulmaktadır. Aşağıdaki ekran görüntüsünde gösterildiği gibi, İlk seçeneği İşletimselleştirme için ML Server seçeneğini belirleyin.

    R server Yönetim yardımcı programı seçme

  4. Şimdi, yeni bir işletimselleştirmeyi nasıl seçmek istediğinize ML Server. Sunulan seçeneklerden, A girerek ilki seçin.

    R server Yönetim yardımcı programı çalışır duruma geldi

  5. İstendiğinde, yerel yönetici kullanıcı için parolayı girin ve yeniden girin.

  6. İşlem başarılı olduğunu öneren çıkışlar görüyor gerekir. Menüden başka bir seçenek seçmeniz de istenir. Ana menüye geri dönmek için E'yi seçin.

    R server Yönetim yardımcı programı başarılı

  7. İsteğe bağlı olarak, aşağıdaki gibi bir tanılama testi çalıştırarak tanılama denetimleri gerçekleştirebilirsiniz:

    a. Tanılama testlerini çalıştırmak için ana menüden 6'yı seçin.

    R Server Yönetim yardımcı programı tanılaması

    b. Tanılama Testleri menüsündeN A'yı seçin. İstendiğinde, yerel yönetici kullanıcı için sağladığınız parolayı girin.

    R Server Yönetim yardımcı programı testi

    c. Çıktının genel sistem durumunun başarılı olduğunu gösterir.

    R server Yönetim yardımcı programı geçişi

    d. Sunulan menü seçeneklerinden ana menüye dönmek için E girin ve ardından yönetici yardımcı programından çıkmak için 8 girin.

Web hizmetinin web hizmetini Apache Spark

kısa bir işlem bağlamında mrsdeploy işlevleriyle oluşturulmuş bir web hizmetini Apache Spark uzun gecikmelerle karşılaşırsanız, bazı eksik klasörleri eklemeniz gerekir. Spark uygulaması mrsdeoploy işlevleri kullanılarak bir web hizmetinden çağrıldığında 'rserve2' adlı bir kullanıcıya ait oluyor. Bu soruna geçici bir çözüm olarak:

# Create these required folders for user 'rserve2' in local and hdfs:

hadoop fs -mkdir /user/RevoShare/rserve2
hadoop fs -chmod 777 /user/RevoShare/rserve2

mkdir /var/RevoShare/rserve2
chmod 777 /var/RevoShare/rserve2


# Next, create a new Spark compute context:

rxSparkConnect(reset = TRUE)

Bu aşamada kullanıma hazır hale getirme yapılandırması tamamlanmıştır. Artık kenar düğümünde işletimselleştirmeye bağlanmak ve uzaktan yürütme ve web hizmetleri gibi özelliklerini kullanmaya başlamak için mrsdeploy RClient'ınız üzerinde paketini kullanabilirsiniz. Kümenizin bir sanal ağda ayarlanıp ayarlanmamasına bağlı olarak, SSH oturumu aracılığıyla bağlantı noktası iletme tüneli ayarlamanız gerekebilir. Aşağıdaki bölümlerde bu tüneli nasıl kuracağınız açıklanmaktadır.

ML ağ üzerinde ML Services kümesi

12800 numaralı bağlantı noktası üzerinden kenar düğümüne trafik akışına izin verdiğinizden emin olun. Bu şekilde, Kullanıma Hazır Hale Getirme özelliğine bağlanmak için kenar düğümünü kullanabilirsiniz.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://[your-cluster-name]-ed-ssh.azurehdinsight.net:12800",
    username = "admin",
    password = "xxxxxxx"
)

remoteLogin() kenar düğümüne bağlanamadığı halde kenar düğümüne SSH uygulayabiliyorsanız, 12800 numaralı bağlantı noktası üzerinde trafiğe izin veren kuralın doğru şekilde ayarlanıp ayarlanmadığını doğrulamanız gerekir. Sorunla karşılaşmaya devam ederseniz, SSH üzerinden bağlantı noktası iletme tüneli oluşturarak bir geçici çözüm uygulayabilirsiniz. Yönergeler için aşağıdaki bölüme bakın:

ML Hizmetleri kümesi sanal ağ üzerinde ayarlanmaz

Kümeniz sanal üzerinde ayarlanmamışsa veya sanal ağ üzerinden bağlantı kurma sorunları yaşıyorsanız, SSH bağlantı noktası iletme tünelini kullanabilirsiniz:

ssh -L localhost:12800:localhost:12800 USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net

SSH oturumunuz etkin olduktan sonra yerel makinenizin 12800 bağlantı noktasına gelen trafik, SSH oturumu aracılığıyla kenar düğümünün 12800 bağlantı noktasına iletildi. remoteLogin() yönteminizde 127.0.0.1:12800 kullandığınızdan emin olun. Bu işlem, bağlantı noktası iletme aracılığıyla kenar düğümünün çalışır duruma nasıl hazır hale dönüştürerek oturum açtığını gösterir.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://127.0.0.1:12800",
    username = "admin",
    password = "xxxxxxx"
)

HDInsight çalışan düğümleri üzerinde operasyonelleştirilmiş işlem düğümlerini ölçeklendirme

İşlem düğümlerini ölçeklendirmek için önce çalışan düğümlerinin izinlerini alın ve sonra da kaldırılan çalışan düğümlerde işlem düğümlerini yapılandırsınız.

1. Adım: Çalışan düğümlerinin izinlerini alın

ML Services kümesi Apache Hadoop YARN aracılığıyla yönetilmiyor. Çalışan düğümlerinin kullanımına alınmazsa, YARN Resource Manager sunucu tarafından alınan kaynakların farkında olmayarak beklendiği gibi çalışmaz. Bu durumu önlemek için, işlem düğümlerini ölçeklendirmeden önce çalışan düğümlerinin yetkisinin alınması önerilir.

Çalışan düğümlerinin izinlerini geri için şu adımları izleyin:

  1. Kümenin Ambari konsolunda oturum açın ve Konaklar sekmesine tıklayın.

  2. Çalışan düğümlerini (alınacak) seçin.

  3. Eylemler Seçili > Konaklar Konakları > > Bakım Modunu Aç'a tıklayın. Örneğin, aşağıdaki görüntüde yetkisini almak üzere wn3 ve wn4 seçilmiştir.

    Apache Ambari Bakım Modunu Açma

  • Eylemler Seçili > Konaklar > DataNode'u seçin >'ye tıklayın.
  • Eylemler Seçili > Konaklar > NodeManagers'ı seçin >'a tıklayın.
  • Eylemler Seçili > Konaklar > DataNode'u seçin > durdur'a tıklayın.
  • Eylemler Seçili > Konaklar > NodeManagers'ı seçin >'a tıklayın.
  • Eylemler Seçili > Konaklar Konakları'> > Tüm Bileşenleri Durdur'a tıklayın.
  • Çalışan düğümlerinin seçimini kaldırın ve baş düğümleri seçin.
  • Eylemler Seçili > Konaklar'ı seçin > "Konaklar Tüm Bileşenleri Yeniden Başlat > .

2. Adım: Kullanımı kaldırılan her çalışan düğümünde işlem düğümlerini yapılandırma

  1. Yetkisi alınan her çalışan düğümüne SSH uygulayın.

  2. Sahip olduğunu ML Services kümesi için ilgili DLL'i kullanarak yönetici yardımcı programını çalıştırın. 9.1 ML Server için aşağıdakini çalıştırın:

    dotnet /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
    
  3. İşletimselleştirme için Yapılandırma seçeneğini ML Server 1 girin.

  4. seçeneğini seçmek için C C. Compute node girin. Bu işlem çalışan düğümündeki işlem düğümünü yapılandırır.

  5. Yönetim Yardımcı Programından çıkın.

3. Adım: Web düğümüne işlem düğümü ayrıntıları ekleme

Tüm alınan çalışan düğümleri işlem düğümünü çalıştıracak şekilde yapılandırıldığında, kenar düğümüne geri dönüp, alınan çalışan düğümlerinin IP adreslerini ML Server web düğümünün yapılandırmasına ekleyin:

  1. Kenar düğümüne SSH uygulayın.

  2. vi /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Server.WebAPI/appsettings.json öğesini çalıştırın.

  3. "Uris" bölümünü ve çalışan düğümünün IP'sini ve bağlantı noktası ayrıntılarını ekleyin.

    "Uris": {
        "Description": "Update 'Values' section to point to your backend machines. Using HTTPS is highly recommended",
        "Values": [
            "http://localhost:12805", "http://[worker-node1-ip]:12805", "http://[workder-node2-ip]:12805"
        ]
    }
    

Sonraki adımlar