অ্যাপাচি স্পার্ক (Apache Spark) একটি ওপেন-সোর্স, ডিস্ট্রিবিউটেড কম্পিউটিং ফ্রেমওয়ার্ক যা বৃহৎ পরিমাণ ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি বিশেষভাবে batch processing, streaming, machine learning, এবং graph processing এর জন্য শক্তিশালী একটি টুল। স্পার্ক ইনস্টল করা সাধারণত দুটি মোডে করা যেতে পারে:
- Local Mode: যেখানে সব কিছু একক মেশিনে রান করে।
- Cluster Mode: যেখানে ডিস্ট্রিবিউটেড ক্লাস্টার ব্যবহৃত হয় এবং একাধিক নোডে প্রসেসিং করা হয়।
এই টিউটোরিয়ালে আমরা আলোচনা করব কিভাবে স্পার্ক Local এবং Cluster মোডে ইনস্টল করা যায়।
1. Local Mode Installation
Local Mode তে স্পার্ক ইনস্টলেশন মূলত একক মেশিনে ব্যবহৃত হয়। এটি সাধারণত ডেভেলপমেন্ট এবং ছোট স্কেল পরীক্ষা করার জন্য উপযুক্ত। স্পার্কের local mode তে স্পার্ক ক্লাস্টারের সম্পূর্ণ সিমুলেশন করা হয়, যেখানে একাধিক ড্রাইভার ও এক্সিকিউটর কাজ করে।
Local Mode Installation Steps:
Step 1: Install Java স্পার্ক চালানোর জন্য Java 8 বা এর পরবর্তী সংস্করণ ইনস্টল করা আবশ্যক। আপনি নিচের কমান্ড দিয়ে Java ইনস্টল করতে পারেন:
Linux:
sudo apt update sudo apt install openjdk-8-jdkmacOS:
brew install openjdk@8- Windows: Java ডাউনলোড করুন Java Official Page থেকে এবং ইনস্টল করুন।
Step 2: Download Apache Spark
স্পার্কের সর্বশেষ ভার্সন ডাউনলোড করার জন্য Apache Spark এর অফিসিয়াল ওয়েবসাইটে যান এবং ডাউনলোড করুন: Apache Spark Downloads
- সাইটে গিয়ে আপনি স্পার্কের একটি ভার্সন নির্বাচন করতে পারবেন এবং ডাউনলোড করতে পারবেন।
- আপনি প্রিফারেন্স অনুযায়ী Hadoop ভার্সনও সিলেক্ট করতে পারেন, তবে Pre-built for Hadoop 3.2 and later সিলেক্ট করা উত্তম।
Step 3: Extract Spark Files
স্পার্ক ডাউনলোড করার পর, এটি আনজিপ (extract) করুন:
tar -xvzf spark-3.x.x-bin-hadoop3.2.tgz
Step 4: Set SPARK_HOME Environment Variable
স্পার্কের জন্য SPARK_HOME পরিবেশ ভেরিয়েবল সেট করতে হবে। আপনার .bashrc অথবা .zshrc ফাইলে নিচের লাইনটি যোগ করুন:
export SPARK_HOME=~/spark-3.x.x-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin
এটি আপনার স্পার্কের bin ডিরেক্টরি সিস্টেম পাথে যোগ করবে, যা আপনাকে স্পার্ক কমান্ড সহজে চালানোর সুযোগ দেবে।
Step 5: Test the Installation
স্পার্ক ইনস্টলেশনের পর, টেস্ট করার জন্য নিচের কমান্ডটি চালান:
spark-shell
এটি স্পার্কের Scala shell খুলবে, যেখানে আপনি স্পার্কের কমান্ডগুলো পরীক্ষা করতে পারবেন।
2. Cluster Mode Installation
Cluster Mode তে স্পার্ক ইনস্টলেশন ডিস্ট্রিবিউটেড পরিবেশে কাজ করার জন্য ব্যবহৃত হয়। এখানে, আপনি একাধিক সার্ভার বা নোড ব্যবহার করেন এবং স্পার্কের Master-Slave architecture ব্যবহার করে কাজ করেন। Cluster Mode সাধারণত বড় ডেটাসেটের জন্য ব্যবহৃত হয় যেখানে ডেটা প্রসেসিং অনেক বেশি।
Cluster Mode Installation Steps:
Step 1: Install Spark on All Cluster Nodes
প্রথমে, স্পার্কের একই ভার্সন Master Node এবং Worker Nodes এ ইনস্টল করুন। আপনি যেভাবে Local Mode তে ইনস্টল করেছিলেন ঠিক সেভাবে একই পদ্ধতিতে স্পার্ক ইনস্টল করবেন। তবে, এখানে স্পার্ক ক্লাস্টারের সকল নোডে একই SPARK_HOME ভেরিয়েবল সেট করতে হবে।
Step 2: Install Hadoop on the Cluster
স্পার্ক Hadoop এর সাথে কাজ করতে পারে, তাই আপনাকে Hadoop ইনস্টল করতে হবে।
- Linux: Hadoop ইনস্টল করার জন্য আপনি কমান্ড লাইন ব্যবহার করতে পারেন, অথবা Hadoop Official Guide অনুসরণ করতে পারেন।
Hadoop Setup:
wget https://downloads.apache.org/hadoop/common/hadoop-x.x.x/hadoop-x.x.x.tar.gz tar -xvzf hadoop-x.x.x.tar.gz
Step 3: Set SPARK_CONF_DIR and HADOOP_CONF_DIR
স্পার্ক এবং হাডুপের কনফিগারেশন ফাইলের পথ নির্ধারণ করতে হবে। এটি করতে, spark-env.sh এবং hadoop-env.sh ফাইলগুলিতে SPARK_CONF_DIR এবং HADOOP_CONF_DIR ভেরিয়েবলগুলি সেট করুন।
export SPARK_CONF_DIR=$SPARK_HOME/conf
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
Step 4: Configure Spark for Cluster Mode
স্পার্ক ক্লাস্টারে চালানোর জন্য আপনাকে স্পার্কের slaves ফাইলে কর্মী নোডগুলির IP অথবা হোস্টনেম যোগ করতে হবে:
echo "worker-node-1" >> $SPARK_HOME/conf/slaves
echo "worker-node-2" >> $SPARK_HOME/conf/slaves
এখানে, worker-node-1 এবং worker-node-2 হলো কর্মী নোডগুলির হোস্টনেম বা IP ঠিকানা।
Step 5: Start the Spark Cluster
স্পার্ক ক্লাস্টার শুরু করতে Master Node এ এই কমান্ডটি রান করুন:
$SPARK_HOME/sbin/start-master.sh
এরপর Worker Nodes এ এই কমান্ডটি চালান:
$SPARK_HOME/sbin/start-worker.sh spark://<Master_IP>:7077
এটি স্পার্ক ক্লাস্টারের সকল নোড শুরু করবে এবং Spark Master সিঙ্ক্রোনাইজড হবে।
Step 6: Verify the Cluster Setup
স্পার্ক ক্লাস্টার সেটআপ সঠিকভাবে হয়েছে কিনা তা চেক করতে স্পার্ক Web UI তে যেতে হবে। সাধারণত, এটি http://<Master_IP>:8080 এ চলে আসে। আপনি এখানে আপনার ক্লাস্টার নোড, কাজের অবস্থা এবং অন্যান্য তথ্য দেখতে পারবেন।
3. Running Jobs in Cluster Mode
স্পার্ক ক্লাস্টারে কাজ চালাতে, আপনাকে spark-submit কমান্ড ব্যবহার করতে হবে, যা কাজগুলি ক্লাস্টারে পাঠায়। উদাহরণস্বরূপ:
$SPARK_HOME/bin/spark-submit --class <MainClass> --master spark://<Master_IP>:7077 <Application_Jar_File> <Application_Args>
এখানে:
- --class: আপনার জাভা বা স্কালা অ্যাপ্লিকেশনের প্রধান ক্লাস।
- --master: স্পার্ক ক্লাস্টারের মাস্টার নোডের URL।
- <Application_Jar_File>: আপনার স্পার্ক অ্যাপ্লিকেশনের জার ফাইল।
- <Application_Args>: আপনার অ্যাপ্লিকেশনের আর্গুমেন্ট (যদি থাকে)।
Conclusion
Apache Spark এর Local Mode এবং Cluster Mode ইনস্টলেশন সহজ এবং কার্যকরী। Local Mode সাধারণত ডেভেলপমেন্ট এবং ছোট স্কেল টেস্টিংয়ের জন্য ব্যবহৃত হয়, যখন Cluster Mode বৃহৎ ডেটাসেট এবং ডিস্ট্রিবিউটেড কম্পিউটিংয়ের জন্য উপযুক্ত। আপনি যদি বড় ডেটা প্রসেসিং করতে চান এবং একটি বড় ক্লাস্টারে কাজ করতে চান, তবে Cluster Mode ইনস্টলেশন প্রক্রিয়া অনুসরণ করুন।
Read more