2015-01-19 3 views
5

से कनेक्ट करने के दौरान एचबीएएस शेल में कनेक्शन से इंकार कर दिया गया है, मैं अपने एचबीएएस को एचडीएफएस से जोड़ने की कोशिश कर रहा हूं। मेरे पास मेरे hdfs namenode (bin/hdfs namenode) और डेटनोड (/ bin/hdfs datanode) चल रहा है। मैं अपना हबेस (सुडो /bin/start-hbase.sh) और स्थानीय क्षेत्र सर्वर भी शुरू कर सकता हूं (sudo ./bin/local-regionservers.sh प्रारंभ 1 2)। लेकिन जब मैं निष्पादित करने के लिए कोशिश HBase से एक कमांड शेल यह निम्न त्रुटि देता है:एचबीएफएस

HBase-site.xml

<configuration> 
<property> 
<name>hbase.rootdir</name> 
<value>hdfs://localhost:9000/hbase</value> 
</property> 

    <!--for psuedo-distributed execution--> 
    <property> 
     <name>hbase.cluster.distributed</name> 
     <value>true</value> 
    </property> 
    <property> 
     <name>hbase.master.wait.on.regionservers.mintostart</name> 
     <value>1</value> 
    </property> 
     <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/teaching/14f-cis655/tmp/zk-deploy</value> 
     </property> 

    <!--for enabling collection of traces 
    --> 
    <property> 
     <name>hbase.trace.spanreceiver.classes</name> 
     <value>org.htrace.impl.LocalFileSpanReceiver</value> 
    </property> 
    <property> 
     <name>hbase.local-file-span-receiver.path</name> 
     <value>/teaching/14f-cis655/tmp/server-htrace.out</value> 
    </property> 
    </configuration> 

:

[email protected]:/teaching/14f-cis655/proj-dtracing/hbase/hbase-0.99.0-SNAPSHOT$ ./bin/hbase shell 
HBase Shell; enter 'help<RETURN>' for list of supported commands. 
Type "exit<RETURN>" to leave the HBase Shell 
Version 0.99.0-SNAPSHOT, rUnknown, Sat Aug 9 08:59:57 EDT 2014 

hbase(main):001:0> list 
TABLE                          
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/teaching/14f-cis655/proj-dtracing/hbase/hbase-0.99.0-SNAPSHOT/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/teaching/14f-cis655/proj-dtracing/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
2015-01-19 13:33:07,179 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

ERROR: Connection refused 

Here is some help for this command: 
List all tables in hbase. Optional regular expression parameter could 
be used to filter the output. Examples: 

    hbase> list 
    hbase> list 'abc.*' 
    hbase> list 'ns:abc.*' 
    hbase> list 'ns:.*' 

नीचे HBase और Hadoop के लिए मेरे विन्यास फाइल कर रहे हैं HDFS-site.xml

<configuration> 
<property> 
    <name>dfs.replication</name> 
    <value>1</value> 
</property> 
<property> 
    <name>dfs.namenode.name.dir</name> 
    <value>file:/teaching/14f-cis655/proj-dtracing/hadoop-2.6.0/yarn/yarn_data/hdfs/namenode</value> 
</property> 
<property> 
    <name>dfs.datanode.data.dir</name> 
    <value>file:/teaching/14f-cis655/proj-dtracing/hadoop-2.6.0/yarn/yarn_data/hdfs/datanode</value> 
</property> 
<property> 
    <name>hadoop.trace.spanreceiver.classes</name> 
    <value>org.htrace.impl.LocalFileSpanReceiver</value> 
    </property> 
    <property> 
    <name>hadoop.local-file-span-receiver.path</name> 
    <value>/teaching/14f-cis655/proj-dtracing/hadoop-2.6.0/logs/htrace.out</value> 
    </property> 
</configuration> 

कोर-site.xml

+०१२३५१६४१०६१
<configuration> 
<property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:9000</value> 
</property> 
</configuration> 
+0

आप का समाधान हुआ:

कृपया HBase सही ढंग से काम करने के लिए HDFS-site.xml के बगल में विकल्प जोड़ने (आपके सिस्टम उपयोगकर्ता, जो HBase को चलाने के लिए प्रयोग किया जाता है द्वारा की जगह $ HBASE_USER चर) इस मुद्दे? यदि हां, तो क्या आप समाधान साझा कर सकते हैं। – Shash

+0

उस निर्देशिका को हटाने का प्रयास करें जिसमें ज़ूकीपर इसका डेटा लिखता है। फिर अपने एचबीएएस –

+0

को पुनरारंभ करें मेरे मामले में निर्देशिका/शिक्षण/14f-cis655/tmp/zk-deploy –

उत्तर

3

कृपया जांच करें कि करता HDFS खोल से उपलब्ध है:

HADOOP_CONF_LIB_NATIVE_DIR="/hadoop/lib/native" 
HADOOP_OPTS="-Djava.library.path=/hadoop/lib" 
HADOOP_HOME=/hadoop 
YARN_HOME=/hadoop 
HBASE_HOME=/hbase 
HADOOP_HDFS_HOME=/hadoop 
HBASE_MANAGES_ZK=true 

:

$ hdfs dfs -ls /hbase 

भी सुनिश्चित करें कि आप में hdfs-env.sh फ़ाइल सब वातावरण चर है बनाना क्या आप एक ही ओएस उपयोगकर्ता का उपयोग करके हैडोप और एचबेस चलाते हैं? यदि आप अलग-अलग उपयोगकर्ताओं का उपयोग करते हैं, तो कृपया जांचें कि क्या HBase उपयोगकर्ता को HDFS तक पहुंचने की अनुमति है या नहीं।

सुनिश्चित करें कि आप $ {HBASE_HOME}/conf निर्देशिका में HDFS-site.xml और कोर-stie.xml (या सिमलिंक) फ़ाइलों की एक प्रति है कि सुनिश्चित करें।

इसके अलावा fs.default.name विकल्प यार्न के लिए हटा दिया गया है (लेकिन यह अभी भी काम करना चाहिए), तो आपको चाहिए fs.defaultFS बजाय काम में लें।

क्या आप जुकीपर का उपयोग करते हैं? क्योंकि आपने hbase.zookeeper.property.dataDir विकल्प निर्दिष्ट किया है, लेकिन वहां hbase.zookeeper.quorum और अन्य महत्वपूर्ण विकल्प नहीं हैं। अधिक जानकारी के लिए कृपया http://hbase.apache.org/book.html#zookeeper पढ़ें।

<property> 
    <name>hadoop.proxyuser.$HBASE_USER.groups</name> 
    <value>*</value> 
</property> 
<property> 
    <name>hadoop.proxyuser.$HBASE_USER.hosts</name> 
    <value>*</value> 
</property> 
<property> 
    <name>dfs.support.append</name> 
    <value>true</value> 
</property> 
+1

तैनात है, इसलिए समस्या यह थी कि ज़ूकीपर कोरम प्रक्रिया नहीं चल रही थी। हटाए जाने के बाद यह तय किया गया था कि निर्देशिका को हटा दिया गया है जिसमें एचबीएएस का अस्थायी डेटा है। यह अभी ठीक काम करता है। –