所有的配置先在主节点完成, 然后通过scp传输.
1. 下载安装包
链接:http://mirrors.cnnic.cn/apache/hbase/
选择 stable 目录,下载 bin 文件:
在Linux上解压,博客中解压在/home/hadoop 目录下:
进入解压目录:
2.修改配置
- 修改JDK路径、启用HBase自带zookeeper
vim conf/hbase-env.sh
JDK路径按照安装路径配置:
启用自带zookeeper:
- 修改HBase所基于的Hadoop版本:
HBase的版本与Hadoop的版本存在兼容问题, 可以网上查询各个版本的兼容问题.
cd hbase-1.4.8
ls lib | grep '^hadoop-'
如上图, HBase-1.4.8默认的Hadoop版本为2.7.4, 由于博主这里使用的是2.7.3, 所以需要替换.
执行命令:
分别执行如下两条命令:
将已安装版本的Hadoop相应jar包复制到 lib目录:
cd /usr/local/hbase-1.4.8
ls lib | grep '^hadoop-' | sed 's/2.7.4/2.7.3/' | xargs -i find $HADOOP_HOME -name {} | xargs -i cp {} ./lib/
删除HBase原有版本的jar包:
rm -rf lib/hadoop-*2.7.4.jar
再次查询:
3. 配置Hbase
vim conf/hbase-site.xml
这里master为NameNode,slave1, slave2为DataNode(可根据自己集群做相应设置):
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
</configuration>
< value>master,slave1,slave2</ value>中间不要写空格.
regionserver和备用节点设置:
备用节点文件不存在, 需要创建:
传输:
scp -r hbase-1.4.8/ slave1:/usr/local/
scp -r hbase-1.4.8/ slave2:/usr/local/
环境变量配置:
在主节点设置:
vim /home/hadoop/.bashrc
source /home/hadoop/.bashrc
4. 启动HBase
启动Hadoop集群:
start-all.sh
启动Hbase集群:
start-hbase
节点查看:
由于slave1设置为备用节点, 所以也存在HMaster进程.查看HDFS:
其中hbase目录则为HBase集群的配置信息和数据存储目录.
HBase shell测试:
进入shell:
hbase shell
创建测试表: student, 包含三个列族: id name age
到此, HBase集群已经成功搭建.
需要注意的事项:
HBase启动成功后, 并且能够查询到如HMaster之类的进程, 并不一定已经成功, 如果HMaster随后自动消失(进程死亡), 说明配置有问题, 还需要检查前面的配置.
完!