本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式。
安装的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配。
我将要安装的hbase是hbase-0.90.4版本,需要的hadoop是hadoop-0.20.2版本。
1.单机安装
将下载的hbase-0.90.4解压到相应的目录,如/home/zhangxin/hbase-0.90.4
修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/home/zhangxin/jdk1.6
export HBASE_MANAGES_ZK=true //此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
2.伪分布式安装
修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh和hbase-site.xml
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/home/zhangxin/jdk1.6
export HBASE_CLASSPATH=/home/zhangxin/hadoop-0.20.2/conf
export HBASE_MANAGES_ZK=true
然后,修改hbase-site.xml文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>//此属性要根据自己的hadoop的配置信息进行相应的修改
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
替换Hbase中的jar包
需要用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20-append-r1056497.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. (client = 42, server = 41)
所以如果遇到以上错误,就通过替换jar包解决。
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
首先需要将hbase下的bin目录添加到系统的path中,修改/etc/profile,添加如下的内容:
export PATH=$PATH:/home/zhangxin/hbase-0.90.4/bin
首先启动hadoop
$ start-all.sh
$jps //可以看到运行的进程
2564 SecondaryNameNode
2391 DataNode
2808 TaskTracker
2645 JobTracker
4581 Jps
2198 NameNode
$ start-hbase.sh //启动hbase
$ jps
2564 SecondaryNameNode
2391 DataNode
4767 HQuorumPeer
2808 TaskTracker
2645 JobTracker
5118 Jps
4998 HRegionServer
4821 HMaster
2198 NameNode
//可以看到,HBase的相关进程已经启动了
$ hbase shell //进入shell模式
zhangxin@ubuntu:~$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011
$stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。
安装的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配。
我将要安装的hbase是hbase-0.90.4版本,需要的hadoop是hadoop-0.20.2版本。
1.单机安装
将下载的hbase-0.90.4解压到相应的目录,如/home/zhangxin/hbase-0.90.4
修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/home/zhangxin/jdk1.6
export HBASE_MANAGES_ZK=true //此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
2.伪分布式安装
修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh和hbase-site.xml
首先,修改hbase-env.sh中的如下属性:
export JAVA_HOME=/home/zhangxin/jdk1.6
export HBASE_CLASSPATH=/home/zhangxin/hadoop-0.20.2/conf
export HBASE_MANAGES_ZK=true
然后,修改hbase-site.xml文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>//此属性要根据自己的hadoop的配置信息进行相应的修改
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
替换Hbase中的jar包
需要用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20-append-r1056497.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. (client = 42, server = 41)
所以如果遇到以上错误,就通过替换jar包解决。
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
首先需要将hbase下的bin目录添加到系统的path中,修改/etc/profile,添加如下的内容:
export PATH=$PATH:/home/zhangxin/hbase-0.90.4/bin
首先启动hadoop
$ start-all.sh
$jps //可以看到运行的进程
2564 SecondaryNameNode
2391 DataNode
2808 TaskTracker
2645 JobTracker
4581 Jps
2198 NameNode
$ start-hbase.sh //启动hbase
$ jps
2564 SecondaryNameNode
2391 DataNode
4767 HQuorumPeer
2808 TaskTracker
2645 JobTracker
5118 Jps
4998 HRegionServer
4821 HMaster
2198 NameNode
//可以看到,HBase的相关进程已经启动了
$ hbase shell //进入shell模式
zhangxin@ubuntu:~$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011
$stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。