基于hadoop-2.7.7简单搭建hbase-1.4.13
一、概述
HBase是一个开源的、分布式的、版本化的非关系型数据库,它利用 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。
HBase 是一个可以进行随机访问的存取和检索数据的存储平台,存储结构化和半结构化的数据,因此一般的网站可以将网页内容和日志信息都存在 HBase 里。
如果数据量不是非常庞大,HBase 甚至可以存储非结构化的数据。它不要求数据有预定义的模式,允许动态和灵活的数据模型,也不限制存储数据的类型。
HBase 是非关系型数据库,它不具备关系型数据库的一些特点,例如,它不支持 SQL 的跨行事务,也不要求数据之间有严格的关系,同时它允许在同一列的不同行中存储不同类型的数据。
HBase 作为 Hadoop 框架下的数据库,是被设计成在一个服务器集群上运行的。
二、下载安装
-
前提准备
需要提前配置好hadoop集群,zookeeper集群。
这里的环境:
hadoop-2.7.7
jdk1.8.0_321
zookeeper-3.6.3 -
下载
地址:https://archive.apache.org/dist/hbase/
这里下载的为
hbase-1.4.13-bin.tar.gz
-
安装
上传到Linux服务器上。解压
tar -zxvf /opt/export/software/hbase-1.4.13-bin.tar.gz -C /opt/export/servers/
-
环境变量
sudo vim /etc/profile export HBASE_HOME=/opt/export/servers/hbase-1.4.13 export PATH=${PATH}:${HBASE_HOME}/bin source /etc/profile
三、配置
修改配置文件
cd /opt/export/servers/hbase-1.4.13/conf
-
hbase-env.sh
vim hbase-env.sh #java环境 export JAVA_HOME=/opt/export/servers/jdk1.8.0_321/ #hadoop 配置文件地址 export HBASE_CLASSPATH=/opt/export/servers/hadoop-2.7.7/etc/hadoop #使用外部的zookeeper export HBASE_MANAGES_ZK=false #日志存放路径 export HBASE_LOG_DIR=/opt/export/data/hbase/logs
-
hbase-site.xml
vim hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop01:9000/hbase</value> <description>指定hbase在HDFS上存储的路径, 如果Hadoop为高可用版本请把域名改为自己配置的cluster name。比如hdfs://cluster/hbase</description> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> <description>此项用于配置HBase的部署模式,false表示单机或者伪分布式模式,true表完全分布式模式</description> </property> <property> <name>hbase.master.port</name> <value>16000</value> <description>端口默认60000</description> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/export/data/zookeeper/data</value> <description>此项用于设置存储ZooKeeper的元数据路径</description> </property> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value> <description>此项用于配置ZooKeeper集群所在的主机地址</description> </property> <property> <name>hbase.tmp.dir</name> <value>/opt/export/data/hbase/tmp</value> <description>本地缓存目录</description> </property> </configuration>
-
regionservers
hbase的子节点
vim regionservers hadoop02 hadoop03
-
backup-masters
这个文件在配置文件中是没有的,新建。该文件是指定备用节点
touch backup-masters vim backup-masters hadoop02
-
log4j.properties
修改日志存储路径
vim log4j.properties hbase.log.dir=/opt/export/data/hbase/logs
-
创建目录
mkdir -p /opt/export/data/hbase/{logs,tmp}
-
分发文件
scp -r /opt/export/servers/hbase-1.4.13 hadoop02:/opt/export/servers/ scp -r /opt/export/servers/hbase-1.4.13 hadoop03:/opt/export/servers/ scp -r /opt/export/data/hbase/ hadoop02:/opt/export/data/ scp -r /opt/export/data/hbase/ hadoop03:/opt/export/data/ scp -r /etc/profile hadoop02:/etc/profile scp -r /etc/profile hadoop03:/etc/profile #分别刷新配置文件 hadoop02, hadoop03 source /etc/profile
四、启动
因为hbase依赖与hadoop集群的HDFS文件系统,与zookeeper。所有在启动hbase之前要先启动它们
#在hadoop01,hadoop02,hadoop03上分别启动zookeeper
zkServer.sh start
#在hadoop01启动hdfs
start-dfs.sh
#然后再在hadoop01上启动hbase
start-hbase.sh