spark-shell کے پیکیج ریزالور کو لانچ کے وقت اس کا پراکسی دیں
--packages کی حل پذیری سے پہلے ڈرائیور JVM پراکسی خصوصیات فراہم کریں؛ بعد میں داخل کردہ shell کوڈ اور executor کی ترتیبات وہ ڈاؤن لوڈ رہا کر سکتی ہیں۔
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionکلائنٹ کی طرف سے spark-shell لانچ پر یہ ڈرائیور JVM اختیارات انحصار کی حل پذیری سے پہلے آتے ہیں۔ مثال کے اینڈ پوائنٹ اور group:artifact:version کو نصب شدہ Spark ورژن کے تعاون یافتہ اختیارات استعمال کرتے ہوئے مطلوبہ قدروں سے بدلیں۔ Java کا ہوسٹ نام اور پورٹ الگ خصوصیات ہیں۔ اجازت شدہ عوامی انحصار ڈاؤن لوڈز کے لیے HTTP پراکسی فہرست ان فیلڈز کے لیے امیدوار پیش کرتی ہے۔
یہ مقام اس وقت استعمال کریں جب shell دستیاب ہونے سے پہلے --packages ناکام ہو جائے۔ بعد میں داخل کردہ ایپلیکیشن کوڈ پہلے کی ڈاؤن لوڈ درست نہیں کر سکتا۔ Spark لانچ اختیارات کو پروگرامی ترتیبات سے الگ رکھتا ہے؛ کلائنٹ موڈ میں ایپلیکیشن کوڈ چلنے کے وقت ڈرائیور JVM پہلے ہی موجود ہوتا ہے۔
ڈپلائمنٹ موڈ بھی spark.driver.extraJavaOptions کے لیے اہم ہے: ڈرائیور کسی دوسری مشین پر چل سکتا ہے، جسے پراکسی تک اپنا راستہ درکار ہوتا ہے۔ executor کی بعد کی API درخواست دوسرا عمل اور دوسرا نیٹ ورک مقام ہے؛ executors کی ترتیب دینے سے اسٹارٹ اپ کی حل پذیری لازمی طور پر ترتیب نہیں پاتی۔
جب لانچ اختیارات موجود ہوں مگر ڈاؤن لوڈ ناکام ہو
ریپوزٹری کے ہوسٹ نام، درخواست کی قسم اور پہلی خرابی کی پیروی کریں۔ میٹاڈیٹا اور آرٹی فیکٹ کئی ہوسٹوں سے آ سکتے ہیں۔ Maven کے موافق ریپوزٹری URL یہ ثابت نہیں کرتا کہ Spark وہ settings.xml پڑھتا ہے جو کامیاب Maven کمانڈ استعمال کرتی ہے۔
Java ڈاؤن لوڈر کو پراکسی میکانزم اور مطلوبہ تصدیق کی حمایت کرنی چاہیے۔ ہوسٹ/پورٹ خصوصیات ہر اسکیم فراہم نہیں کرتیں، اور بنائی گئی http.proxyUsername خصوصیت صرف اس لیے مؤثر نہیں ہوتی کہ Java نام قبول کر لیتا ہے۔ اس مرحلے کی تشخیص کرتے وقت لانچ سے پہلے کی ترتیب اور مخصوص ناکام ڈاؤن لوڈ کو ساتھ رکھیں۔