Applies ToRevolution Analytics

בסביבת הארגון R Hadoop/מהפכה, משימה mapreduce עלולות להיכשל עם חריג הקשורות ל- kerberos של Java:

הגדרת אפשרויות:15/02/03 16:59:05 הזהר util. NativeCodeLoader: אין אפשרות לטעון את ספריית hadoop מקורי עבור הפלטפורמה שלך... באמצעות java מוכלת מחלקות היכן שמתאיםאיתור באגים: allArgs = [-Dmapred.reduce.tasks=1, /user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input, /user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/IRO.iro, /user/RevoShare/a377683/AirlineDemoSmall / *, dojo3m20002.rtp1.hadoop.fmr.com, 8020, /usr/bin/Revoscript]15/02/03 16:59:09 hdfs מידע. DFSClient: ליצור אסימון HDFS_DELEGATION_TOKEN 242420 עבור a377683 ha-hdfs:nameservice115/02/03 16:59:09 אבטחת מידע. TokenCache: התקבל dt עבור hdfs://nameservice1; סוג: HDFS_DELEGATION_TOKEN, שירות: ha-hdfs:nameservice1, Ident: (token HDFS_DELEGATION_TOKEN 242420 עבור a377683)......15/02/03 16:59:25 mapreduce מידע. משימה: להפחית מפת 0% 0%15/02/03 16:59:38 mapreduce מידע. משימה: משימה מזהה: attempt_1422647534016_1760_m_000000_0, מצב: נכשלשגיאה: java.io.IOException: R VM ביצע יציאה עם קוד יציאה: 1, פלט:הפעלת קובץ scriptאמת [1]$fileName [1] NA$start [1] 0$length [1] 015/02/03 16:59:37 הזהר אבטחה. UserGroupInformation: PriviledgedActionException כ: a377683 cause:javax.security.sasl.SaslException (auth:KERBEROS): אתחול GSS נכשל [נגרם על-ידי GSSException: אין אישורים חוקיים שסופק (רמת מנגנון: לא הצליח למצוא כל tgt Kerberos)]15/02/03 16:59:37 ipc הזהר. לקוח: חריגה נתקל בעת התחברות לשרת: javax.security.sasl.SaslException: אתחול GSS נכשל [נגרם על-ידי GSSException: אין אישורים חוקיים שסופק (רמת מנגנון: לא הצליח למצוא כל tgt Kerberos)]15/02/03 16:59:37 הזהר אבטחה. UserGroupInformation: PriviledgedActionException כ: a377683 cause:java.io.IOException (auth:KERBEROS): javax.security.sasl.SaslException: אתחול GSS נכשל [נגרם על-ידי GSSException: אין אישורים חוקיים שסופק (רמת מנגנון: לא הצליח למצוא כל tgt Kerberos)]hdfsOpenFile(/user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input): שגיאה FileSystem#open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;):java.io.IOException: נכשל על חריג מקומי: java.io.IOException: javax.security.sasl.SaslException: אתחול GSS נכשל [נגרם על-ידי GSSException: אין אישורים חוקיים שסופק (רמת מנגנון: לא הצליח למצוא כל tgt Kerberos)]; פרטי מחשב מארח: המארח המקומי הוא: "< שם מחשב מארח >"; המחשב המארח המשמש כיעד הוא: "< שם מחשב מארח >": 8020;ב- org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)ב- org.apache.hadoop.ipc.Client.call(Client.java:1415)ב- org.apache.hadoop.ipc.Client.call(Client.java:1364)ב- org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)ב- com.sun.proxy.$Proxy14.getBlockLocations (מקור לא ידוע)ב- org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:246)ב- sun.reflect.NativeMethodAccessorImpl.invoke0 (שיטה מקורית)ב- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)ב- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)ב- java.lang.reflect.Method.invoke(Method.java:606)ב- org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)ב- org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)ב- com.sun.proxy.$Proxy15.getBlockLocations (מקור לא ידוע)ב- org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1179)ב- org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1169)ב- org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1159)ב- org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:270)ב- org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:237)ב- org.apache.hadoop.hdfs.DFSInputStream. < init > (DFSInputStream.java:230)ב- org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1457)ב- org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:301)ב- org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:297)ב- org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)ב- org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:297)Caused על-ידי: java.io.IOException: javax.security.sasl.SaslException: אתחול GSS נכשל [נגרם על-ידי GSSException: ללא אישורים חוקיים שסופק (רמת מנגנון: לא היתה אפשרות למצוא כל tgt Kerberos)]ב- org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:679)ב- java.security.AccessController.doPrivileged (שיטה מקורית)ב- javax.security.auth.Subject.doAs(Subject.java:415)ב- org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)ב- org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:642)ב- org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:725)ב- org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)ב- org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)ב- org.apache.hadoop.ipc.Client.call(Client.java:1382)

תחילה, ודא שהמשתמש שולח משימת כרטיס kerberos הנוכחי ואת חוקי אך ניתן לראות כשל זה גם עם כרטיס חוקי מאושרות.אם האשכול נקבעה עבור זמינות גבוהה של צומת שם, יש צורך להיות ספציפי ב- RxHadoopMR() ולאחר RxHdfsFileSystem() קורא בקובץ ה-script כדי לציין את שם צומת השירות למרות המציין את שם המחשב המארח של צומת שם הפעיל גם יפעל. במקרה של kerberized ו- HA שם צומת סביבת עבודה, HDFS_DELEGATION_TOKEN להתאים את ההפניה nameservice. בטעות לעיל, ראה:

אבטחת מידע. TokenCache: התקבל dt עבור hdfs://nameservice1; סוג: HDFS_DELEGATION_TOKEN, שירות: ha-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN אסימון 242420 עבור a377683

במקרה זה, יש להגדיר את הארגומנטים nameNode/hostName בשיחות RxHadoopMR() ו- RxHdfsFileSystem() ל- "nameservice1".

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.