Hbase安装前准备:
是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。适合于存储大表数据(表的规模可以达到数十亿行以及数百万列),并且对大表数据的读、写访问可以达到实时级别;利用Hadoop HDFS(Hadoop Distributed File System)作为其文件存储系统,提供实时读写的数据库系统;利用ZooKeeper作为协同服务。
故安装前需要安装好hadoop和zookeeper,当然jdk是少不了的,毕竟Hbase是用java写的
现在安装好jdk1.8.0_91(建议用1.8),hadoop-2.8.5,zookeeper-3.4.13,三个节点分别是hadoop1,hadoop2,hadoop3
hadoop和zookeeper是由用户hadoop安装的,现在就以hadoop用户安装Hbase-2.2.0
安装过程
1.下载Hbase-2.2.0并解压
$ su hadoop #切换到将要安装的用户,这里用hadoop用户
$ cd /opt/ #安装包存放目录
$ wget http://mirror.bit.edu.cn/apache/hbase/2.2.0/hbase-2.2.0-bin.tar.gz
$ tar -zxvf /opt/hbase-2.2.0-bin.tar.gz -C /opt/bigdata/ #/opt/bigdata/为安装目录
2.配置环境变量
$ su root
$ vi /etc/profile
在此文件中追加
#set Hbase
export HBASE_HOME=/opt/bigdata/hbase-2.2.0 #hbase的安装目录
export PATH=$PATH:$HBASE_HOME/bin
保存退出后source环境变量
$ source /etc/profile
在此之后就可以不用root用户, 直接使用hadoop用户进行之后操作
3.修改配置文件,在hbase安装目录下的/conf/中主要需要修改三个配置文件hbase-env.sh,hbase-site.xml,regionservers
- hbase-env.sh(关联jdk等)
export JAVA_HOME=/opt/jdk1.8.0_91 #jdk安装路径
export HBASE_MANAGES_ZK=false (使用hbase自带zookeeper为true,但是推荐使用外置的zookeeper,所以此处配置为false)
- hbase-site.xml(hbase核心参数)
<configuration>
<property>
<name>hbase.rootdir</name><!-- hbase存放数据目录 -->
<value>hdfs://hadoop1:9000/zixingHBase</value><!-- 端口要和Hadoop的fs.defaultFS端口一致-->
</property>
<property>
<name>hbase.cluster.distributed</name><!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.master</name><!-- HMaster -->
<value>hdfs://hadoop1:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name><!-- list of zookooper -->
<value>hadoop1,hadoop2,hadoop3</value>
</property>
<!-- 还有些其他可选参数自行配制,如日志目录等,不配置也不影响正常安装 -->
</configuration>
- regionservers(集群节点配置)
# hadoop1作为hbase的主节点,部署HMaster,hadoop2,hadoop3作为hbase从节点,部署HRegionServer
# 此处在hadoop1上也部署了HRegionServer,如果不部署,则不需要hadoop1
hadoop1
hadoop2
hadoop3
4.将Hbase分发给其他节点
$ scp -r /opt/bigdata/hbase-2.2.0/ hadoop2:/opt/bigdata/
$ scp -r /opt/bigdata/hbase-2.2.0/ hadoop3:/opt/bigdata/
5.启动Hbase
$ start-hbase.sh
6.验证是否安装成功
- 用jps查看进程
$ jps
如图所示在主节点上会有HMaster进程,在备节点上有HRegionServer进程,如果在regionservers中配置了主节点,则主节点也会有HRegionServer进程。
- hbase shell
$ hbase shell #进入hbase命令行
hbase(main):001:0> status
1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load
Took 3.4605 seconds
hbase(main):002:0> list
TABLE
0 row(s)
Took 0.2048 seconds
=> []
- 在浏览器访问
http://hadoop1:16010
其中hadoop1为HMaster节点,当然需要在你的window上配置主机名映射,如果没有映射则将hadoop1更换为HMaster节点的ip
可以看日志中有没有错误 - 在HDFS目录下会生成HBase的数据目录