目录


前言

随着大数据时代的来临,mysql已经无法满足人们的需要,海量数据存储到达了瓶颈,hbase应运而生。


提示:以下是本篇文章正文内容,下面案例可供参考

一、HBASE是什么?

HBase – Hadoop Database,是一个高 可靠 性、高性能、面向列、可伸缩的 分布式存储系统 ,利用HBase技术可在廉价PC Server上搭建起大规模 结构 化 存储 集群

二、HBASE安装

1.安装准备

已安装Linux虚拟机,并已下载安装Java和Hadoop。 本文所使用版本为Hadoop3.1.4。

  1. HBase的下载地址为:

https://hbase.apache.org/downloads.html (可选择稳定版本2.4.14

 

2.安装

下载完毕后,将源文件解压缩至/opt/module

代码如下(示例):

#打开文件夹目录
cd /opt/software 
tar -zxvf hbase-2.4.14-bin.tar.gz -C /opt/module

配置环境变量,在你的java和Hadoop的配置环境变量的文件中加入

#HBSE
export HBASE_HOME=/opt/module/hbase-2.4.14
export PATH=$PATH:$HBASE_HOME/bin

 执行代码:

source /etc/profile
hbase version

 会出现如下:

这些日志是告诉你Hadoop和Hbase有着相同的lib,也就是Hadoop和Hbase都有一个类,它不知道该用哪一个。有些人可能会告诉你是因为版本不匹配问题,我也差点上当了。

我们可以打开$HBASE_HOME/conf/hbase_env.sh,滑到最下面

# Tell HBase whether it should include Hadoop's lib when start up,
# the default value is false,means that includes Hadoop's lib.
 export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
#意思大概是默认是包括Hadoop的lib,我们改成true就行

问题解决了: 

 

然后在$HBASE_HOME/conf/hbase_env.sh进行如下配置

export JAVA_HOME=/opt/module/java
export HBASE_CLASSPATH=/opt/module/hbase-2.4.14/conf

# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
# 如果你没有下zookeeper可以用hbase自带的并让它自己管理
export HBASE_MANAGES_ZK=true

接着在 hbase-site.xml进行如下配置(前三行是默认的,有分布式需求的话,可以把hbase.cluster.distributed改成true):

 <property>
    <name>hbase.cluster.distributed</name>
    <value>false</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>

<!--指定hbase管理页面的端口号-->
<property>
     <name>hbase.master.info.port</name>
       <value>16010</value>
 </property>
<!--指定hdfs的地址-->
<property>
        <name>hbase.rootdir</name>
         <value>hdfs://sunshuo:8020/hbase</value>
 </property>

注意Hadoop配置中的core-site文件,不要写错了hdfs的地址:

	<!-- 指定 NameNode 的地址 -->
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://sunshuo:8020</value>
 </property>

 下一步软链接过来Hadoop的core-site.xml和hdfs-site.xml文件(看博文说hbase需要用到,也可以不做这一步试试。)

vim regionservers,你可以把localhost改成了你自己的个性化名字

 

软链接格式 ln -s 目标文件 当前文件

例:ln -s /opt/module/hadoop/etc/hadoop/hdfs-site.xml  hdfs-site.xml

启动Hadoop和hbase(start-hbase.sh)

jps如下:

16010端口:

三.基本使用

1.hbase shell

进入命令为

hbase shell

创建表的命令:

create ‘<table name>’,’<column family>’ 
//更多请阅读:https://www.yiibai.com/hbase/hbase_create_table.html

create 'test','info','money'

 查看表的命令:

list

添加数据的命令:

put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’
//更多请阅读:https://www.yiibai.com/hbase/hbase_create_data.html

put 'test','1','info:name','a'

 查看数据命令:

scan 'test'

这是我最后的实验结果,主要参考HBase教程 (yiibai.com)

 


总结

以上就是今天要讲的内容,本文仅仅简单介绍了hbase的安装和使用,是Hadoop生态的一部分。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐