ניבים שמשתמשים בהוראות האלה
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 daemon ביציאה 21050. מידע נוסף זמין בקטע הגדרת Impala לעבודה עם JDBC במסמכי העזרה באתר Cloudera.
בקטע Admin (ניהול) ב-Looker, בוחרים באפשרות Connections (חיבורים) ואז לוחצים על Add Connection (הוספת חיבור).
הגדרת החיבור ל-Looker תלויה באמצעי האבטחה שבהם משתמשים:
- קלאסטר שלא משתמש ב-Kerberos או באימות משתמשים
- קלאסטר שנדרש בו אימות LDAP
- קלאסטר שמאובטח באמצעות Kerberos, אבל לא באמצעות Apache Sentry
התחברות לאשכול בלי Kerberos או אימות משתמשים
כדי להגדיר חיבור שלא משתמש ב-Kerberos או באימות משתמשים, פועלים לפי השלבים הבאים:
- בדף Connection Settings (הגדרות חיבור), משאירים את השדות Username (שם משתמש) וPassword (סיסמה) ריקים. (הסימן
*לצד שמות השדות מציין שהשדות האלה הם שדות חובה, אבל הם לא). - בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC), מזינים
;auth=noSasl.
אימות מחרוזת החיבור
כדי לאמת את מחרוזת החיבור של JDBC בקובצי היומן, בתפריט השמאלי של לוח האדמין ב-Looker, לוחצים על יומן. לאחר מכן מסננים את היומן לפי מונח כמו 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
יכול להיות שצוות האנליסטים של Looker יצטרך לעזור בהגדרה הנכונה של הקישור הזה.
בדרך כלל, אימות Kerberos בסביבות Cloudera מתבצע באמצעות Apache Sentry. פרטים נוספים מופיעים במסמכי התיעוד של Cloudera.
כדי להגדיר את Looker כך שיתחבר ישירות למסדי נתונים של Impala באמצעות אימות Kerberos, פועלים לפי השלבים שבדף הזה.
הגדרת התצורה של לקוח Kerberos
קודם כול, צריך לוודא שכמה חלקי תוכנה מותקנים ושיש כמה קבצים במחשב של Looker.
לקוח Kerberos
מוודאים שתוכנת הלקוח של Kerberos מותקנת במכונת Looker על ידי ניסיון להריץ את kinit. אם לקוח Kerberos לא מותקן, צריך להתקין את הקבצים הבינאריים של לקוח Kerberos.
לדוגמה, ב-Redhat/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 Policy Files.
יכול להיות שאפשר להשתמש בגרסאות של 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 למסד הנתונים
בקטע Admin (ניהול) ב-Looker, בוחרים באפשרות Connections (חיבורים) ואז לוחצים על Add Connection (הוספת חיבור).
ממלאים את פרטי החיבור באופן הבא (מידע נוסף זמין בדף התיעוד בנושא חיבור 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)
- דף ההוראות של kinit
- דף ההוראות של klist
- מסמכי תיעוד של gss-jaas.conf
- מסמכי תיעוד של Krb5LoginModule
הרשאות ל-PDT
למשתמש שמתחבר לסכימת ה-scratch של טבלאות נגזרות קבועות (PDT) צריכות להיות הרשאות קריאה וכתיבה.
פרמטרים נתמכים של JDBC
ב-Cloudera Impala, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC) בחיבור. מידע על הפרמטרים האלה זמין במסמכי התיעוד של מסד הנתונים.
AllowSelfSignedCertsauthAuthMechCAIssuedCertNamesMismatchhttpPathKrbHostFQDNKrbRealmKrbServiceNameprincipalPWDSocketTimeoutSSLtransportModeUIDUseNativeQueryUseSasl
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים שלכם צריך לתמוך בהן גם כן.
Cloudera Impala עם Native Driver
Cloudera Impala עם Native Driver תומך בתכונות הבאות החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| 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 Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala 3.1+
התכונות הבאות נתמכות ב-Cloudera Impala 3.1 ואילך החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| 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 Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |
Cloudera Impala 3.1+ עם Native Driver
Cloudera Impala 3.1 ואילך עם Native Driver תומך בתכונות הבאות החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| 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 Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |
השלבים הבאים
אחרי שמקשרים את מסד הנתונים ל-Looker, צריך להגדיר את אפשרויות הכניסה למשתמשים.