http://www.apache.org/dyn/closer.cgi/hbase/
国外的站点下载速度慢,可以考虑国内的镜像网站~
前面已经部署好了hadoop2.2.0单机伪分布式。必须先安装hadoop环境。
vim hbase-env.sh
# The java implementation to use. Java 1.6 required.
export JAVA_HOME=/usr/java/jdk
# Extra Java CLASSPATH elements. Optional.
export HBASE_CLASSPATH=/home/hadoop/conf
# The directory where pid files are stored./tmp by default.
export HBASE_PID_DIR=/home/hadoop/hbase/pids #注解:这个最好不要采用默认,放在/tmp很不安全,有可能被误删
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true
vim hbase-site.xml #我都是采用的ip地址
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://127.0.0.1:9000/hbase</value> 注解:这里与hadoop的hdfs建立了联系,如果你hadoop dfs -ls 发现没有hbase这个文件夹
</property> 运行:hadoop dfs -ls /hbase
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>127.0.0.1:</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
</configuration>
vim /etc/profile
#hbase
export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin
export CLASSPATH=$CLASSPATH:$HBASE_HOME/lib
遇到的问题1:
hadoop-2.2.0.tar.gz hbase-0.96.2-hadoop2-bin.tar.gz 我下的是这两个 所以这里可以不用替换。hbase下的hadoop相关jar包都是对应的。
但如果存在版本不匹配 。。。。如下做:
需要把hbase/lib/下所有的hadoop开头的jar包都用hadoop下的替换掉,具体做法:
find ./ -depth -name "hadoop-yarn-server-nodemanager-2.2.0.jar" -print
cp ./share/hadoop/yarn/hadoop-yarn-server-nodemanager-2.2.0.jar ./hbase/lib/
然后会发现就找不到“hadoop-client-2.2.0.jar”来替换hbase下的相应的,这个是在用hadoop源码编译的文件夹里找到:./hadoop-client/target/hadoop-client-2.2.0.jar
至此替换全部结束
遇到的问题2:
-- ::, WARN [main-SendThread(localhost:)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: 拒绝连接
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:)
这个异常的解决可以 启动完hbase,不关闭,然后再启动一次hbase 就可以。。。。。奇怪 参考连接: