‫Cloudera Impala 3.1 ואילך ו-Cloudera Impala עם Native Driver

ניבים שמשתמשים בהוראות האלה

‫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 או אימות משתמשים

כדי להגדיר חיבור שלא משתמש ב-Kerberos או באימות משתמשים, פועלים לפי השלבים הבאים:

  1. בדף Connection Settings (הגדרות חיבור), משאירים את השדות Username (שם משתמש) וPassword (סיסמה) ריקים. (הסימן * לצד שמות השדות מציין שהשדות האלה הם שדות חובה, אבל הם לא).
  2. בשדה 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
  1. מורידים ומתקינים את 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 מותקן, אבל לא מומלץ לעשות את זה.

  2. מעדכנים את JAVA_HOME ואת PATH ב-~looker/.bash_profile כך שיצביעו על ההתקנה הנכונה של Java ו-source ~/.bash_profile, או יוצאים מהחשבון ונכנסים אליו שוב.

  3. בודקים את גרסת Java באמצעות java -version.

  4. מאמתים את משתנה הסביבה 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

אימות משתמשים
  1. אם krb5.conf לא נמצא ב-/etc/, צריך להשתמש במשתנה הסביבה KRB5_CONFIG כדי לציין את המיקום שלו.

  2. מריצים את הפקודה klist כדי לוודא שיש כרטיס תקף במטמון כרטיסי Kerberos.

  3. אם אין כרטיס, מריצים את הפקודה kinit username@REALM או kinit username כדי ליצור את הכרטיס.

  4. החשבון שמשמש עם 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 כדי לוודא שהחיפושים ההפוכים יפעלו כמו שצריך.

בודקים את החיבור כדי לוודא שהוא מוגדר בצורה נכונה.

ניפוי באגים

משאבים

הרשאות ל-PDT

למשתמש שמתחבר לסכימת ה-scratch של טבלאות נגזרות קבועות (PDT) צריכות להיות הרשאות קריאה וכתיבה.

פרמטרים נתמכים של JDBC

ב-Cloudera Impala, ‏ Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC) בחיבור. מידע על הפרמטרים האלה זמין במסמכי התיעוד של מסד הנתונים.

  • AllowSelfSignedCerts
  • auth
  • AuthMech
  • CAIssuedCertNamesMismatch
  • httpPath
  • KrbHostFQDN
  • KrbRealm
  • KrbServiceName
  • principal
  • PWD
  • SocketTimeout
  • SSL
  • transportMode
  • UID
  • UseNativeQuery
  • UseSasl

תמיכה בתכונות

כדי ש-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, צריך להגדיר את אפשרויות הכניסה למשתמשים.