在安装Hbase之前,需要有hadoop的运行环境,关于hadoop的安装过程,请查看我之前的blog:hadoop安装笔记;或者另一个博主的超详细文章http://weixiaolu.iteye.com/blog/1401931
HBase在HDFS上运行,还需要Zookeeper的依赖,所以首先要进行Zookeeper的安装
- Zookeeper安装
首先在http://www.apache.org/dyn/closer.cgi/zookeeper/选择自己需要的Zookeeper版本进行下载,然后解压到目标目录中。比如我将Zookeeper放到/usr/local/zookeeper下。
然后将zookeeper下的conf/zoo.sample.cfg 重命名为conf/zoo.cfg,并修改其中的内容,比如我改动的地方:
# the directory where the snapshot is stored. dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 server.1=localhost:2888:3888
因为我只是在单机上测试,故server.1就够了。如果是全分布环境,需要继续添加。server后面的.1只是一个id,后面的往后添加即可。
- HBase安装
同样的,首先到http://www.apache.org/dyn/closer.cgi/hbase/上选择自己需要的版本下载,解压到目标目录。我的是/usr/local/hbase。
修改配置文件conf/hbase-env.sh,在最后增加:(根据自身情况修改)
export JAVA_HOME=/usr/local/java
export HBASE_CLASSPATH=/usr/local/hadoop/conf
修改hbase-site.xml:(下面的clientPort需要和zeekeeper端口保持一致)
<configuration> <property> <name>hbase.rootdir</name> <value>file:///home/hadoop/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> <property> <name>hbase.master</name> <value>hdfs://master:6000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration>
上述hbase.rootdir=file:///home/hadoop/hbase,这是在单机版的配置,如果是分布式环境,则可以改变为hdfs:///master:9000/hbase之类的地址,同时下面的hbase.cluster.distributed置为true。
-
- 把hadoop安装目录下的hadoop-config/hdfs-site.xml文件拷贝至hbase的conf文件夹下
- 把zookeeper安装目录下的conf/zoo.cfg拷贝至hbase的conf文件夹下
- 在conf/regionservers中添加hadoop-config/conf/slaves中所有的datanode节点。
- 删除/hbase/lib/hadoop-core-xxxx.jar;拷贝/hadoop/hadoop-xxxx-core.jar到/hbase/lib/
- 最后,把配置好的hbase,拷贝scp到其它节点
启动HBase,首先确保你的hadoop已经启动。zookeeper不许要单独启动,在启动HBase时会连带的启动zookeeper。
运行HBase目录下的bin/start-hbase.sh即可。
现在你可以使用bin/hbase shell来登录使用你的hbase了