IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HBase编程实践 -> 正文阅读

[大数据]HBase编程实践

编程环境

Ubuntu 18.04
在这里插入图片描述

实验内容

安装Hbase

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.11/hbase-2.4.11-bin.tar.gz

已安装的hadoop版本:
Hadoop 3.3.2
在这里插入图片描述
解压安装包

tar -zxf hbase-2.4.11-bin.tar.gz

  1. 配置环境变量

记住自己的安装的路径
在这里插入图片描述

vim ~/.bashrc

在这里插入图片描述
使资源生效

source ~/.bashrc

验证HBase是否安装成功

bin/hbase version

输出版本即安装成功
在这里插入图片描述



单机模式配置

找到自己JAVA安装路径可以参考(https://blog.csdn.net/wr456wr/article/details/124249644)中的安装JAVA环境变量或者在**~/.bashrc** 中查看自己已经配置好的环境路径
在这里插入图片描述

在conf/hbase-env.sh内进行配置,大概在第28行设置JAVA环境变量
(在vim内使用set nu可以查看到行数信息)
以及126行的注释去掉
在这里插入图片描述
在这里插入图片描述
配置hbase-site.xml文件,在hbase安装的目录下的conf文件内,设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据,此处设置为HBase安装目录下的hbase-tmp文件夹
在这里插入图片描述
配置项:

  <property>
    <name>hbase.rootdir</name>
    <value>file:///root/rDesk/hbase/hbase-tmp</value>
  </property>

在这里插入图片描述
之后尝试启动HBase,成功启动

bin/start-hbase.sh
bin/hbase shell
bin/stop-hbase.sh (HBase停止操作)

在这里插入图片描述



伪分布式配置

在conf/hbase-env.sh文件内配置三项分别为JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.

其中HBASE_CLASSPATH值设置为安装hbase目录下的conf文件的位置

在vim内命令模式下使用/可以进行搜索:
在这里插入图片描述
在这里插入图片描述
配置conf内的hbase-site.xml文件.

修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。

添加的配置项如下:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

在这里插入图片描述
hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式.

另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误


尝试启动Hbase和Hadoop

bin/start-hbase.sh
/root/rDesk/hdoop-3.3.2/sbin/start-dfs.sh (启动Hadoop)

在这里插入图片描述

输入jps查看是否启动成功
在这里插入图片描述
其中NameNode,DataNode,SecondaryNameNode为Hadoop的进程,HQuirumPeer,HRegionServer,HMaster为HBase的进程


HBase shell命令说明

  1. create: 创建表

  1. list: 列出HBase中所有的表的信息

  1. put:向表,行,列指定的单元格添加数据

  1. get:通过指定表名,行,列,时间戳,时间范围和版本号来获得相应的单元格的值

  1. scan:浏览表的相关信息

  1. alter:修改列族模式

  1. count:统计表中的行数

  1. describle: 显示表的相关信息

  1. enable/disable:使表有效或无效

  1. delete:删除指定单元格的数据

  1. drop:删除表

  1. exists:判断表是否存在

  1. truncate:使表无效,删除该表,然后重新建立表

  1. exit:退出hbase shell

  1. shutdown:关闭Hbase集群

  1. version:输出Hbase版本信息

  1. status:输出hbase集群状态信息

简单命令实践

打开hbase的shell

bin/hbase shell

在这里插入图片描述

  1. 创建一个Student表

create ‘student’, ‘Sname’, ‘Ssex’, ‘Sage’, ‘Sdept’, ‘course’
在这里插入图片描述

  1. 查看student表的信息

describe 'student’describe ‘student’

在这里插入图片描述
3. 使用put向student表插入数据
put命令添加数据,一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据

put ‘student’, ‘122’, ‘Sage’, ‘77’

(含义是向student表中的122行号内的Sage族内插入一条数据,数据值为77)

在这里插入图片描述

  1. 使用scan查看student表内的数据

scan ‘student’

在这里插入图片描述

  1. 使用delete删除数据

delete ‘student’, ‘122’, ‘Sage’

在这里插入图片描述

  1. 使用deleteall删除一行的数据

deleteall ‘student’, ‘123’

在这里插入图片描述

  1. 使用get获取某一行的数据

get ‘student’, ‘11’

在这里插入图片描述

  1. 删除表
    先使用disable使表不可用,然后使用drop删除表

disable ‘student’
drop ‘student’

在这里插入图片描述
或者在使用disable表后也可以使用enable重新使表可用
在这里插入图片描述



参考资料:

http://dblab.xmu.edu.cn/blog/2442-2/
https://blog.csdn.net/weixin_44990104/article/details/117596231
https://github.com/steveloughran/winutils

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:42:19  更:2022-05-18 17:43:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:52:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码