इस ट्यूटोरियल में - आप सीखेंगे,
- अपाचे HBase इंस्टॉलेशन मोड
- Hbase टार फ़ाइल स्थिर संस्करण को कैसे डाउनलोड करें
- Hbase - स्टैंडअलोन मोड इंस्टालेशन
- Hbase - स्थापना के छद्म वितरित मोड
- Hbase - पूरी तरह से वितरित मोड स्थापना
- HBase स्थापना समस्या निवारण
अपाचे HBase इंस्टॉलेशन मोड
Apache HBase को तीन मोड में स्थापित किया जा सकता है। इन मोड्स की विशेषताएं नीचे बताई गई हैं।
1) स्टैंडअलोन मोड इंस्टॉलेशन (Hadoop सिस्टम पर कोई निर्भरता नहीं)
- यह HBase का डिफ़ॉल्ट मोड है
- यह लोकल फाइल सिस्टम के खिलाफ चलता है
- यह Hadoop HDFS का उपयोग नहीं करता है
- केवल HMaster डेमॉन ही चल सकता है
- उत्पादन पर्यावरण के लिए अनुशंसित नहीं है
- सिंगल जेवीएम में चलता है
2) छद्म-वितरित मोड इंस्टॉलेशन (एकल नोड Hadoop सिस्टम + HBase इंस्टॉलेशन)
- यह Hadoop HDFS पर चलता है
- सभी डेमन एकल नोड में चलते हैं
- उत्पादन पर्यावरण के लिए सिफारिश
3) पूरी तरह से वितरित मोड इंस्टॉलेशन (मल्टीकोडहेडॉप पर्यावरण + HBase इंस्टॉलेशन)
- यह Hadoop HDFS पर चलता है
- सभी डेमॉन क्लस्टर में मौजूद सभी नोड्स पर चलने वाले हैं
- उत्पादन पर्यावरण के लिए अत्यधिक अनुशंसित है
Hadoop स्थापना के लिए इस URL को यहाँ देखें
Hbase टार फ़ाइल स्थिर संस्करण को कैसे डाउनलोड करें
चरण 1) HBase डाउनलोड करने के लिए यहां लिंक पर जाएं। यह नीचे दिखाए गए अनुसार एक वेबपेज खोलेगा।
चरण 2) 1.1.2 संस्करण के नीचे दिखाए गए अनुसार स्थिर संस्करण का चयन करें
चरण 3) hbase-1.1.2-bin.tar.gz पर क्लिक करें। यह टार फाइल डाउनलोड करेगा। स्थापना स्थान में टार फ़ाइल की प्रतिलिपि बनाएँ।
Hbase - स्टैंडअलोन मोड इंस्टालेशन:
स्थापना पहले से स्थापित Hadoop के साथ Ubuntu पर की जाती है।
चरण 1) प्लेस hbase-1.1.2-bin.tar.gz in / home / hduser
चरण 2) $ $ -xvf hbase-1.1.2-bin.tar.gz कमांड निष्पादित करके इसे अनज़िप करें । यह सामग्री को अनज़िप करेगा, और यह स्थान / घर / hduser में hbase-1.1.2 बनाएगा
चरण 3) नीचे के रूप में hbase-env.sh खोलें और स्थान में JAVA_HOME पथ का उल्लेख करें।
चरण 4) ~ ~ .bashrc फ़ाइल खोलें और नीचे दिखाए अनुसार HBASE_HOME पथ का उल्लेख करें
निर्यात HBASE_HOME = / home / hduser / hbase-1.1.1 निर्यात पथ = $ पथ: $ HBASE_HOME / बिन |
चरण 5) hbase-site.xml खोलें और फ़ाइल के अंदर निम्नलिखित गुण रखें
hduser @ ubuntu $ gedit hbase-site.xml (नीचे जैसा कोड)
hbase.rootdir file:///home/hduser/HBASE/hbase hbase.zookeeper.property.dataDir /home/hduser/HBASE/zookeeper
यहां हम दो गुण रख रहे हैं
- HBase रूट डायरेक्टरी और के लिए एक
- डेटा निर्देशिका के लिए दूसरा एक चिड़ियाघरकीपर के अनुरूप है।
सभी HMaster और ZooKeeper गतिविधियां इस hbase-site.xml की ओर इशारा करती हैं।
चरण 6) / आदि में मौजूद मेजबान फ़ाइल खोलें। स्थान और आईपी का उल्लेख करें जैसा कि नीचे दिखाया गया है।
चरण 7) अब नीचे दिए गए अनुसार प्रारंभ- hbase.sh को hbase-1.1.1 / bin स्थान पर चलाएँ।
और हम jps कमांड से देख सकते हैं कि HMaster चल रहा है या नहीं।
Step8) HBase शेल "hbase shell" का उपयोग करके शुरू हो सकता है और यह इंटरएक्टिव शेल मोड में प्रवेश करेगा जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। एक बार जब यह शेल मोड में प्रवेश कर जाता है, तो हम सभी प्रकार के कमांड कर सकते हैं।
स्टैंडअलोन मोड को शुरू करने के लिए Hadoop daemons की आवश्यकता नहीं होती है। HBase स्वतंत्र रूप से चल सकता है।
Hbase - स्थापना का छद्म वितरित मोड:
यह Apache Hbase Installation के लिए एक और तरीका है, जिसे इंस्टॉलेशन के Pseudo वितरित मोड के रूप में जाना जाता है। नीचे इस विधि के माध्यम से HBase स्थापित करने के चरण दिए गए हैं।
चरण 1) प्लेस hbase-1.1.2-bin.tar.gz in / home / hduser
चरण 2) $ $ -xvf hbase-1.1.2-bin.tar.gz कमांड निष्पादित करके इसे अनज़िप करें । यह सामग्री को अनज़िप करेगा, और यह स्थान / घर / hduser में hbase-1.1.2 बनाएगा
चरण 3) नीचे के रूप में hbase-env.sh खोलें और स्थान में JAVA_HOME पथ और क्षेत्र सर्वर पथ का उल्लेख करें और दिखाए अनुसार कमांड निर्यात करें
चरण 4) इस चरण में, हम ~ / .bashrc फ़ाइल खोलने जा रहे हैं और स्क्रीन पर दिखाए गए अनुसार HBASE_HOME पथ का उल्लेख करते हैं।
चरण 5) HBase-site.xml खोलें और फ़ाइल में नीचे के गुणों का उल्लेख करें। (नीचे जैसा कोड है)
hbase.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum localhost dfs.replication 1 hbase.zookeeper.property.clientPort 2181 hbase.zookeeper.property.dataDir /home/hduser/hbase/zookeeper
- इस संपत्ति में Hbase रूट डायरेक्टरी सेट करना
- वितरित सेट अप के लिए हमें यह प्रॉपर्टी सेट करनी होगी
- चिड़ियाघर कीपर कोरम की संपत्ति यहां स्थापित की जानी चाहिए
- इस संपत्ति में किए गए प्रतिकृति। डिफ़ॉल्ट रूप से हम प्रतिकृति को 1 के रूप में रख रहे हैं।
पूरी तरह से वितरित मोड में, कई डेटा नोड्स मौजूद हैं, इसलिए हम dfs.replication के लिए 1 से अधिक मान रखकर प्रतिकृति बढ़ा सकते हैं
- इस संपत्ति में क्लाइंट पोर्ट का उल्लेख किया जाना चाहिए
- इस प्रॉपर्टी में ZooKeeper डेटा डायरेक्टरी का उल्लेख किया जा सकता है
चरण 6) सबसे पहले हडोप डेमोंस को शुरू करें और उसके बाद एचबीसे डेमोंस को शुरू करें जैसा कि नीचे दिखाया गया है
यहाँ पहले आपको "./start-all.sh" कमांड का उपयोग करके Hadoop डेमन्स को शुरू करना होगा जैसा कि नीचे दिखाया गया है।
Hbase-start.sh द्वारा Hbase डेमन्स शुरू करने के बाद
अब jps चेक करें
Hbase - पूरी तरह से वितरित मोड स्थापना: -
- यह सेट अप Hadoop क्लस्टर मोड में काम करेगा, जहाँ कई नोड्स क्लस्टर में चलते हैं और चलते हैं।
- स्थापना छद्म वितरित मोड के समान है; एकमात्र अंतर यह है कि यह कई नोड्स में फैलेगा।
- HBase-site.xml और hbase-env.sh में उल्लिखित विन्यास फाइलें छद्म मोड में उल्लिखित हैं।
HBase स्थापना समस्या निवारण
1) समस्या कथन: मास्टर सर्वर इनिशियलाइज़ करता है लेकिन रीजन सर्वर इनिशियलाइज़ नहीं होता है
अपने आईपी पते के माध्यम से मास्टर और क्षेत्र सर्वर के बीच संचार। जिस तरह से मास्टर सुनने जा रहे हैं कि क्षेत्र सर्वर चल रहे हैं या 127.0.0.1 का आईपी पता है। IP पता 127.0.0.1 जो स्थानीय होस्ट है और मास्टर सर्वर के स्थानीय स्थानीय होस्ट का समाधान करता है।
कारण:
क्षेत्र सर्वर और मास्टर के बीच दोहरे संचार में, क्षेत्र सर्वर लगातार मास्टर सर्वर को उनके आईपी पते के बारे में सूचित करता है 127.0.0.1।
उपाय:
- होस्ट फ़ाइल में मौजूद स्थानीय होस्ट से मास्टर सर्वर नाम नोड को निकालना है
- होस्ट फ़ाइल स्थान / आदि / होस्ट
क्या बदलना है:
/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) समस्या कथन: Hadoop DFS के माध्यम से HBase के लिए रूट डायरेक्टरी बनाई गई
- मास्टर कहते हैं कि आपको HBase माइग्रेशन स्क्रिप्ट चलाने की आवश्यकता है।
- इसे चलाने पर , HBase माइग्रेशन स्क्रिप्ट रूट निर्देशिका में कोई फ़ाइलों की तरह प्रतिक्रिया करती है ।
कारण:
- Hadoop डिस्ट्रिब्यूटेड फ़ाइल सिस्टम का उपयोग करके HBase के लिए नई निर्देशिका का निर्माण
- यहाँ HBase दो संभावनाओं की उम्मीद करता है
1) रूट डायरेक्टरी मौजूद नहीं है
2) HBase पिछले चल रहे उदाहरण से पहले शुरू हुआ
उपाय:
- HBase रूट निर्देशिका के अनुरूप हो, वर्तमान में मौजूद नहीं है या HBase उदाहरण के पिछले रन द्वारा प्रारंभ किया गया है।
- समाधान के एक भाग के रूप में, हमें चरणों का पालन करना होगा
चरण 1) HBase रूट डायरेक्टरी को हटाने के लिए Hadoop dfs का उपयोग करना
चरण 2) HBase स्वयं द्वारा निर्देशिका बनाता और आरंभ करता है
4) समस्या कथन: ज़ूकीपर सत्र की समाप्ति की घटनाएँ
कारण:
- HMaster या HRegion सर्वर अपवादों को फेंककर बंद कर देते हैं
- यदि हम लॉग का निरीक्षण करते हैं, तो हम वास्तविक अपवादों का पता लगा सकते हैं जो फेंक दिए गए हैं
ज़ुकाइपर की समय-सीमा समाप्त होने के कारण निम्न अपवाद फेंका गया है। हाइलाइट किए गए ईवेंट लॉग फ़ाइल में हुए कुछ अपवाद हैं
नीचे दिए गए प्रदर्शन के रूप में लॉग फ़ाइल कोड:
WARN org.apache.zookeeper.ClientCnxn: Exceptionclosing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ecjava.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: 5000INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORTINFO 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 successfulWARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65ejava.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 जीबी से अधिक बनाए रखी है।
- ज़ुकीपर के लिए सत्र की समय सीमा बढ़ानी होगी।
- ज़ुकीपर से सत्र का समय बढ़ाने के लिए, हमें "hbase-site.xml" में निम्नलिखित संपत्ति को संशोधित करना होगा जो hbase / conf फ़ोल्डर पथ में मौजूद है।
- डिफ़ॉल्ट सत्र का समय 60 सेकंड है। हम नीचे बताए अनुसार इसे 120 सेकंड में बदल सकते हैं
zookeeper.session.timeout 1200000 hbase.zookeeper.property.tickTime 6000