כדי להמחיש ולנתח את הנתונים, אתם יכולים לחבר את מסדי הנתונים של Cloudera Impala ל-Looker. אפשר להגדיר את החיבורים האלה לניבים שונים של Impala. Looker תומך ב-Cloudera Impala בגרסה 3.1 ואילך, כולל הגדרות של מנהלי התקנים רגילים ומותאמים. אין תמיכה בחיבורים לניבים ישנים יותר של Impala שאין להם מספר גרסה או מנהל התקן מקורי. שאילתות לניבים האלה יחזירו שגיאה.
ניבים שבהם משתמשים בהוראות האלה
Looker מתחבר למסדי הנתונים הבאים של Impala:
- Cloudera Impala מגרסה 3.1 ואילך
- Cloudera Impala 3.1+ עם מנהל התקן מקורי
- Cloudera Impala עם מנהל התקן מקורי
הצפנה של תנועה ברשת
מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.
הגדרת Looker לחיבור ל-Cloudera Impala
Looker מתחבר למסדי נתונים באמצעות חיבור JDBC. במסדי נתונים של Impala, Looker מתחבר כברירת מחדל לשרת שבו פועל דמון impalad ביציאה 21050. מידע נוסף זמין בקטע Configuring Impala to work with JDBC במסמכי התיעוד שבאתר Cloudera.
בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.
הגדרת החיבור ל-Looker תלויה באמצעי האבטחה שבהם משתמשים:
- קלאסטר שלא משתמש ב-Kerberos או באימות משתמשים
- קלאסטר שנדרש בו אימות LDAP
- אשכול שמאובטח באמצעות Kerberos, אבל לא משתמש ב-Apache Sentry
התחברות לאשכול ללא Kerberos או אימות משתמשים
כדי להגדיר חיבור שלא משתמש ב-Kerberos או באימות משתמשים, פועלים לפי השלבים הבאים:
- בדף Connection Settings (הגדרות החיבור), משאירים את השדות Username (שם משתמש) ו-Password (סיסמה) ריקים. (הסימן
*ליד שמות השדות מציין שהשדות האלה הם שדות חובה, אבל הם לא). - בשדה Additional JDBC parameters, מזינים
;auth=noSasl.
מתבצע אימות של מחרוזת החיבור
כדי לאמת את מחרוזת החיבור של JDBC בקובצי היומן, בחלונית Admin ב-Looker, לוחצים על Log בתפריט הימני. אחר כך מסננים את היומן לפי מונח כמו jdbc או noSasl. שורה ביומן יכולה להיראות כך:
jdbc connect using: jdbc:hive2://<HOSTNAME>/<DATABASE_NAME>;auth=noSasl
מידע נוסף על הגדרת מסדי נתונים של Impala לעבודה עם JDBC זמין במסמכי התיעוד באתר החיצוני של Cloudera.
התחברות לאשכול שדורש אימות LDAP
באשכול שדורש אימות LDAP, כולל אשכול עם Apache Sentry ו-Kerberos, בדף Connection Settings, מזינים שם משתמש וסיסמה עם גישה לסכימות שאליהן Looker ייגש.
מתחברים לאשכול שמאובטח באמצעות Kerberos, אבל לא משתמשים ב-Apache Sentry
בדרך כלל, אימות Kerberos בסביבות Cloudera מטופל באמצעות Apache Sentry. פרטים נוספים זמינים במסמכי התיעוד של Cloudera.
כדי להגדיר את Looker כך שיתחבר ישירות למסדי נתונים של Impala באמצעות אימות Kerberos, צריך לפעול לפי השלבים שבדף הזה.
הגדרת התצורה של לקוח Kerberos
קודם כל, צריך לוודא שהתוכנה הנדרשת מותקנת ושהקבצים הדרושים נמצאים במחשב Looker.
לקוח Kerberos
כדי לוודא שתוכנת הלקוח של Kerberos מותקנת במחשב Looker, מנסים להריץ את הפקודה kinit. אם לקוח Kerberos לא מותקן, מתקינים את הקבצים הבינאריים של לקוח Kerberos.
לדוגמה, ב-Red Hat/CentOS, מריצים את הפקודה הבאה:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
צריך להתקין את Java 8 במכונת Looker וב-PATH וב-JAVA_HOME של משתמש Looker. אם צריך, מתקינים אותו באופן מקומי בספרייה looker.
Java Cryptography Extension
מורידים ומתקינים את Java Cryptography Extension (JCE) ל-Java 8 מהאתר של Oracle.
- מאתרים את הספרייה
jre/lib/securityשל התקנת Java. - מסירים את קובצי ה-JAR הבאים מהספרייה הזו:
local_policy.jarו-US_export_policy.jar. - מחליפים את שני הקבצים האלה בקובצי ה-JAR שכלולים בהורדה של קובצי המדיניות של JCE Unlimited Strength Jurisdiction.
יכול להיות שאפשר להשתמש בגרסאות של Java שקודמות ל-Java 8 עם JCE מותקן, אבל לא מומלץ לעשות את זה.
- מאתרים את הספרייה
מעדכנים את
JAVA_HOMEואתPATHב-~looker/.bash_profileכך שיצביעו על ההתקנה הנכונה של Java ו-source ~/.bash_profile, או יוצאים מהחשבון ונכנסים אליו שוב.מאמתים את הגרסה של Java באמצעות
java -version.מאמתים את משתנה הסביבה
JAVA_HOMEבאמצעותecho $JAVA_HOME.
gss-jaas.conf
יוצרים קובץ gss-jaas.conf בספרייה looker עם התוכן הבא:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
אם צריך, אפשר להוסיף את debug=true לקובץ הזה, באופן הבא:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
בשרת שבו פועל Looker צריך להיות גם קובץ krb5.conf תקין. כברירת מחדל, הקובץ הזה נמצא ב-/etc/krb5.conf. אם הוא נמצא במיקום אחר, צריך לציין את זה בסביבה (KRB5_CONFIG בסביבת המעטפת).
יכול להיות שתצטרכו להעתיק את הקובץ ממכונה אחרת של לקוח Kerberos.
lookerstart.cfg
מפנים לקבצים gss-jaas.conf ו-krb5.conf על ידי יצירת קובץ בספרייה looker (אותה ספרייה שמכילה את סקריפט לטעינה בזמן ההפעלה looker) בשם lookerstart.cfg שמכיל את השורות הבאות:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
אם קובץ krb5.conf לא נמצא ב-/etc/krb5.conf, צריך להוסיף גם את המשתנה הזה:
-Djava.security.krb5.conf=/path/to/krb5.conf
כדי לנפות באגים, מוסיפים את המשתנים הבאים:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
ואז מפעילים מחדש את Looker באמצעות ./looker restart.
אימות באמצעות Kerberos
אימות משתמשים
אם
krb5.confלא נמצא ב-/etc/, צריך להשתמש במשתנה הסביבהKRB5_CONFIGכדי לציין את המיקום שלו.מריצים את הפקודה
klistכדי לוודא שיש כרטיס תקין במטמון הכרטיסים של Kerberos.אם אין כרטיס, מריצים את הפקודה
kinit username@REALMאוkinit usernameכדי ליצור את הכרטיס.החשבון שמשמש את Looker הוא כנראה חשבון ללא ממשק משתמש, כך שאפשר לקבל קובץ keytab מ-Kerberos כדי לאחסן את פרטי הכניסה לשימוש לטווח ארוך. כדי לקבל את כרטיס Kerberos, משתמשים בפקודה כמו
kinit -k -t looker_user.keytab username@REALM.
חידוש אוטומטי של הכרטיס
מגדירים משימת cron שפועלת מדי פעם כדי לשמור כרטיס פעיל במטמון הכרטיסים של Kerberos. התדירות שבה צריך להריץ את הפקודה הזו תלויה בהגדרות של האשכול. השדה klist צריך לציין מתי הכרטיסים יפוגו.
יצירת החיבור של Looker למסד הנתונים
בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
ממלאים את פרטי החיבור באופן הבא (מידע נוסף זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים):
- שם: שם החיבור. כך החיבור יופיע במודל LookML.
ניב: Cloudera Impala 3.1+, Cloudera Impala 3.1+ עם Native Driver או Cloudera Impala עם Native Driver.
מארח: שם המארח.
יציאה: יציאת מסד הנתונים (21050 כברירת מחדל).
מסד נתונים: הסכימה או מסד הנתונים שיוגדר להם מודל כברירת מחדל. אם לא צוין מסד נתונים לטבלה, זו תהיה ההנחה.
שם משתמש: משאירים את השדה הזה ריק.
סיסמה: משאירים את השדה הזה ריק.
הפעלת טבלאות נגזרות מתמידות (PDT): המתג הזה משמש להפעלת טבלאות נגזרות מתמידות (PDT). כשהטבלאות מסוג PDT מופעלות, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
מסד נתונים זמני: סכימה או מסד נתונים זמניים לאחסון של PDT. צריך ליצור אותו מראש.
פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. רשימת הפרמטרים הנתמכים מופיעה בקטע פרמטרים נתמכים של JDBC שבדף הזה.
SSL: מסמנים את התיבה כדי להשתמש בחיבורי SSL. אם אישור ה-SSL שלכם לא הונפק על ידי רשות אישורים מוכרת ואתם משתמשים באישור בהתאמה אישית, תצטרכו:
- מעתיקים את קובץ האישור לשרת Looker. האפשרות הזו זמינה רק בפריסות של Looker באירוח בצד הלקוח.
- מוסיפים את הפרמטרים הבאים לשדה Additional JDBC parameters:
sslTrustStore=/path/to/your/trust_store.jks;trustStorePassword=yourpassword
במסמכי התיעוד של Cloudera מוסבר איך ליצור את מחרוזות ה-JDBC הנכונות למסדי נתונים של Impala.
- אזור הזמן של מסד הנתונים: אזור הזמן של הנתונים שמאוחסנים במסד הנתונים. בדרך כלל אפשר להשאיר את השדה הזה ריק או להגדיר בו את UTC.
מומלץ ששם השרת (impala.company.com בדוגמה הזו) יהיה השם הקנוני של השרת, ושהתוצאות של שאילתת ה-DNS ההפוכה של כתובת ה-IP שלו יחזירו את השם הזה. עם זאת, שם השרת צריך להיות זה שמופיע בבקר הדומיין של Kerberos:
nslookup servername # get canonical server name and IP address
nslookup ipaddress # get the canonical name back
לפעמים שם השרת מוגדר כשם המארח ולא כשם דומיין שמוגדר במלואו. במקרה כזה, יכול להיות שיהיה צורך לשנות את הקבצים /etc/hosts ו-/etc/nsswitch.conf כדי לוודא שהחיפושים ההפוכים פועלים כמתוכנן.
בודקים את החיבור כדי לוודא שהוא מוגדר בצורה נכונה.
ניפוי באגים
- המסמכים של Cloudera בנושא ניפוי באגים בבעיות אימות ב-Impala
- כשמוסיפים ניפוי באגים להגדרה, מידע על תוצאות ניפוי הבאגים הנוסף מופיע ב-
looker/logs/looker.log.
משאבים
- הפעלת אימות Kerberos ל-Impala (מסמכי תיעוד של Cloudera)
- דף המדריך של kinit
- דף ה-man של klist
- מסמכי תיעוד של gss-jaas.conf
- חומרי עזר בנושא Krb5LoginModule
הרשאות לטבלאות PDT
למשתמש שמתחבר לסכימת ה-scratch של טבלאות נגזרות קבועות (PDT) צריכות להיות הרשאות קריאה/כתיבה.
פרמטרים נתמכים של JDBC
ב-Cloudera Impala, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.
AllowSelfSignedCertsauthAuthMechCAIssuedCertNamesMismatchhttpPathKrbHostFQDNKrbRealmKrbServiceNameprincipalPWDSocketTimeoutSSLtransportModeUIDUseNativeQueryUseSasl
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
Cloudera Impala עם מנהל התקן מקורי
החל מגרסה 26.20 של Looker, Cloudera Impala עם Native Driver תומך בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| הצגת תהליכים ב-SQL Runner | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala מגרסה 3.1 ואילך
החל מגרסה 26.20 של Looker, גרסה 3.1 ומעלה של Cloudera Impala תומכת בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| הצגת תהליכים ב-SQL Runner | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala 3.1 ואילך עם Native Driver
החל מגרסה 26.20 של Looker, Cloudera Impala 3.1+ עם מנהל התקן מקורי תומך בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| הצגת תהליכים ב-SQL Runner | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
השלבים הבאים
אחרי שמקשרים את מסד הנתונים ל-Looker, מגדירים את אפשרויות הכניסה של המשתמשים.