नई Kubernetes सुविधा का उपयोग करते समय मैं Apache Spark को Hadoop-Azure लोड करने के लिए प्राप्त करने का प्रयास कर रहा हूं।
मेरे प्रयासों से कोई फर्क नहीं पड़ता, अपाचे स्पार्क हमेशा मुझे निम्न त्रुटि देता है java.lang.classnotfoundexception: Class org.apache.hadoop.fs.azure.NativeAzureFileSystem नहीं मिला >wabs:// स्कीमा
मेरा डॉकरीफाइल अभी
FROM spark:latest
COPY *.jar $SPARK_HOME/jars
ENV SPARK_EXTRA_CLASSPATH="$SPARK_HOME/jars/hadoop-azure-3.2.0.jar:$SPARK_HOME/jars/azure-keyvault-core-1.2.4.jar:$SPARK_HOME/jars/azure-storage-8.6.6.jar:$SPARK_HOME/jars/azure-storage-8.6.6.jar:$SPARK_HOME/jars/jetty-util-ajax-9.3.24.v20180605.jar:$SPARK_HOME/jars/wildfly-openssl-2.1.3.Final.jar"
ENV HADOOP_OPTIONAL_TOOLS="hadoop-azure,hadoop-azure-datalake"
(spark:latest is a build of Kubernetes\dockerfiles\spark\Dockerfile from the Spark-3.1.1-bin-hadoop3.2)
निर्देशिका में निम्नलिखित जार हैं:
- हडूप-अज़ूर-3.2.0.jar
- नीला-भंडारण-8.6.6.jar
- नीला-कीवॉल्ट-कोर-1.2.4.jar
- जेटी-उपयोग-AJAX-9.3.24.v20180605.jar
- Wildfly-openssl-2.1.3.Final.jar
मैंने पुष्टि की है कि फ़ाइलें कॉपी की गई हैं और /opt/spark/jars . में संग्रहीत हैं
1 उत्तर
इसलिए मुझे यह काम करने से पहले दो काम करने की जरूरत थी।
नंबर एक को सही निर्भरताएँ स्थापित हो रही थीं। मैंने निम्नलिखित निर्भरताओं के साथ एक नया pom.xml बनाकर ऐसा किया है:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-azure</artifactId>
<version>3.2.2</version>
</dependency>
और फिर mvn install dependency:copy-dependencies
चल रहा है। मैं तब आउटपुट जार फ़ाइलों को उस निर्देशिका में कॉपी कर सकता था जिसमें मेरा Dockerfile
शामिल है और इस सामग्री के साथ एक साधारण डॉकरफ़ाइल बनाएं:
FROM spark:latest
USER root
COPY ./*.jar $SPARK_HOME/jars
RUN chmod -R 775 $SPARK_HOME/jars
USER 185
हालाँकि मेरे पास एक और मुद्दा भी था। क्लाइंट मोड में चलते समय मैं wabs://
का उपयोग करने का प्रयास कर रहा था। यदि आप क्लाइंट मोड में चल रहे हैं, तो स्पार्ककॉन्टेक्स्ट बनाने वाली मशीन पर जार को /opt/spark/jars
पर भी कॉपी करना होगा।
संबंधित सवाल
नए सवाल
azure
Microsoft Azure सेवा क्लाउड कंप्यूटिंग प्लेटफ़ॉर्म के रूप में सेवा और अवसंरचना के रूप में एक प्लेटफ़ॉर्म है। Azure से संबंधित प्रोग्रामिंग प्रश्नों के लिए इस टैग का उपयोग करें। सुपर यूजर या सर्वर फाल्ट में सामान्य सर्वर सहायता प्राप्त की जा सकती है।