שימוש ב-Ranger עם שמירה במטמון והגבלת היקף

הפעלת שמירה במטמון

בקטע הזה מפורטים השלבים להפעלת שמירת נתונים במטמון באמצעות Ranger, כדי לצמצם את מספר הפעמים ש-Ranger Key Management System (KMS) צריך להצפין ולפענח אסימונים.

  1. התקנת memcached במכונות וירטואליות של אשכולות Managed Service for Apache Spark. כברירת מחדל, שרת memcached מופעל ביציאה 11211 של המכונה הווירטואלית (localhost:11211).

    sudo apt-get install -y memcached
    

  2. מגדירים את המאפיינים הבאים בקובץ ההגדרות /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml של Ranger במכונות וירטואליות של אשכול Managed Service for Apache Spark.

    <property>
    <name>authorization.service.remoteCaching.address</name>
    <value>localhost:11211</value>
    </property>
    <property> <name>authorization.service.remoteCaching.class</name> <value>com.google.cloud.hadoop.ranger.gcs.authorization.caching.MemcachedCache</value> </property>
    <property> <name>authorization.service.remoteCaching.encryption.key.uri</name> <value>gcp-kms://projects/PROJECT_ID_OF_KMS_KEY/locations/REGION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME</value> </property>

  3. מפעילים מחדש את שירות ההרשאה.

    sudo systemctl restart ranger-gcs-plugin-authorization-server
    

צפייה בסטטוס המטמון

אפשר להשתמש ב-telnet כדי לראות את סטטוס המטמון של Ranger.

  1. מתקינים את telnet.

    sudo apt-get install -y telnet
    

  2. משתמשים ב-telnet כדי להתחבר אל memcache ביציאת VM‏ 11211.

    sudo telnet 127.0.0.1 11211
    

  3. משתמשים בפקודות telnet כדי לראות את סטטוס המטמון, כולל הפקודות הבאות:

    • stats items: רשימת הסטטוס של פריטים במטמון. פלט לדוגמה:
      STAT items:17:number 2
      STAT items:17:number_hot 0
      STAT items:17:number_warm 0
      STAT items:17:number_cold 2
      
    • stats cachedump: רשימת המפתחות שמאוחסנים במטמון. פלט לדוגמה:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: ביטול תוקף של פריטים במטמון.

צמצום רמת ההרשאות של אסימוני גישה ל-Cloud Storage

יכול להיות שתצטרכו לצמצם את היקף אסימוני הגישה של Ranger כדי להרחיב את היקף הנתיבים ב-Cloud Storage שאליהם מצביעה טבלת Hive חיצונית.

כדי להעביר את כל המחיצות ותתי-המחיצות לרמת הטבלה, מגדירים את המאפיין downscope.table.partition-name.pruning.enabled לערך true בקובץ ההגדרות ranger-gcs-site.xml במכונות וירטואליות של אשכול Managed Service for Apache Spark.

<property>
  <name>downscope.table.partition-name.pruning.enabled</name>
  <value>true</value>
</property>

דוגמה:

  • שם הקטגוריה של Cloud Storage: gs://warehouse
  • נתיב טוקן הגישה המקורי: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • אחרי שמגדירים את downscope.table.partition-name.pruning.enabled ל-true, נתיב אסימון הגישה בהיקף מורחב: warehouse/hive/table/
log4j.propertiesdebug