אתם יכולים לחבר את מסדי הנתונים של Cloudera Impala ל-Looker כדי להמחיש ולנתח את הנתונים. אפשר להגדיר את החיבורים האלה לניבים שונים של Impala. Looker תומך ב-Cloudera Impala בגרסה 3.1 ואילך, כולל הגדרות של מנהלי התקנים רגילים ומותאמים. אין תמיכה בחיבורים לניבים ישנים יותר של Impala שאין להם מספר גרסה או מנהל התקן מקורי. שאילתות לניבים כאלה יחזירו שגיאה.
ניבים שמשתמשים בהוראות האלה
Looker מתחבר למסדי הנתונים הבאים של Impala:
- Cloudera Impala 3.1+
- Cloudera Impala 3.1 ואילך עם Native Driver
- Cloudera Impala עם Native Driver
הצפנה של תנועה ברשת
מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף הפעלת גישה מאובטחת למסד נתונים.
הגדרת Looker לחיבור ל-Cloudera Impala
Looker מתחבר למסדי נתונים באמצעות חיבור JDBC. במסדי נתונים של Impala, Looker מתחבר כברירת מחדל לשרת שבו פועל דמון impalad ביציאה 21050. מידע נוסף זמין בקטע הגדרת Impala לעבודה עם JDBC במסמכי העזרה באתר Cloudera.
בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.
הגדרת החיבור ל-Looker תלויה באמצעי האבטחה שבהם משתמשים:
- קלאסטר שלא משתמש ב-Kerberos או באימות משתמשים
- קלאסטר שנדרש בו אימות LDAP
- אשכול שמאובטח באמצעות Kerberos, אבל לא באמצעות Apache Sentry
התחברות לאשכול ללא Kerberos או אימות משתמשים
כדי להגדיר חיבור שלא משתמש ב-Kerberos או באימות משתמשים, פועלים לפי השלבים הבאים:
- בדף Connection Settings (הגדרות החיבור), משאירים את השדות Username (שם משתמש) ו-Password (סיסמה) ריקים. (הסימן
*ליד שמות השדות מציין שהשדות האלה הם שדות חובה, אבל הם לא). - בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC), מזינים
;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 (הגדרות חיבור), מזינים Username (שם משתמש) ו-Password (סיסמה) עם גישה לסכימות של 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.
יכול להיות שאפשר להשתמש בגרסאות של 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 כדי לאחסן את פרטי הכניסה לשימוש ארוך טווח. משתמשים בפקודה כמו
kinit -k -t looker_user.keytab username@REALMכדי לקבל את כרטיס Kerberos.
חידוש אוטומטי של הכרטיס
מגדירים משימת cron שפועלת מדי פעם כדי לשמור כרטיס פעיל במטמון כרטיסי Kerberos. התדירות שבה צריך להריץ את הפקודה הזו תלויה בהגדרות של האשכול. klist צריך לציין כמה זמן הכרטיסים תקפים.
יצירת חיבור Looker למסד הנתונים
בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.
ממלאים את פרטי החיבור באופן הבא (מידע נוסף זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים):
- שם: השם של החיבור. כך יתייחסו לחיבור במודל LookML.
ניב: Cloudera Impala 3.1+, Cloudera Impala 3.1+ עם Native Driver או Cloudera Impala עם Native Driver.
מארח: שם המארח.
יציאה: יציאת מסד הנתונים (21050 כברירת מחדל).
מסד נתונים: סכימת ברירת המחדל או מסד הנתונים שייבנה עבורם מודל. אם לא מציינים מסד נתונים לטבלה, המערכת מניחה שזהו מסד הנתונים.
שם משתמש: משאירים את השדה הזה ריק.
סיסמה: משאירים את השדה הזה ריק.
הפעלת PDT: משתמשים במתג הזה כדי להפעיל טבלאות נגזרות מתמידות. כשההגדרה PDT מופעלת, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
מסד נתונים זמני: סכימה או מסד נתונים זמניים לאחסון של PDT. צריך ליצור אותו מראש.
פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. רשימת הפרמטרים הנתמכים מופיעה בקטע פרמטרים נתמכים של JDBC בדף הזה.
SSL: מסמנים את התיבה כדי להשתמש בחיבורי SSL. אם אישור ה-SSL שלכם לא הונפק על ידי רשות אישורים מוכרת, ואתם משתמשים באישור בהתאמה אישית, תצטרכו:
- מעתיקים את קובץ האישור לשרת Looker. האפשרות הזו זמינה רק בפריסות של Looker באירוח בצד הלקוח.
- מוסיפים את הפרמטרים הבאים לשדה Additional JDBC parameters (פרמטרים נוספים של JDBC):
sslTrustStore=/path/to/your/trust_store.jks;trustStorePassword=yourpassword
פרטים נוספים על יצירת מחרוזות JDBC נכונות למסדי נתונים של Impala זמינים במסמכי התיעוד של Cloudera.
- אזור הזמן של מסד הנתונים: אזור הזמן של הנתונים שמאוחסנים במסד הנתונים. בדרך כלל אפשר להשאיר את השדה הזה ריק או להגדיר בו את 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)
- דף ה-man של kinit
- דף ה-man של klist
- מסמכי תיעוד של gss-jaas.conf
- חומרי עזר בנושא Krb5LoginModule
הרשאות ל-PDT
למשתמש שמתחבר לסכימת ה-scratch של טבלאות נגזרות קבועות (PDT) צריכות להיות הרשאות קריאה/כתיבה.
פרמטרים נתמכים של JDBC
ב-Cloudera Impala, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במאמרי העזרה של מסד הנתונים.
AllowSelfSignedCertsauthAuthMechCAIssuedCertNamesMismatchhttpPathKrbHostFQDNKrbRealmKrbServiceNameprincipalPWDSocketTimeoutSSLtransportModeUIDUseNativeQueryUseSasl
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים צריך לתמוך בהן גם כן.
Cloudera Impala עם Native Driver
Cloudera Impala עם Native Driver תומך בתכונות הבאות החל מ-Looker 26.18:
| התכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| סקיצות HLL | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים במסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala 3.1+
החל מ-Looker 26.18, Cloudera Impala 3.1+ תומך בתכונות הבאות:
| התכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| סקיצות HLL | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים במסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala 3.1 ואילך עם Native Driver
Cloudera Impala 3.1+ עם Native Driver תומך בתכונות הבאות החל מ-Looker 26.18:
| התכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| סקיצות HLL | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים במסד הנתונים | |
| יומנים בהתאמה אישית |
השלבים הבאים
אחרי שמקשרים את מסד הנתונים ל-Looker, מגדירים את אפשרויות הכניסה למשתמשים.