हडुप (Hadoop) गुगल फाइल प्रणाली (Google File System) को खुला स्रोत कार्यान्वयन (Open source implementation) हो र वर्तमान समयमा बिग डाटा (Big Data) को क्षेत्रमा रहेको अत्यधिक चर्चाको मुख्य आधार हो। यदि तपाईं बिग डाटा इकोसिस्टम (Big Data Ecosystem) मा आफ्नो करियर बनाउन चाहनुहुन्छ वा यसलाई थप बुझ्न चाहनुहुन्छ भने, हडुप (Hadoop) को बारेमा सिक्नु अनिवार्य छ। हडुप स्थापना गर्ने प्रक्रिया त्यति सहज छैन किनभने यसका लागि जाभा (Java) को विशिष्ट संस्करण र सही कन्फिगरेसन (Configuration) मिलाउन आवश्यक हुन्छ। तल लेखिएका चरणहरूले मैले मेरो व्यक्तिगत म्याक (Mac) मा हडुप (Hadoop) परिनियोजन (Deploy) गर्न प्रयोग गरेको विधि देखाउँछन्।
१. होमब्रू (Homebrew) स्थापना गर्ने Link to heading
ब्रू (Brew) म्याकका लागि प्याकेज प्रबन्धक (Package Manager) हो जुन म्याकको एप स्टोर (Mac App Store) जस्तै हो, तर यो एप्पल (Apple) द्वारा नियन्त्रित छैन र यसमा खुला स्रोत सफ्टवेयरहरू (Open source software) उपलब्ध हुन्छन्। हामी निम्न कमाण्ड प्रयोग गरेर ब्रू (Brew) स्थापना गर्न सक्छौँ।
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
२. जाभा (Java) स्थापना गर्ने Link to heading
निम्न कमाण्ड प्रयोग गरेर जाभा (Java) डाउनलोड गर्नुहोस्:
brew cask install java
३. एसएसएच की (SSH Key) कन्फिगर गर्ने Link to heading
हडुपले प्रयोगकर्ता प्रमाणित (Authenticate) गर्न एसएसएच की (SSH Key) प्रयोग गर्दछ, त्यसैले हामी म्याकमा एसएसएच (SSH) गर्न सक्षम हुनुपर्दछ। कृपया निम्न कमाण्ड प्रयोग गरेर म्याकमा एसएसएच (SSH) सक्षम गरिएको छ कि छैन भनी प्रमाणित गर्नुहोस्:
sudo systemsetup -getremotelogin
यदि माथिको कमाण्डले रिमोट लगइन (Remote login) बन्द भएको संकेत गर्दछ भने, कृपया निम्न कमाण्डको प्रयोग गरी रिमोट लगइन सक्रिय (On) गर्नुहोस्:
sudo systemsetup -setremotelogin on
यदि तपाईंसँग एसएसएच की (SSH Key) छैन भने, कृपया निम्न कमाण्ड प्रयोग गरेर एसएसएच की (SSH Key) सिर्जना गर्नुहोस्। पूर्वनिर्धारित रूपमा यसले .ssh/id_rsa मा प्राइभेट की (Private Key) र .ssh/id_rsa.pub मा पब्लिक की (Public Key) सिर्जना गर्नेछ:
ssh-keygen -t rsa
त्यसपछि हामीले पब्लिक की (Public Key) लाई अथराइज्ड की (Authorized Key) मा कपी गर्नुपर्छ:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
४. हडुप स्थापना गर्ने (Install hadoop) Link to heading
हामी brew install <program_name> को प्रयोग गरी ब्रू (Brew) बाट कुनै पनि प्रोग्राम स्थापना गर्न सक्छौँ। कृपया स्थापना गर्न निम्न कमाण्डको प्रयोग गर्नुहोस्:
brew install hadoop
५. हडुप वातावरण वेरिएबलहरू (Hadoop Env Variables) कन्फिगर गर्ने Link to heading
हडुप वातावरण वेरिएबलहरू (Hadoop Environment Variables) hadoop-env.sh मा भण्डारण गरिएका हुन्छन्। मेरो हालको वातावरणमा यो /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hadoop-env.sh मा भण्डारण गरिएको छ। तपाईं निम्न कमाण्ड प्रयोग गरेर hadoop-env.sh को स्थान पत्ता लगाउन सक्नुहुन्छ:
find / -name "hadoop-env.sh"
त्यसपछि हामीले HADOOP_OPTS र JAVA_HOME वातावरण वेरिएबल (Environment variable) परिमार्जन गर्न आवश्यक छ:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home"
जाभाको संस्करण (Java version) निम्न कमाण्ड प्रयोग गरेर पत्ता लगाउन सकिन्छ:
ls /Library/Java/JavaVirtualMachines/
६. Core-site.xml कन्फिगर गर्ने Link to heading
माथिको सेटिङ फाइल (Setting file) HDFS ठेगाना र पोर्ट नम्बर (Port number) परिभाषित गर्न प्रयोग गरिन्छ। यो hadoop-env.sh जस्तै डाइरेक्टरीमा रहन्छ।
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
७. mapred-site.xml कन्फिगर गर्ने Link to heading
mapred-site.xml फाइल म्याप-रिड्युस (Map-reduce) मा जबट्र्याकर (Jobtracker) ठेगाना र पोर्ट नम्बर कन्फिगर गर्न प्रयोग गरिन्छ।
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
८. hdfs-site.xml कन्फिगर गर्ने Link to heading
hdfs-site.xml प्रयोग गरेर HDFS को रेप्लिकेसन फ्याक्टर (Replication factor) कन्फिगर गर्नुहोस्। पूर्वनिर्धारित मान ३ हुन्छ जसलाई हामीले हाम्रो स्ट्यान्डअलोन HDFS विकास सर्भर (Standalone HDFS development server) का लागि १ मा परिवर्तन गरेका छौँ।
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
९. HDFS फर्म्याट गर्ने (Formatting HDFS) Link to heading
HDFS को प्रयोग सुरु गर्नु अघि हामीले यसलाई फर्म्याट (Format) गर्नुपर्छ। HDFS फर्म्याट गर्न कृपया तलको कमाण्ड प्रयोग गर्नुहोस्:
hdfs -namenode format
१०. हडुप सुरु गर्ने (Launching Hadoop) Link to heading
यस प्याकेजले क्लस्टर (Cluster) का स्रोतहरू सुरु गर्न र बन्द गर्न केही उपयोगी स्क्रिप्टहरू पनि प्रदान गर्दछ जुन /usr/local/sbin स्थानमा अवस्थित हुन्छन्।
cd /usr/local/sbin
./start-dfs.sh
त्यसपछि तपाईं निम्न कमाण्ड प्रयोग गरेर DFS बन्द गर्न सक्नुहुन्छ:
./stop-dfs.sh