spark-shell-এর প্যাকেজ রিজলভারকে চালুর সময়েই তার প্রক্সি দিন
--packages রিজলিউশনের আগেই ড্রাইভার JVM প্রক্সি বৈশিষ্ট্য সরবরাহ করুন; পরের শেল কোড ও এক্সিকিউটর সেটিংস সেই ডাউনলোড মিস করতে পারে।
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 প্রক্সির তালিকা সেই ক্ষেত্রগুলির জন্য প্রার্থী দেয়।
শেল উপলব্ধ হওয়ার আগেই --packages ব্যর্থ হলে এই অবস্থান ব্যবহার করুন। পরে দেওয়া অ্যাপ্লিকেশন কোড আগের ডাউনলোড ঠিক করতে পারে না। Spark চালুর অপশনগুলিকে প্রোগ্রাম্যাটিক সেটিংস থেকে আলাদা করে; ক্লায়েন্ট মোডে অ্যাপ্লিকেশন কোড চলার সময় ড্রাইভার JVM আগেই বিদ্যমান থাকে।
spark.driver.extraJavaOptions-এর জন্যও ডিপ্লয়মেন্ট মোড গুরুত্বপূর্ণ: ড্রাইভার অন্য মেশিনে চলতে পারে, যার প্রক্সি পর্যন্ত নিজের পথ দরকার। এক্সিকিউটরের পরের API অনুরোধ অন্য প্রক্রিয়া ও নেটওয়ার্ক অবস্থান; এক্সিকিউটর কনফিগার করলে চালুর রিজলিউশন সবসময় কনফিগার হয় না।
চালুর অপশন থাকলেও ডাউনলোড ব্যর্থ হলে
রিপোজিটরি হোস্টনেম, অনুরোধের ধরন ও প্রথম ত্রুটি অনুসরণ করুন। মেটাডেটা ও আর্টিফ্যাক্ট একাধিক হোস্ট থেকে আসতে পারে। Maven-সামঞ্জস্যপূর্ণ রিপোজিটরি URL প্রমাণ করে না যে Spark সফল Maven কমান্ডের ব্যবহৃত settings.xml পড়ে।
Java ডাউনলোডারকে প্রক্সি পদ্ধতি ও প্রয়োজনীয় প্রমাণীকরণ সমর্থন করতে হবে। হোস্ট/পোর্ট বৈশিষ্ট্য প্রতিটি স্কিম দেয় না, এবং বানানো http.proxyUsername বৈশিষ্ট্য শুধু Java নামটি গ্রহণ করলেই কার্যকর হয় না। এই স্তর নির্ণয়ের সময় চালুর আগের কনফিগারেশন ও নির্দিষ্ট ব্যর্থ ডাউনলোড একসাথে রাখুন।