1. بررسی اجمالی
Cloud Dataproc یک سرویس Spark و Hadoop مدیریت شده است که به شما امکان می دهد از ابزارهای داده منبع باز برای پردازش دسته ای، پرس و جو، پخش جریانی و یادگیری ماشین استفاده کنید. اتوماسیون Cloud Dataproc به شما کمک می کند تا خوشه ها را به سرعت ایجاد کنید، آنها را به راحتی مدیریت کنید و با خاموش کردن خوشه ها در زمانی که به آنها نیاز ندارید، در هزینه خود صرفه جویی کنید. با صرف زمان و هزینه کمتر برای مدیریت، می توانید روی شغل و داده های خود تمرکز کنید.
این آموزش از https://cloud.google.com/dataproc/overview اقتباس شده است
چیزی که یاد خواهید گرفت
- نحوه ایجاد یک کلاستر Cloud Dataproc مدیریت شده (با Apache Spark از قبل نصب شده ).
- نحوه ارسال شغل Spark
- نحوه تغییر اندازه یک خوشه
- نحوه وارد کردن ssh به گره اصلی یک خوشه Dataproc
- نحوه استفاده از gcloud برای بررسی کلاسترها، مشاغل و قوانین فایروال
- چگونه خوشه خود را تعطیل کنیم
آنچه شما نیاز دارید
چگونه از این آموزش استفاده خواهید کرد؟
تجربه خود را در استفاده از سرویسهای پلتفرم ابری Google چگونه ارزیابی میکنید؟
2. راه اندازی و الزامات
تنظیم محیط خود به خود
- به کنسول Cloud وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. (اگر قبلاً یک حساب Gmail یا G Suite ندارید، باید یک حساب ایجاد کنید .)
شناسه پروژه را به خاطر بسپارید، یک نام منحصر به فرد در تمام پروژه های Google Cloud (نام بالا قبلاً گرفته شده است و برای شما کار نخواهد کرد، متأسفیم!). بعداً در این آزمایشگاه کد به عنوان PROJECT_ID
نامیده خواهد شد.
- در مرحله بعد، برای استفاده از منابع Google Cloud، باید صورتحساب را در Cloud Console فعال کنید .
اجرا کردن از طریق این کد لبه نباید هزینه زیادی داشته باشد، اگر اصلاً باشد. حتماً دستورالعملهای موجود در بخش «تمیز کردن» را دنبال کنید که به شما توصیه میکند چگونه منابع را خاموش کنید تا بیش از این آموزش متحمل صورتحساب نشوید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
3. APIهای Cloud Dataproc و Google Compute Engine را فعال کنید
روی نماد منو در سمت چپ بالای صفحه کلیک کنید.
از منوی کشویی API Manager را انتخاب کنید.
روی Enable APIs and Services کلیک کنید.
"موتور محاسباتی" را در کادر جستجو جستجو کنید. در لیست نتایج ظاهر شده روی "Google Compute Engine API" کلیک کنید.
در صفحه Google Compute Engine روی Enable کلیک کنید
پس از فعال شدن، روی فلش سمت چپ کلیک کنید تا به عقب برگردید.
اکنون "Google Cloud Dataproc API" را جستجو کرده و آن را نیز فعال کنید.
4. Cloud Shell را راه اندازی کنید
این ماشین مجازی مبتنی بر دبیان با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این دایرکتوری اصلی 5 گیگابایتی دائمی را ارائه می دهد و در Google Cloud اجرا می شود و عملکرد شبکه و احراز هویت را بسیار افزایش می دهد. این بدان معنی است که تمام چیزی که برای این کد لبه نیاز دارید یک مرورگر است (بله، روی کروم بوک کار می کند).
- برای فعال کردن Cloud Shell از Cloud Console، کافی است روی Activate Cloud Shell کلیک کنید. (تهیه و اتصال به محیط فقط چند لحظه طول می کشد).
پس از اتصال به Cloud Shell، باید ببینید که قبلاً احراز هویت شده اید و پروژه قبلاً روی PROJECT_ID
شما تنظیم شده است.
gcloud auth list
خروجی فرمان
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
خروجی فرمان
[core] project = <PROJECT_ID>
اگر به دلایلی پروژه تنظیم نشد، به سادگی دستور زیر را صادر کنید:
gcloud config set project <PROJECT_ID>
به دنبال PROJECT_ID
خود هستید؟ بررسی کنید از چه شناسه ای در مراحل راه اندازی استفاده کرده اید یا آن را در داشبورد Cloud Console جستجو کنید:
Cloud Shell همچنین برخی از متغیرهای محیطی را به صورت پیشفرض تنظیم میکند که ممکن است هنگام اجرای دستورات آینده مفید باشند.
echo $GOOGLE_CLOUD_PROJECT
خروجی فرمان
<PROJECT_ID>
- در نهایت، منطقه پیش فرض و پیکربندی پروژه را تنظیم کنید.
gcloud config set compute/zone us-central1-f
شما می توانید مناطق مختلفی را انتخاب کنید. برای اطلاعات بیشتر، به مناطق و مناطق مراجعه کنید.
5. یک خوشه Cloud Dataproc ایجاد کنید
پس از راه اندازی Cloud Shell، می توانید از خط فرمان برای فراخوانی دستور Cloud SDK gcloud یا سایر ابزارهای موجود در نمونه ماشین مجازی استفاده کنید.
یک نام خوشه برای استفاده در این آزمایشگاه انتخاب کنید:
$ CLUSTERNAME=${USER}-dplab
بیایید با ایجاد یک خوشه جدید شروع کنیم:
$ gcloud dataproc clusters create ${CLUSTERNAME} \
--region=us-central1 \
--scopes=cloud-platform \
--tags codelab \
--zone=us-central1-c
تنظیمات کلاستر پیشفرض، که شامل گرههای دو کارگری است، باید برای این آموزش کافی باشد. دستور بالا شامل گزینه --zone
برای تعیین منطقه جغرافیایی که در آن خوشه ایجاد می شود، و دو گزینه پیشرفته، --scopes
و --tags
است که در زیر توضیح داده می شود که از ویژگی هایی که آنها فعال می کنند استفاده کنید. برای اطلاعات در مورد استفاده از پرچم های خط فرمان برای سفارشی کردن تنظیمات خوشه، دستور gcloud dataproc clusters create
را ببینید.
6. یک کار Spark را به کلاستر خود ارسال کنید
میتوانید از طریق یک درخواست jobs.submit
API Cloud Dataproc، با استفاده از ابزار خط فرمان gcloud
یا از کنسول Google Cloud Platform ارسال کنید. همچنین می توانید با استفاده از SSH به یک نمونه ماشین در کلاستر خود متصل شوید و سپس یک کار را از نمونه اجرا کنید.
بیایید با استفاده از ابزار gcloud
از خط فرمان Cloud Shell یک کار ارسال کنیم:
$ gcloud dataproc jobs submit spark --cluster ${CLUSTERNAME} \
--class org.apache.spark.examples.SparkPi \
--jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
همانطور که کار اجرا می شود، خروجی را در پنجره Cloud Shell خود خواهید دید.
با وارد کردن Control-C خروجی را قطع کنید. این دستور gcloud
را متوقف میکند، اما کار همچنان روی خوشه Dataproc اجرا میشود.
7. فهرست مشاغل و اتصال مجدد
چاپ لیستی از مشاغل:
$ gcloud dataproc jobs list --cluster ${CLUSTERNAME}
آخرین شغل ارسال شده در بالای لیست قرار دارد. شناسه شغلی را کپی کرده و به جای jobId
در دستور زیر پیست کنید. دستور دوباره به کار مشخص شده متصل می شود و خروجی آن را نمایش می دهد:
$ gcloud dataproc jobs wait jobId
هنگامی که کار به پایان رسید، خروجی شامل تقریبی از مقدار Pi خواهد بود.
8. تغییر اندازه خوشه
برای اجرای محاسبات بزرگتر، ممکن است بخواهید گره های بیشتری را به خوشه خود اضافه کنید تا سرعت آن افزایش یابد. Dataproc به شما امکان می دهد هر زمان که بخواهید گره ها را به کلاستر خود اضافه کرده و از آنها حذف کنید.
پیکربندی خوشه را بررسی کنید:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
با افزودن چند گره قابل پیش بینی، خوشه را بزرگتر کنید:
$ gcloud dataproc clusters update ${CLUSTERNAME} --num-secondary-workers=2
دوباره خوشه را بررسی کنید:
$ gcloud dataproc clusters describe ${CLUSTERNAME}
توجه داشته باشید که علاوه بر workerConfig
از توضیحات کلاستر اصلی، اکنون یک secondaryWorkerConfig
نیز وجود دارد که شامل دو instanceNames
برای کارگران preemptible است. Dataproc وضعیت خوشه را به عنوان آماده نشان می دهد که گره های جدید در حال بوت شدن هستند.
از آنجایی که شما با دو گره شروع کرده اید و اکنون چهار گره دارید، کارهای Spark شما باید دو برابر سریعتر اجرا شوند.
9. SSH به Cluster
از طریق ssh به گره اصلی متصل شوید، که نام نمونه آن همیشه نام خوشه با -m
است:
$ gcloud compute ssh ${CLUSTERNAME}-m --zone=us-central1-c
اولین باری که یک فرمان ssh را در Cloud Shell اجرا می کنید، کلیدهای ssh را برای حساب شما در آنجا ایجاد می کند. میتوانید یک عبارت عبور انتخاب کنید، یا فعلاً از یک عبارت عبور خالی استفاده کنید و اگر بخواهید بعداً با استفاده از ssh-keygen
آن را تغییر دهید.
در نمونه، نام میزبان را بررسی کنید:
$ hostname
از آنجایی که هنگام ایجاد کلاستر --scopes=cloud-platform
را مشخص کردید، می توانید دستورات gcloud
روی خوشه خود اجرا کنید. خوشه های پروژه خود را فهرست کنید:
$ gcloud dataproc clusters list
پس از اتمام کار از اتصال ssh خارج شوید:
$ logout
10. برچسب ها را بررسی کنید
هنگامی که خوشه خود را ایجاد کردید، یک گزینه --tags
برای اضافه کردن یک برچسب به هر گره در خوشه اضافه کردید. از تگ ها برای پیوست کردن قوانین فایروال به هر گره استفاده می شود. شما هیچ قانون فایروال منطبقی را در این Codelab ایجاد نکردهاید، اما همچنان میتوانید برچسبهای یک گره و قوانین فایروال را در شبکه بررسی کنید.
شرح گره اصلی را چاپ کنید:
$ gcloud compute instances describe ${CLUSTERNAME}-m --zone us-central1-c
به دنبال tags:
نزدیک به انتهای خروجی و ببینید که شامل codelab
است.
قوانین فایروال را چاپ کنید:
$ gcloud compute firewall-rules list
به ستون های SRC_TAGS
و TARGET_TAGS
توجه کنید. با ضمیمه کردن یک تگ به قانون فایروال، میتوانید مشخص کنید که باید در تمام گرههایی که آن تگ را دارند، استفاده شود.
11. خوشه خود را خاموش کنید
میتوانید از طریق یک درخواست Cloud Dataproc API clusters.delete
، از خط فرمان با استفاده از فایل اجرایی gcloud dataproc clusters delete
یا از کنسول Google Cloud Platform، یک خوشه را خاموش کنید.
بیایید کلاستر را با استفاده از خط فرمان Cloud Shell خاموش کنیم:
$ gcloud dataproc clusters delete ${CLUSTERNAME} --region us-central1
12. تبریک می گویم!
شما یاد گرفتید که چگونه یک کلاستر Dataproc ایجاد کنید، یک کار Spark ارسال کنید، اندازه یک خوشه را تغییر دهید، از ssh برای ورود به گره اصلی خود استفاده کنید، از gcloud برای بررسی کلاسترها، مشاغل و قوانین فایروال استفاده کنید و کلاستر خود را با استفاده از gcloud خاموش کنید!
بیشتر بدانید
- اسناد Dataproc: https://cloud.google.com/dataproc/overview
- شروع به کار با Dataproc با استفاده از Codelab Console
مجوز
این اثر تحت مجوز Creative Commons Attribution 3.0 Generic و مجوز Apache 2.0 مجوز دارد.