1. Genel Bakış
Cloud Dataproc; toplu işleme, sorgulama, akış ve makine öğrenimi için açık kaynak veri araçlarından yararlanmanıza olanak tanıyan, yönetilen bir Spark ve Hadoop hizmetidir. Cloud Dataproc otomasyonu, kümeleri hızla oluşturmanıza, kolayca yönetmenize ve ihtiyacınız olmadığında kümeleri devre dışı bırakarak paradan tasarruf etmenize yardımcı olur. Yönetime daha az zaman ve para harcandığından, işlerinize ve verilerinize odaklanabilirsiniz.
Bu eğitim https://cloud.google.com/dataproc/overview adresinden uyarlanmıştır.
Neler öğreneceksiniz?
- Yönetilen Cloud Dataproc kümesi oluşturma (Apache Spark önceden yüklenmiş olarak).
- Spark işi gönderme
- Kümeyi yeniden boyutlandırma
- Dataproc kümesinin ana düğümüne SSH uygulama
- Kümeleri, işleri ve güvenlik duvarı kurallarını incelemek için gcloud kullanma
- Kümenizi kapatma
Gerekenler
Bu eğiticiden nasıl yararlanacaksınız?
Google Cloud Platform hizmetlerinin kullanımıyla ilgili deneyiminizi nasıl değerlendirirsiniz?
2. Kurulum ve Gereksinimler
Kendi hızınızda ortam kurulumu
- Cloud Console'da oturum açıp yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. (Gmail veya G Suite hesabınız yoksa hesap oluşturmanız gerekir.)
Tüm Google Cloud projelerinde benzersiz bir ad olan proje kimliğini unutmayın (yukarıdaki ad zaten alınmış ve size uygun olmayacaktır!). Bu kod laboratuvarın ilerleyen bölümlerinde PROJECT_ID
olarak adlandırılacaktır.
- Sonraki adımda, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. "Temizleme" bölümündeki talimatları izlediğinizden emin olun. bölümünde, bu eğiticinin dışında faturalandırmayla karşılaşmamanız için kaynakları nasıl kapatacağınız konusunda tavsiyelerde bulunuyoruz. Yeni Google Cloud kullanıcıları 300 ABD doları ücretsiz deneme programından yararlanabilir.
3. Cloud Dataproc ve Google Compute Engine API'lerini etkinleştirme
Ekranın sol üst kısmındaki menü simgesini tıklayın.
Açılır menüden API Yöneticisi'ni seçin.
API'leri ve Hizmetleri Etkinleştir'i tıklayın.
"Compute Engine" araması yapın yazın. "Google Compute Engine API"yi tıklayın görünür.
Google Compute Engine sayfasında Etkinleştir'i tıklayın.
Etkinleştirildiğinde, geri dönmek için solu gösteren oku tıklayın.
Şimdi "Google Cloud Dataproc API" araması yapın ve onu da etkinleştireceğim.
4. Cloud Shell'i Başlatma
Bu Debian tabanlı sanal makine, ihtiyacınız olan tüm geliştirme araçlarıyla yüklüdür. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud'da çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Yani bu codelab'de ihtiyacınız olan tek şey bir tarayıcıdır (Evet, Chromebook'ta çalışır).
- Cloud Shell'i Cloud Console'dan etkinleştirmek için Cloud Shell'i etkinleştir simgesini tıklamanız yeterlidir (sağlanması ve ortama bağlanması yalnızca birkaç dakika sürer).
Cloud Shell'e bağlandıktan sonra kimliğinizin doğrulandığını ve projenin PROJECT_ID
olarak ayarlanmış olduğunu göreceksiniz.
gcloud auth list
Komut çıkışı
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Komut çıkışı
[core] project = <PROJECT_ID>
Herhangi bir nedenle proje ayarlanmamışsa şu komutu vermeniz yeterlidir:
gcloud config set project <PROJECT_ID>
PROJECT_ID
cihazınızı mı arıyorsunuz? Kurulum adımlarında kullandığınız kimliği kontrol edin veya Cloud Console kontrol panelinden arayın:
Cloud Shell bazı ortam değişkenlerini de varsayılan olarak ayarlar. Bu değişkenler, gelecekte komut çalıştırdığınızda işinize yarayabilir.
echo $GOOGLE_CLOUD_PROJECT
Komut çıkışı
<PROJECT_ID>
- Son olarak, varsayılan alt bölgeyi ve proje yapılandırmasını ayarlayın.
gcloud config set compute/zone us-central1-f
Çeşitli farklı alt bölgeler seçebilirsiniz. Daha fazla bilgi için Bölgeler ve Bölgeler.
5. Bir Cloud Dataproc kümesi oluşturun
Cloud Shell başlatıldıktan sonra Google Cloud SDK gcloud komutunu veya sanal makine örneğinde bulunan diğer araçları çağırmak için komut satırını kullanabilirsiniz.
Bu laboratuvarda kullanılacak küme adını seçin:
$ CLUSTERNAME=${USER}-dplab
Yeni bir küme oluşturarak başlayalım:
$ gcloud dataproc clusters create ${CLUSTERNAME} \
--region=us-central1 \
--scopes=cloud-platform \
--tags codelab \
--zone=us-central1-c
İki çalışmalı düğüm içeren varsayılan küme ayarları bu eğitim için yeterli olacaktır. Yukarıdaki komut, kümenin oluşturulacağı coğrafi alt bölgeyi belirtmek için --zone
seçeneğini ve iki gelişmiş seçeneği (--scopes
ve --tags
) etkinleştirdiğinizde aşağıda açıklanmıştır. Küme ayarlarını özelleştirmek amacıyla komut satırı işaretlerini kullanma hakkında bilgi için Google Cloud SDK gcloud dataproc clusters create
komutuna bakın.
6. Kümenize bir Spark işi gönderme
gcloud
komut satırı aracını kullanarak veya Google Cloud Platform Console'dan Cloud Dataproc API jobs.submit
isteği gönderebilirsiniz. Ayrıca, SSH kullanarak kümenizdeki bir makine örneğine bağlanabilir ve örnekten bir iş çalıştırabilirsiniz.
Şimdi Cloud Shell komut satırından gcloud
aracını kullanarak bir iş gönderelim:
$ gcloud dataproc jobs submit spark --cluster ${CLUSTERNAME} \
--class org.apache.spark.examples.SparkPi \
--jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
İş çalışırken Cloud Shell pencerenizde çıktı gösterilir.
Control-C tuşlarına basarak çıkışı kes. Bu işlem, gcloud
komutunu durdurur ancak iş Dataproc kümesinde çalışmaya devam eder.
7. İşleri Listeleme ve Yeniden Bağlan
İşlerin listesini yazdırma:
$ gcloud dataproc jobs list --cluster ${CLUSTERNAME}
En son gönderilen iş, listenin en üstündedir. İş kimliğini kopyalayıp "jobId
" yerine yapıştırın kullanabilirsiniz. Komut, belirtilen işe yeniden bağlanır ve çıkışını gösterir:
$ gcloud dataproc jobs wait jobId
İş tamamlandığında, çıkışta Pi değerine yaklaşık bir değer gösterilir.
8. Kümeyi Yeniden Boyutlandır
Daha büyük hesaplamalar yaparken kümenize hız kazandırmak için kümenize daha fazla düğüm ekleyebilirsiniz. Dataproc, kümenize düğüm eklemenize ve kümenizden düğüm kaldırmanıza olanak tanır.
Küme yapılandırmasını inceleyin:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
Birkaç öncelikli düğüm ekleyerek kümeyi büyütün:
$ gcloud dataproc clusters update ${CLUSTERNAME} --num-secondary-workers=2
Kümeyi tekrar inceleyin:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
Orijinal küme açıklamasındaki workerConfig
özelliğine ek olarak, artık öncelikli çalışanlar için iki instanceNames
içeren bir secondaryWorkerConfig
bulunduğunu unutmayın. Dataproc, yeni düğümler başlatılırken küme durumunu hazır olarak gösterir.
Başta iki düğüm varken şu anda dört düğüm var. Bu nedenle Spark işleriniz yaklaşık iki kat daha hızlı çalışır.
9. Kümeye SSH uygulayın
SSH aracılığıyla ana düğüme bağlanın. Ana düğüme örnek olarak her zaman -m
eklenir ve küme adı eklenir:
$ gcloud compute ssh ${CLUSTERNAME}-m --zone=us-central1-c
Cloud Shell'de ilk kez ssh komutu çalıştırdığınızda hesabınız için SSH anahtarları oluşturulur. Bir parola seçebilir veya şimdilik boş bir parola kullanabilir ve isterseniz ssh-keygen
kullanarak bunu daha sonra değiştirebilirsiniz.
Örnekte ana makine adını kontrol edin:
$ hostname
Kümeyi oluştururken --scopes=cloud-platform
belirttiğiniz için kümenizde gcloud
komutlarını çalıştırabilirsiniz. Projenizdeki kümeleri listeleyin:
$ gcloud dataproc clusters list
İşiniz bittiğinde ssh bağlantısından çıkış yapın:
$ logout
10. Etiketleri inceleyin
Kümenizi oluştururken kümedeki her düğüme etiket eklemek için bir --tags
seçeneği sundunuz. Her düğüme güvenlik duvarı kuralları eklemek için etiketler kullanılır. Bu codelab'de eşleşen herhangi bir güvenlik duvarı kuralı oluşturmadınız ancak yine de bir düğümdeki etiketleri ve ağdaki güvenlik duvarı kurallarını inceleyebilirsiniz.
Ana düğümün açıklamasını yazdır:
$ gcloud compute instances describe ${CLUSTERNAME}-m --zone us-central1-c
Çıkışın sonuna yakın bir yerde tags:
olup olmadığına bakın ve codelab
öğesinin mevcut olup olmadığına bakın.
Güvenlik duvarı kurallarını yazdırın:
$ gcloud compute firewall-rules list
SRC_TAGS
ve TARGET_TAGS
sütunlarını not edin. Bir güvenlik duvarı kuralına etiket ekleyerek, bu etiketin tüm düğümlerde kullanılması gerektiğini belirtebilirsiniz.
11. Kümenizi kapatma
Bir kümeyi Cloud Dataproc API clusters.delete
isteği aracılığıyla, gcloud dataproc clusters delete
yürütülebilir dosyasını kullanarak komut satırından veya Google Cloud Platform Console'dan kapatabilirsiniz.
Cloud Shell komut satırını kullanarak kümeyi kapatalım:
$ gcloud dataproc clusters delete ${CLUSTERNAME} --region us-central1
12. Tebrikler!
Dataproc kümesi oluşturmayı, Spark işi göndermeyi, kümeyi yeniden boyutlandırmayı, ana düğümünüze giriş yapmak için ssh kullanmayı, kümeleri, işleri ve güvenlik duvarı kurallarını incelemek için gcloud'u kullanmayı ve gcloud ile kümenizi kapatmayı öğrendiniz.
Daha Fazla Bilgi
- Dataproc Belgeleri: https://cloud.google.com/dataproc/overview
- Console'u Kullanarak Dataproc'u Kullanmaya Başlama codelab'i
Lisans
Bu çalışma, Creative Commons Attribution 3.0 Genel Lisans ve Apache 2.0 lisansı altında lisanslanmıştır.