Hadoop---安装hbase单机版本伪分布

来源:转载

本文参考Jerry Tom的博客 HBse的安装,如果这个链接打不开,就看这个,后者为我转载的。
之前看过很多文章,或讲得比较片面,或根本就讲不清楚,上面这篇文章讲清楚了这么几件事情:

1 hbase和hadoop版本要匹配,如果不匹配怎么解决
2 hbase-env.sh 和 hbase-site.xml的配置,没有多余的配置,切中要害
3 zookeeper与hbase的关系

以下是我的安装情况

hbase没有配置好之前,出现了以下启动异常:

1 org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information. 2 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect java.net.ConnectException: Connection refused3 >hbase shell>listerror org.apache.hadoop.hbase.masternotrunningexception:4>hbase thrift -p 9090 start //启动thriftorg.apache.hadoop.hbase.ipc.SerVerNotRunningException:Server is not running yet

以上问题都是通过重新配置hbase/conf/下的hbase-env.sh 和 hbase-site.xml文件解决的。

已经安装了hadoop-1.2.1版本,再安装hbase-0.94.11版本,另一博文作者这样搭配的。

1)下载并解压
在网上搜索并下载hbase-0.90.3.tar.gz,重命名为hbase,解压并放到/usr/下,与hadoop并列。
注意,hbase的位置并不受hadoop的影响,可以随意放。

2)配置安装路径
将hbase下的bin目录添加到系统的path中,在/etc/profile文件尾行添加如下的内容这样就不用非得到hbase的bin目录下就可以运行hbase的命令了(对hadoop也可以这样做)

 >sudo vim /etc/profile export PATH=$PATH:/usr/hbase-0.94.11/bin

执行source命令使上述配置在当前终端立即生效

 >source /etc/profile

3) 配置/conf/hbase-env.sh

>sudo vim conf/hbase-env.sh//配置本机的java安装根目录export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64export HADOOP_INSTALL=/usr/hadoopexport PATH=$PATH:/usr/hadoop/binexport HBASE_MANAGES_ZK=true //配置由hbase自己管理zookeeper,不需要单独的zookeeper。export HBASE_CLASSPATH=/usr/hadoop/conf //极其重要

4) 配置/conf/hbase-site.xml

在启动Hbase前需要设置属性hbase.rootdir。

$ sudo vim conf/hbase-site.sh<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> //注意,为true,因为是伪分布式 </property></configuration>

hadoop/conf/core-site.xml中的fs.default.name就是hdfs://localhost:9000

5) 启动Hbase
启动顺序:先启动hadoop再启动hbase

>su - hadoop>start-all.sh>jps //查看如果以下进程都已经启动,说明就OK2564 SecondaryNameNode 2391 DataNode2808 TaskTracker 2645 JobTracker 4581 Jps 2198 NameNode//然后再启动hbase>start-hbase.sh >jps //若为以下,则正常SecondaryNameNode DataNode HQuorumPeer TaskTracker JobTracker Jps HRegionServer HMaster NameNode

查看web视图
http://127.0.0.1:60010/
6) 进入shell模式

进入shell模式之后,通过status命令查看Hbase的运行状态,通过exit命令退出shell。

> hbase shellHBase Shell; enter 'help<RETURN>' for list of supported commands.Type "exit<RETURN>" to leave the HBase ShellVersion 0.94.20, r09c60d770f2869ca315910ba0f9a5ee9797b1edc, Fri May 23 22:00:41 PDT 2014hbase(main):001:0> listTABLES0 row(s) in 0.6350 secondshbase(main):002:0> exit

如果hbase shell 中的list可以使用,但是create不能使用的话,就打开/etc/hosts,把127.0.1.1改成127.0.0.1

7) 停止HBase

先停止hbase再停止hadoop> stop-hbase.sh stopping hbase.....................>stop-all.sh



分享给朋友:
您可能感兴趣的文章:
随机阅读: