एचबेस को कैसे स्थापित करें Ubuntu: चरण-दर-चरण मार्गदर्शिका
⚡ स्मार्ट सारांश
एचबेस इंस्टॉलेशन पर Ubuntu यह तीन मोड में चलता है — स्टैंडअलोन, स्यूडो-डिस्ट्रिब्यूटेड और फुली डिस्ट्रिब्यूटेड — जिसमें रिलीज टारबॉल को डाउनलोड करने, hbase-env.sh और hbase-site.xml को एडिट करने, डेमन्स को स्टार्ट करने और सामान्य स्टार्टअप त्रुटियों को ठीक करने के तरीके शामिल हैं।

अपाचे एचबेस एक वितरित प्रणाली है, कॉलम-उन्मुख डेटाबेस यह हैडूप डिस्ट्रीब्यूटेड फाइल सिस्टम (एचडीएफएस) के ऊपर चलता है। शुरू करने से पहले, सुनिश्चित करें कि यह समर्थित है। Java रनटाइम स्थापित है और JAVA_HOME सेट है; स्यूडो-डिस्ट्रिब्यूटेड और फुली डिस्ट्रिब्यूटेड मोड के लिए भी एक कार्यशील प्रणाली की आवश्यकता होती है। Hadoop स्थापना.
अपाचे HBase स्थापना मोड
अपाचे HBase को तीन मोड में इंस्टॉल किया जा सकता है। इन मोड की विशेषताएं नीचे बताई गई हैं।
1) स्टैंडअलोन मोड इंस्टॉलेशन (Hadoop सिस्टम पर कोई निर्भरता नहीं)
- यह HBase का डिफ़ॉल्ट मोड है।
- यह स्थानीय फाइल सिस्टम के विरुद्ध चलता है।
- इसका उपयोग नहीं होता Hadoop HDFS.
- केवल एचमास्टर डेमन ही चल सकता है।
- उत्पादन परिवेश के लिए अनुशंसित नहीं है।
- यह एक ही JVM में चलता है।
2) छद्म-वितरित मोड स्थापना (एकल नोड Hadoop प्रणाली + HBase स्थापना)
- यह चलता है Hadoop HDFS.
- सभी डेमन एक ही नोड पर चलते हैं।
- उत्पादन वातावरण के लिए अनुशंसित।
3) पूर्णतः वितरित मोड में स्थापना (मल्टीनोड हैडूप वातावरण + एचबेस स्थापना)
- यह चलता है Hadoop HDFS.
- क्लस्टर में मौजूद सभी नोड्स पर सभी डेमन चलते हैं।
- उत्पादन परिवेश के लिए अत्यधिक अनुशंसित।
Hadoop को इंस्टॉल करने के लिए, इस लिंक को देखें। हैडूप इंस्टॉलेशन गाइड.
नीचे दिए गए स्क्रीनशॉट में HBase 1.1.2 का उपयोग किया गया है। वर्तमान स्थिर रिलीज़ HBase 2.5.x और 2.6.x श्रृंखला हैं।Java 8 या 11), लेकिन इंस्टॉलेशन के चरण और कॉन्फ़िगरेशन फ़ाइलें मूल रूप से समान ही रहती हैं।
HBase tar फ़ाइल का स्थिर संस्करण कैसे डाउनलोड करें
चरण १) पर जाएँ अपाचे एचबेस का आधिकारिक डाउनलोड पेज HBase डाउनलोड करने के लिए, नीचे दिखाए गए अनुसार डाउनलोड पेज खुल जाएगा।
चरण 2) नीचे दिखाए अनुसार स्थिर संस्करण का चयन करें, जैसे कि HBase 1.1.2 संस्करण।
चरण 3) hbase-1.1.2-bin.tar.gz पर क्लिक करें। इससे tar फ़ाइल डाउनलोड हो जाएगी। tar फ़ाइल को इंस्टॉलेशन स्थान पर कॉपी करें।
HBase को कैसे स्थापित करें? Ubuntu स्टैंडअलोन मोड के साथ
यहां एचबेस स्टैंडअलोन मोड इंस्टॉलेशन की चरण-दर-चरण प्रक्रिया दी गई है। Ubuntu:
चरण 1) नीचे दिए गए कमांड को लिखें। hbase-1.1.2-bin.tar.gz फ़ाइल को /home/hduser फ़ोल्डर में रखें।
चरण 2) $tar -xvf hbase-1.1.2-bin.tar.gz कमांड चलाकर इसे अनज़िप करें। यह सामग्री को अनज़िप करेगा और /home/hduser स्थान पर hbase-1.1.2 फ़ाइल बनाएगा।
चरण 3) नीचे दिखाए अनुसार hbase-env.sh खोलें और स्थान में JAVA_HOME पथ का उल्लेख करें, जैसा कि नीचे दिखाया गया है।
चरण 4) ~/.bashrc फ़ाइल खोलें और नीचे दिखाए अनुसार HBASE_HOME पथ का उल्लेख करें।
export HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin
HBASE_HOME प्रविष्टि के साथ अपडेट की गई ~/.bashrc फ़ाइल नीचे दिखाई गई है।
चरण 5) फ़ाइल में प्रॉपर्टीज़ जोड़ें। hbase-site.xml फ़ाइल खोलें और उसमें निम्नलिखित प्रॉपर्टीज़ डालें।
एचडीयूज़र@उबंटू$ gedit hbase-site.xml (नीचे दिए गए कोड के अनुसार)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
hbase-site.xml फ़ाइल खुल गई gedit नीचे दिखाया गया है।
यहां हम दो गुणधर्मों को रख रहे हैं:
- एक एचबेस रूट डायरेक्टरी के लिए, और
- दूसरा डेटा डायरेक्टरी के लिए है जो इसके अनुरूप है चिड़ियाघर संचालक.
सभी HMaster और ZooKeeper गतिविधियाँ इस hbase-site.xml की ओर इंगित करती हैं।
चरण 6) आईपी पते दर्ज करें। /etc फ़ोल्डर में मौजूद होस्ट फ़ाइल खोलें और नीचे दिखाए अनुसार आईपी पते दर्ज करें।
चरण 7) अब नीचे दिखाए अनुसार hbase-1.1.1/bin फ़ोल्डर में start-hbase.sh चलाएँ। फिर आप jps कमांड से जाँच सकते हैं कि HMaster चल रहा है या नहीं।
चरण 8) HBase शेल प्रारंभ करें। HBase शेल को निम्न कमांड का उपयोग करके प्रारंभ किया जा सकता है: एचबेस शेल कमांड दबाने पर, यह नीचे दिए गए स्क्रीनशॉट में दिखाए अनुसार इंटरैक्टिव शेल मोड में प्रवेश कर जाएगा। शेल मोड में प्रवेश करने के बाद, हम सभी प्रकार के कमांड चला सकते हैं।
स्टैंडअलोन मोड को शुरू करने के लिए Hadoop डेमॉन की आवश्यकता नहीं होती है। HBase स्वतंत्र रूप से चल सकता है।
HBase छद्म वितरित स्थापना मोड
यह Apache HBase को स्थापित करने का एक अन्य तरीका है, जिसे स्यूडो डिस्ट्रीब्यूटेड मोड के नाम से जाना जाता है। स्यूडो डिस्ट्रीब्यूटेड मोड के माध्यम से HBase को स्थापित करने के चरण नीचे दिए गए हैं।
चरण 1) hbase-1.1.2-bin.tar.gz को /home/hduser में रखें।
चरण 2) $tar -xvf hbase-1.1.2-bin.tar.gz कमांड चलाकर इसे अनज़िप करें। यह सामग्री को अनज़िप करेगा और /home/hduser स्थान पर hbase-1.1.2 फ़ाइल बनाएगा।
चरण 3) नीचे दिखाए अनुसार hbase-env.sh खोलें, लोकेशन में JAVA_HOME पाथ और रीजन सर्वर का पाथ दर्ज करें, और नीचे दिखाए अनुसार कमांड को एक्सपोर्ट करें।
चरण 4) इस चरण में, हम ~/.bashrc फ़ाइल खोलेंगे और नीचे दिए गए स्क्रीनशॉट में दिखाए अनुसार HBASE_HOME पथ का उल्लेख करेंगे।
चरण 5) hbase-site.xml फ़ाइल खोलें और उसमें नीचे दी गई प्रॉपर्टीज़ का उल्लेख करें (कोड नीचे दिया गया है)।
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
नीचे स्यूडो-डिस्ट्रिब्यूटेड प्रॉपर्टीज़ वाली hbase-site.xml फ़ाइल दिखाई गई है।
शेष ZooKeeper कॉन्फ़िगरेशन नीचे दिखाया गया है।
फाइल में मौजूद प्रत्येक प्रॉपर्टी एक विशिष्ट भूमिका निभाती है:
- hbase.rootdir प्रॉपर्टी में HBase रूट डायरेक्टरी सेट करना।
- डिस्ट्रिब्यूटेड सेटअप के लिए, hbase.cluster.distributed को true पर सेट किया जाना चाहिए।
- यहां ZooKeeper quorum प्रॉपर्टी को सेट अप किया जाना चाहिए।
- dfs.replication प्रॉपर्टी में रेप्लिकेशन सेट किया जाता है। डिफ़ॉल्ट रूप से हम रेप्लिकेशन को 1 पर सेट करते हैं। पूरी तरह से वितरित मोड में, कई डेटा नोड मौजूद होते हैं, इसलिए आप dfs.replication प्रॉपर्टी में 1 से अधिक मान रखकर रेप्लिकेशन को बढ़ा सकते हैं।
- hbase.zookeeper.property.clientPort प्रॉपर्टी में क्लाइंट पोर्ट का उल्लेख किया जाना चाहिए।
- ZooKeeper डेटा डायरेक्टरी को hbase.zookeeper.property.dataDir प्रॉपर्टी में उल्लिखित किया जा सकता है।
चरण 6) सबसे पहले Hadoop डेमन्स को प्रारंभ करें, और उसके बाद नीचे दिखाए अनुसार HBase डेमन्स को प्रारंभ करें। सबसे पहले आपको ./start-all.sh कमांड का उपयोग करके Hadoop डेमन्स को प्रारंभ करना होगा, जैसा कि नीचे दिखाया गया है।
उसके बाद, नीचे दिखाए अनुसार hbase-start.sh कमांड का उपयोग करके HBase डेमॉन को प्रारंभ करें।
अब नीचे दिखाए गए अनुसार jps कमांड का उपयोग करके चल रही प्रक्रियाओं की जांच करें।
HBase पूर्णतः वितरित मोड स्थापना
पूर्णतः वितरित मोड छद्म-वितरित सेटअप को एक वास्तविक क्लस्टर तक विस्तारित करता है।
- यह सेटअप हैडूप क्लस्टर मोड में काम करता है, जहां क्लस्टर में कई नोड उत्पन्न होते हैं और चल रहे होते हैं।
- इसकी स्थापना छद्म वितरित मोड के समान है; एकमात्र अंतर यह है कि यह कई नोड्स में फैलेगी।
- hbase-site.xml और hbase-env.sh में उल्लिखित कॉन्फ़िगरेशन फ़ाइलें वही हैं जो स्यूडो मोड में उल्लिखित हैं।
पूर्णतः वितरित मोड में, सुनिश्चित करें कि आपके क्लस्टर पर हैडूप का संस्करण एचबेस के साथ बंडल की गई हैडूप लाइब्रेरी से मेल खाता हो ताकि डेमन सही ढंग से संवाद कर सकें।
HBase स्थापना समस्या निवारण
1) समस्या कथन: मास्टर सर्वर तो आरंभ हो जाता है, लेकिन रीजन सर्वर आरंभ नहीं होते।
मास्टर और रीजन सर्वरों के बीच संचार उनके आईपी पतों के माध्यम से होता है। मास्टर उन रीजन सर्वरों को सुनता है जो चल रहे हैं या जिनका आईपी पता 127.0.0.1 है। आईपी पता 127.0.0.1 स्थानीय होस्ट है और यह मास्टर सर्वर के अपने स्थानीय होस्ट को दर्शाता है।
कारण:
रीजन सर्वर और मास्टर के बीच दोहरे संचार में, रीजन सर्वर लगातार मास्टर सर्वर को सूचित करता है कि उसका आईपी पता 127.0.0.1 है।
उपाय:
- होस्ट फाइल में मौजूद लोकल होस्ट एंट्री से मास्टर सर्वर नेम नोड को हटा दें।
- होस्ट फ़ाइल का स्थान: /etc/hosts.
क्या बदलना होगा:
/etc/hosts फ़ाइल खोलें और इस स्थान पर जाएं।
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
उपरोक्त कॉन्फ़िगरेशन को नीचे दिए गए अनुसार संशोधित करें (ऊपर हाइलाइट किए गए क्षेत्र सर्वर नाम को हटा दें)।
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) समस्या कथन: ज़ूकीपर कोरम सर्वरों की सूची में मेरा पता XYZ नहीं मिल सका।
कारण:
- ZooKeeper सर्वर शुरू नहीं हो सका, और यह सर्वर के नाम में .xyz जैसी त्रुटि उत्पन्न करता है।
- HBase किसी मशीन पर ZooKeeper सर्वर शुरू करने का प्रयास करता है, लेकिन साथ ही मशीन hbase.zookeeper.quorum कॉन्फ़िगरेशन में मौजूद कोरम कॉन्फ़िगरेशन में खुद को नहीं ढूंढ पाती है।
उपाय:
- त्रुटि संदेश में दिए गए होस्टनाम से होस्टनाम को बदलें।
- यदि आपके पास DNS सर्वर है, तो आप hbase-site.xml में निम्नलिखित कॉन्फ़िगरेशन सेट कर सकते हैं: hbase.zookeeper.dns.interface और hbase.zookeeper.dns.nameserver।
3) समस्या कथन: हैडूप डीएफएस के माध्यम से एचबेस के लिए एक रूट डायरेक्टरी बनाई गई।
- मास्टर का कहना है कि आपको एचबेस माइग्रेशन स्क्रिप्ट चलाने की आवश्यकता है।
- इसे चलाने पर, एचबेस माइग्रेशन स्क्रिप्ट जवाब देती है कि रूट डायरेक्टरी में कोई फाइल नहीं है।
कारण:
- हैडूप डिस्ट्रीब्यूटेड फाइल सिस्टम का उपयोग करके एचबेस के लिए एक नई डायरेक्टरी बनाई गई।
- यहां एचबेस दो संभावनाओं की अपेक्षा करता है:
1) रूट डायरेक्टरी मौजूद नहीं है।
2) इससे पहले एचबेस का एक पूर्व रनिंग इंस्टेंस इनिशियलाइज़ किया गया था।
उपाय:
- पुष्टि करें कि HBase रूट डायरेक्टरी वर्तमान में मौजूद नहीं है या HBase इंस्टेंस के पिछले रन द्वारा इसे इनिशियलाइज़ नहीं किया गया है।
- समाधान के हिस्से के रूप में, इन चरणों का पालन करें।
चरण 1) HBase रूट डायरेक्टरी को हटाने के लिए Hadoop dfs का उपयोग करें।
चरण 2) एचबेस स्वयं ही निर्देशिका बनाता और प्रारंभ करता है।
4) समस्या विवरण: ज़ूकीपर सत्र की समाप्ति की घटनाएँ
कारण:
- एचमास्टर या एचरीजन सर्वर अपवाद उत्पन्न करके बंद हो जाते हैं।
- यदि आप लॉग का अवलोकन करेंगे, तो आपको वास्तव में उत्पन्न हुई त्रुटियों का पता चल जाएगा।
नीचे ZooKeeper के समाप्त होने की घटना के कारण उत्पन्न अपवाद दिखाया गया है। हाइलाइट की गई घटनाएं लॉग फ़ाइल में हुई कुछ अपवाद हैं।
लॉग फ़ाइल कोड नीचे प्रदर्शित किया गया है:
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
उपाय:
- डिफ़ॉल्ट रैम का आकार 1 जीबी है। लंबे समय तक चलने वाले आयात कार्यों के लिए, 1 जीबी से अधिक रैम क्षमता बनाए रखें।
- ZooKeeper के लिए सेशन टाइमआउट बढ़ाएँ।
- ZooKeeper के सेशन टाइमआउट को बढ़ाने के लिए, hbase/conf फ़ोल्डर में मौजूद hbase-site.xml फ़ाइल में निम्नलिखित प्रॉपर्टी को संशोधित करें।
- डिफ़ॉल्ट सेशन टाइमआउट 60 सेकंड है। आप इसे नीचे बताए अनुसार 120 सेकंड में बदल सकते हैं।
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















