חילוץ מטא-נתונים מ-Apache Hive לצורך העברה
במאמר הזה מוסבר איך להשתמש בכלי dwh-migration-dumper כדי לחלץ את המטא-נתונים הנדרשים לפני שמריצים העברה של נתונים או הרשאות של Apache Hive.
במסמך הזה מוסבר על חילוץ מטא-נתונים ממקורות הנתונים הבאים:
- Apache Hive
- Apache Hadoop Distributed File System (HDFS)
- Apache Ranger
- Cloudera Manager
- יומני שאילתות של Apache Hive
לפני שמתחילים
לפני שמשתמשים בכלי dwh-migration-dumper, צריך:
התקנת Java
בשרת שבו מתכננים להריץ את הכלי dwh-migration-dumper צריכה להיות מותקנת Java מגרסה 8 ואילך. אם היא לא מותקנת, מורידים את 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בשם הקובץ של כלי החילוץ משורת הפקודהdwh-migration-dumperשהורד, למשלdwh-migration-tools-v1.0.52.zipהתוצאה
Trueמאשרת שהאימות של סכום הביקורת הצליח.התוצאה
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. - אם גודל מאגר השרשורים שהוגדר גדול מדי, יכול להיות שתהליך החילוץ ייכשל או יפעל לאט יותר מהצפוי. אם אתם נתקלים בבעיות האלה, מומלץ להקטין את גודל מאגר השרשורים באמצעות ארגומנט שורת הפקודה
--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
כדי לחלץ את יומני השאילתות של Apache Hive, מבצעים את השלבים שבקטע Apache Hive Extract query logs with the hadoop-migration-assessment logging hook. אחר כך תוכלו להעלות את היומנים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.
המאמרים הבאים
אחרי שמחלצים את המטא-נתונים מ-Hadoop, אפשר להשתמש בקובצי המטא-נתונים האלה כדי לבצע את הפעולות הבאות: