您的位置:首页 > 运维架构

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

2012-12-18 17:06 525 查看
最近在研究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文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value><!--此属性要根据自己的hadoop安装目录的conf文件夹里面的core-site.xml的配置信息fs.default.name进行相应的修改-->
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

 

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<RETURN>' for list of supported commands.

Type "exit<RETURN>" 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 HBASE 安装配置