יצירת אשכול באמצעות מסוף Google Cloud
בדף הזה מוסבר איך משתמשים במסוף Google Cloud כדי ליצור אשכול של Managed Service for Apache Spark, להריץ משימה בסיסית של Apache Spark באשכול ולשנות את מספר ה-workers באשכול.
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
התפקידים הנדרשים
כדי להריץ את הדוגמאות שבדף הזה, צריך תפקידים מסוימים בניהול הזהויות והרשאות הגישה (IAM). בהתאם למדיניות הארגון, יכול להיות שהתפקידים האלה כבר הוקצו. כדי לבדוק את התפקידים שהוקצו, קראו את המאמר האם צריך להקצות תפקידים?.
כדי לקרוא הסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
תפקידי משתמשים
כדי לקבל את ההרשאות שדרושות ליצירת אשכול Managed Service for Apache Spark, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:
- עריכת Dataproc (
roles/dataproc.editor) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine
תפקיד של חשבון שירות
כדי לוודא שלחשבון השירות שמשמש כברירת מחדל ב-Compute Engine יש את ההרשאות שנדרשות ליצירת אשכול Managed Service for Apache Spark, צריך לבקש מהאדמין להקצות לחשבון השירות שמשמש כברירת מחדל ב-Compute Engine את תפקידי ה-IAM הבאים בפרויקט:
-
All:
Dataproc Worker (
roles/dataproc.worker)
יצירת אשכול
בתפריט הניווט של מסוף Google Cloud , בקטע Infrastructure, נכנסים לדף Clusters של Managed Service for Apache Spark.
לוחצים על Create cluster ובוחרים באפשרות Cluster on Compute Engine.
בשדה Cluster name, מזינים
example-cluster.ברשימות Region ו-Zone, בוחרים אזור ותחום.
בוחרים אזור (לדוגמה,
us-east1אוeurope-west1) כדי לבודד באזור הזה משאבים כמו מכונות וירטואליות (VM), מיקומי אחסון של Cloud Storage ומיקומי אחסון של מטא-נתונים שמשמשים את Managed Service for Apache Spark. למידע נוסף, קראו את המאמרים אזורים זמינים ואזור האשכול.בכל שאר האפשרויות, משתמשים בהגדרות ברירת המחדל.
כדי ליצור את האשכול, לוחצים על Create.
האשכול החדש מופיע ברשימה בדף Clusters. הסטטוס הוא Provisioning עד שהאשכול מוכן לשימוש, ואז הסטטוס משתנה ל-Running. הקצאת האשכול עשויה להימשך כמה דקות.
שליחת משימת Spark
שולחים משימת Spark שמעריכה את הערך של פאי:
- בתפריט הניווט של Managed Service for Apache Spark, לוחצים על Jobs (and Batches) (או Jobs).
בדף Jobs, לוחצים על Submit job ומבצעים את הפעולות הבאות בדף Submit a job:
- בקטע Select compute type for job, בוחרים באפשרות Spark on Compute Engine.
- בקטע Cluster job details:
- בשדה מזהה משימה, משתמשים בהגדרת ברירת המחדל או מספקים מזהה ייחודי לפרויקט ב- Google Cloud .
- בתפריט Cluster, בוחרים באפשרות
example-cluster.
בקטע קבצים ופריטי מידע שנוצרו בתהליך הפיתוח (Artifact):
- בשדה סוג העבודה, בוחרים באפשרות Spark (Scala / Java).
- בקטע Driver configuration, בוחרים באפשרות Main class, ובשדה Main class מזינים את הערך
org.apache.spark.examples.SparkPi. בשדה Jar files, מזינים את הערך
file:///usr/lib/spark/examples/jars/spark-examples.jar. (קובץ ה-JAR לדוגמה הזה מותקן מראש באשכול. במשימות בהתאמה אישית, צריך לציין נתיב של Cloud Storage. מידע נוסף זמין במאמר שליחת משימה.בשדה Arguments, מזינים את הערך
1000כדי להגדיר את מספר המשימות.
הוא יוצר נקודות x ו-y במישור קואורדינטות שמדמה מעגל שמוקף בריבוע יחידה. הארגומנט של הקלט (
1000) קובע את מספר הזוגות של x-y שצריך ליצור. ככל שנוצרים יותר זוגות, כך האומדן מדויק יותר. ההערכה הזו משתמשת בצומתי עובדים של Managed Service for Apache Spark כדי לבצע את החישוב במקביל. למידע נוסף, ראו הערכת פאי באמצעות שיטת מונטה קרלו ו-JavaSparkPi.java ב-GitHub.לוחצים על שליחה.
המשימה מוצגת בדף Job details. סטטוס המשימה הוא Running או Starting, ואחרי השליחה הוא משתנה ל-Succeeded.
כדי להימנע מגלילה בפלט, לוחצים על Line wrap: off. הפלט דומה לזה:
Pi is roughly 3.1416759514167594
כדי לראות את פרטי המשימה, לוחצים על הכרטיסייה Configuration.
עדכון אשכול
מעדכנים את האשכול על ידי שינוי מספר ה-worker instances:
- בתפריט הניווט של Managed Service for Apache Spark, לוחצים על Clusters.
- ברשימת האשכולות, לוחצים על
example-cluster. בדף Cluster details, לוחצים על הכרטיסייה Configuration.
הגדרות האשכול מוצגות.
לוחצים על עריכה.
בשדה צומתי עובד, מזינים
5.לוחצים על Save.
האשכול מעודכן. כדי להקטין את מספר צומתי העובד לערך המקורי, פועלים לפי אותו תהליך.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, מבצעים את הפעולות הבאות.
- כדי למחוק את האשכול, בדף Cluster details של
example-clusterלוחצים על Delete. - כדי לאשר את מחיקת האשכול, לוחצים על Delete.
המאמרים הבאים
אפשר לנסות את המדריך למתחילים הזה באמצעות כלים אחרים: