سؤال

أحاول تشغيل مثال أقصر مسارات من حاضنة Giraph ( https://cwiki.apache.org/confluence/display/giraph/shortest+pathemplemamplemamplemample ). ومع ذلك، بدلا من تنفيذ المثال من Giraph - * - التبعيات. لقد قمت بإنشاء جرة وظيفتي الخاصة. عندما قمت بإنشاء ملف عمل واحد كما هو مقدم في المثال، كنت أحصل على

giveacodicetagpre.

ثم قمت بتحريك الطبقات الداخلية (SimpleshortestphentEvertexInpUTIONPORTIONTEPTORTORTORTORTPONFIFORTORTORTORTPONVERMATFORMAT) لفصل الملفات وإعادة تسميتها فقط في حالة (SIMPLESHOSTSTPHANDVEREMINPORTIONPORMAT_V2، SIMPLESHORTESTPATHSVEREXOTPETORPORMAT_V2)؛ الفصول <قوية> ليست ثابتة بعد الآن. وقد حل هذا مشكلات الطبقة غير الموجودة لعدم العثور على simpleshortestpathertexinportformat_v2، ومع ذلك ما زلت أحصل على نفس الخطأ الخاص ب SimpleshortStPhentEverTexPTOLFORMAT_V2. أدناه هو تتبع مكدس الخاص بي.

giveacodicetagpre.

لقد فحصت جرة وظيفتي وجميع الطبقات موجودة. علاوة على ذلك، أنا أستخدم Hadoop 0.20.203 في وضع موزعة زائفة. الطريقة التي أطلقت بها وظيفتي مقدمة أدناه.

giveacodicetagpre.

أيضا لقد حددت hadoop_classpath عن giraph - * - - التبعيات. يمكنني تشغيل مثال Pagerankbenchmark بدون مشكلة (مباشرة من Giraph - - - - - - التبعيات. يعمل مثال مسار الأقسام أيضا (أيضا مباشرة من Giraph - * - التبعيات. يعمل وظائف Hadoop الأخرى دون مشكلة (في مكان قرأت لاختبار ما إذا كان "الكتلة" يعمل بشكل صحيح). هل جاء أي شخص مشكلة مماثلة؟ سيتم تقدير أي مساعدة.


الحل (آسف لنشرها مثل هذا ولكن لا يمكنني الإجابة على سؤالي الخاص لبضعة ساعات أكثر)

لحل هذه المشكلة، اضطررت إلى إضافة Jar Jar الخاص بي إلى Libjars (لا توجد تغييرات على Hadoop_ClassPath حيث تم إجراؤها). يبدو الأمر لإطلاق وظيفة الآن مثل هذا.

giveacodicetagpre.

قائمة الجرار يجب أن تكون مفصولة فاصلة. على الرغم من أن هذا قد حل مشكلتي. ما زلت فضولي لماذا لا بد لي من اجتياز جرة وظيفتي كمعلمة "classpath"؟ هل يمكن لأي شخص أن يفسح لي ما هو العقلاني وراء هذا؟ كما وجدت أنه غريب (أن أقول الأقل) لاستدعاء جرة وظيفتي ثم تمر مرة أخرى جرة "classpath". أنا حقا فضولي حول التفسير.

هل كانت مفيدة؟

المحلول

لقد وجدت حل برمجي بديل للمشكلة. نحتاج إلى تعديل طريقة التشغيل () بالطريقة التالية -

giveacodicetagpre.

setjarbyclass () سيجعل هداب البحث عن الفصول المفقودة في الجرة نفسها يحتوي على الفئة التي تم إرجاعها بواسطة GetClass ()، ولن نحتاج إلى إضافة اسم جرة الوظيفة بشكل منفصل إلى خيار -Libjars.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top