חילוץ מטא-נתונים מ-Apache Hive לצורך העברה
במאמר הזה מוסבר איך להשתמש בכלי dwh-migration-dumper כדי לחלץ את המטא-נתונים הנדרשים לפני שמריצים העברה של נתונים או הרשאות של Apache Hive.
במסמך הזה מוסבר איך לחלץ מטא-נתונים ממקורות הנתונים הבאים:
- Apache Hive
- מערכת הקבצים המבוזרת של Apache Hadoop (HDFS)
- Apache Ranger
- Cloudera Manager
- יומני שאילתות של Apache Hive
לפני שמתחילים
לפני שמשתמשים בכלי dwh-migration-dumper, צריך לבצע את הפעולות הבאות:
מתקינים Java
בשרת שבו אתם מתכננים להפעיל את הכלי dwh-migration-dumper צריכה להיות מותקנת גרסה 8 ומעלה של Java. אם לא, מורידים את Java מדף ההורדות של Java ומתקינים אותה.
ההרשאות הנדרשות
לחשבון המשתמש שאתם מציינים כדי לחבר את הכלי dwh-migration-dumper למערכת המקור צריכות להיות הרשאות לקרוא מטא-נתונים מהמערכת הזו.
מוודאים שלחשבון הזה יש תפקיד מתאים כדי לשלוח שאילתות למשאבי המטא-נתונים שזמינים לפלטפורמה. לדוגמה, INFORMATION_SCHEMA הוא משאב מטא-נתונים שמשותף לכמה פלטפורמות.
התקנת הכלי dwh-migration-dumper
כדי להתקין את הכלי dwh-migration-dumper:
- במכונה שבה רוצים להריץ את הכלי
dwh-migration-dumper, מורידים את קובץ ה-ZIP ממאגר ה-GitHub של הכליdwh-migration-dumper. כדי לאמת את קובץ ה-ZIP של הכלי
dwh-migration-dumper, מורידים את הקובץSHA256SUMS.txtומריצים את הפקודה הבאה:Bash
sha256sum --check SHA256SUMS.txt
אם האימות נכשל, עיינו בקטע פתרון בעיות.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
מחליפים את
RELEASE_ZIP_FILENAMEבשם קובץ ה-ZIP שהורדתם של גרסת כלי החילוץ שלdwh-migration-dumperבשורת הפקודה, לדוגמה:dwh-migration-tools-v1.0.52.zipהתוצאה
Trueמאשרת שאימות סיכום הביקורת (checksum) הצליח.התוצאה
Falseמצביעה על שגיאת אימות. חשוב לוודא שקובצי ה-checksum וקובצי ה-ZIP הורדו מאותה גרסת הפצה והם נמצאים באותה ספרייה.מחלצים את קובץ ה-ZIP. הקובץ הבינארי של כלי החילוץ נמצא בתיקיית המשנה
/binשל התיקייה שנוצרה על ידי חילוץ קובץ ה-ZIP.מעדכנים את משתנה הסביבה
PATHכך שיכלול את נתיב ההתקנה של כלי החילוץ.
חילוץ מטא-נתונים להעברה
כדי ללמוד איך לחלץ מטא-נתונים ממקור הנתונים, בוחרים באחת מהאפשרויות הבאות:
Apache Hive
מבצעים את השלבים שמפורטים בקטע חילוץ מטא-נתונים ויומני שאילתות ממחסן הנתונים של Apache Hive כדי לחלץ את המטא-נתונים של Apache Hive. אחר כך אפשר להעלות את המטא-נתונים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.
HDFS
מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-HDFS באמצעות הכלי dwh-migration-dumper.
dwh-migration-dumper \
--connector hdfs \
--host HDFS-HOST \
--port HDFS-PORT \
--output gs://MIGRATION-BUCKET/hdfs-dumper-output.zip \
--assessment \
מחליפים את מה שכתוב בשדות הבאים:
-
HDFS-HOST: שם המארח של NameNode ב-HDFS -
HDFS-PORT: מספר היציאה של NameNode ב-HDFS. אם אתם משתמשים ביציאת ברירת המחדל של8020, אתם יכולים לדלג על הארגומנט הזה. -
MIGRATION-BUCKET: הקטגוריה של Cloud Storage שבה אתם משתמשים כדי לאחסן את קובצי ההעברה.
הפקודה הזו מחלצת מטא-נתונים מ-HDFS לקובץ בשם hdfs-dumper-output.zip בספרייה MIGRATION-BUCKET.
יש כמה מגבלות ידועות כשמחלצים מטא-נתונים מ-HDFS:
- חלק מהמשימות במחבר הזה הן אופציונליות ויכולות להיכשל, ובמקרה כזה נרשם דוח קריסות מלא בפלט. כל עוד המשימות הנדרשות בוצעו בהצלחה ונוצר
hdfs-dumper-output.zip, אפשר להמשיך בהעברת HDFS. - תהליך החילוץ עלול להיכשל או לפעול לאט מהצפוי אם גודל מאגר ה-threads שהוגדר גדול מדי. אם נתקלתם בבעיות האלה, מומלץ להקטין את מאגר ה-threads באמצעות הארגומנט
--thread-pool-sizeבשורת הפקודה.
Apache Ranger
מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-Apache Ranger באמצעות הכלי dwh-migration-dumper.
dwh-migration-dumper \
--connector ranger \
--host RANGER-HOST \
--port 6080 \
--user RANGER-USER \
--password RANGER-PASSWORD \
--ranger-scheme RANGER-SCHEME \
--output gs://MIGRATION-BUCKET/ranger-dumper-output.zip \
--assessment \
מחליפים את מה שכתוב בשדות הבאים:
-
RANGER-HOST: שם המארח של המכונה של Apache Ranger -
RANGER-USER: שם המשתמש של המשתמש ב-Apache Ranger -
RANGER-PASSWORD: הסיסמה של המשתמש ב-Apache Ranger -
RANGER-SCHEME: מציינים אם Apache Ranger משתמש ב-httpאו ב-https. ערך ברירת המחדל הואhttp. -
MIGRATION-BUCKET: הקטגוריה של Cloud Storage שבה אתם משתמשים כדי לאחסן את קובצי ההעברה.
אפשר גם לכלול את הדגלים האופציונליים הבאים:
-
--kerberos-auth-for-hadoop: מחליף את--userואת--password, אם Apache Ranger מוגן על ידי Kerberos במקום אימות בסיסי. כדי להשתמש בדגל הזה, צריך להריץ את הפקודהkinitלפני הכליdwh-migration-dumper. -
--ranger-disable-tls-validation: צריך לכלול את הדגל הזה אם אישור ה-HTTPS שמשמש את ה-API הוא בחתימה עצמית. לדוגמה, כשמשתמשים ב-Cloudera.
הפקודה הזו מחלצת מטא-נתונים מ-Apache Ranger לקובץ בשם ranger-dumper-output.zip בספרייה MIGRATION-BUCKET.
Cloudera
מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-Cloudera באמצעות הכלי dwh-migration-dumper.
dwh-migration-dumper \
--connector cloudera-manager \
--url CLOUDERA-URL \
--user CLOUDERA-USER \
--password CLOUDERA-PASSWORD \
--output gs://MIGRATION-BUCKET/cloudera-dumper-output.zip \
--yarn-application-types APPLICATION-TYPES \
--pagination-page-size PAGE-SIZE \
--assessment \
מחליפים את מה שכתוב בשדות הבאים:
-
CLOUDERA-URL: כתובת ה-URL של Cloudera Manager -
CLOUDERA-USER: שם המשתמש של המשתמש ב-Cloudera -
CLOUDERA-PASSWORD: הסיסמה של המשתמש ב-Cloudera -
MIGRATION-BUCKET: הקטגוריה של Cloud Storage שבה אתם משתמשים כדי לאחסן את קובצי ההעברה. -
APPLICATION-TYPES: (אופציונלי) רשימה של כל סוגי האפליקציות הקיימים מ-Hadoop YARN. לדוגמה,SPARK, MAPREDUCE. -
PAGE-SIZE: (אופציונלי) מציינים כמה נתונים נשלפים משירותים של צד שלישי, כמו Hadoop YARN API. ערך ברירת המחדל הוא1000, שמייצג 1,000 ישויות לכל בקשה.
הפקודה הזו מחלצת מטא-נתונים מ-Cloudera לקובץ בשם dwh-migration-cloudera.zip בספרייה MIGRATION-BUCKET.
יומני שאילתות של Apache Hive
מבצעים את השלבים שבקטע חילוץ יומני שאילתות באמצעות ה-logging hook של hadoop-migration-assessment כדי לחלץ את יומני השאילתות של Apache Hive. אחר כך אפשר להעלות את היומנים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.
המאמרים הבאים
אחרי שחילצתם את המטא-נתונים מ-Hadoop, אתם יכולים להשתמש בקובצי המטא-נתונים האלה כדי: