伪分布式hadoop平台上hbase的安装配置

最近在研究Hadoop平台上面的hbase和hive的整合。

我的运行环境是:

虚拟机上面的安装的ubuntu12.04

伪分布式Hadoop-1.0.3

hbase-0.94.2

hive-0.8.1

因为网上大部分的文章写的都是在完全分布式Hadoop进行hive+hbase的整合,所以我在配置过程中遇到了很多问题。

伪分布式Hadoop的搭建我就不在叙述了,重点说一下在上面进行hbase的安装配置。

一、hbase的安装配置

1.将下载的hbase-0.94.2解压到相应的目录,我的目录是:/home/lifei/hbase

2.修改hbase-0.94.2文件夹汇总conf目录下的配置文件hbase-env.sh和hbase-site.sh

  • 1)修改hbase-env.sh文件的配置
export JAVA_HOME=/usr/java/jdk1.7.0_09 //jdk的安装路径
export HBASE_CLASSPATH=/usr/hadoop/conf/hdfs-site.xml //Hadoop的conf的安装路径
export HBASE_MANAGES_ZK=true //这个属性是设置为true的话说明要用hbase自带的zookeeper,设置为false的话就要单独配置zookeeper

 

  • 2)修改hbase-site.sh文件

hbase.rootdir
hdfs://localhost:9000/hbase


hbase.cluster.distributed
true

 

3. 替换hbase的lib文件夹下面的hadoop-core-1.0.3.jar

用{HADOOP_HOME}下的hadoop-core-1.0.3.jar 替换掉hbase的lib文件夹羡慕的hadoop-core-1.0.3.jar

如果不替换jar文件Hbase启动时会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常,报错:

localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch

4.将hbase下的bin目录添加到系统的path中,修改/etc/profile,添加如下的内容

export HBASE_HOME=/home/lifei/hbase
export PATH=$PATH:$HBASE_HOME/bin

二、运行hbase

完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop

启动hadoop:

$start-all.sh

$jps

看到如下提示:

2564 SecondaryNameNode
2391 DataNode
2808 TaskTracker
2645 JobTracker
4581 Jps
2198 NameNode

启动hbase

$start-hbase.sh

$jps

看到如下提示:

2564 SecondaryNameNode
2391 DataNode
4767 HQuorumPeer
2808 TaskTracker
2645 JobTracker
5118 Jps
4998 HRegionServer
4821 HMaster
2198 NameNode

证明启动成功了。

进入hbase的shell模式

$hbase shell

 lifei@ubuntu:~$ hbase shell
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.94.2, r1150278, Sun Jul 24 15:53:29 PDT 2012

$stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。

 在测试Hbase建表存数据时,出现了问题:在hbase shell上输入create、list等指令都是出现这样的错误:
ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing


网上查下,原因是
如果系统是ubuntu的话,可能原因是:在/etc/hosts 这个文件中写的是这样的
127.0.0.1 localhost
127.0.1.1 ubuntu.ubuntu-domain ubuntu
将其改为:
127.0.0.1 localhost
127.0.0.1 ubuntu.ubuntu-domain ubuntu
应该就可以了
官网上面这样说的:
http://hbase.apache.org/book/quickstart.html

你可能感兴趣的:(hadoop)