最近在研究Hadoop平台上面的hbase和hive的整合。
我的运行环境是:
虚拟机上面的安装的ubuntu12.04
伪分布式Hadoop-1.0.3
hbase-0.94.2
hive-0.8.1
因为网上大部分的文章写的都是在完全分布式Hadoop进行hive+hbase的整合,所以我在配置过程中遇到了很多问题。
伪分布式Hadoop的搭建我就不在叙述了,重点说一下在上面进行hbase的安装配置。
1.将下载的hbase-0.94.2解压到相应的目录,我的目录是:/home/lifei/hbase
2.修改hbase-0.94.2文件夹汇总conf目录下的配置文件hbase-env.sh和hbase-site.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
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了,启动顺序:先启动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
Type "exit
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