热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hbase中为何不能向表中插入数据_Windows上Hbase的安装配置

HBase是GoogleBigtable的开源实现,通过在Windows下部署HBase,可以解决在单机开发中用到HBase问题,项目正式

HBase是Google Bigtable的开源实现,通过在Windows下部署HBase,可以解决在单机开发中用到HBase问题,项目正式上线时,可以使用Linux分布式部署的HBase。本文hbase的数据保存在磁盘上。

9e8e52b7562f2862a44b73ec5c8f972d.png

1、 搭建环境

下载HBase

从官网上下载hbase-2.1.5-bin.tar安装包。

下载地址:https://hbase.apache.org/downloads.html,

下载hbase-2.1.5-bin.tar,解压缩到D:hadoophbase-2.1.5。

1f3e4981dbf77322f617209d68ace851.png

可能需要两个jar包:htrace-core4-4.1.0-incubating.jar和jansi-1.8.jar否则启动会报如下两个错误。

如有需要可私信关键词:20190616,获取下载地址。

076436a4309ef304f86ee98468c67655.png
adc573bb86b8f9e6bd673fdfd1a5a42f.png

2、 配置 Hbase

1. 配置hbase-env.cmd

首先进入目录D:hadoophbase-2.1.5conf找到hbase-env.cmd

f58c8338b30021beb949712e13af93a2.png

用记事本打开,在文件的末尾添加下面配置(HBASE_MANAGES_ZK为true时使用默认自带的):

set HBASE_MANAGES_ZK=true

Hbase提供了HBASE_MANAGES_ZK变量来设置是否管理zookeeper集群,默认情况,HBASE_MANAGES_ZK设置为true

如果没用配置java。可在这个文件末尾在增加一行,指定java路径:

set JAVA_HOME= D:Javajdk1.8.0_181

以管理员方式启动 CMD 命令提示符

进入 D:hadoophbase-2.1.5conf 目录,执行 hbase-env.cmd

e14369b96c61b67e8af7161e7dc877a6.png

2. 配置core-site.xml

用记事本打开,在文件的末尾间添加下面配置:

hbase.masterlocalhost:60000hbase.rootdirfile:///D:/hadoop/hbase-2.1.5/data/roothbase.tmp.dirD:/hadoop/hbase-2.1.5/data/tmphbase.zookeeper.quorumlocalhosthbase.zookeeper.property.dataDirD:/hadoop/hbase-2.1.5/data/zoohbase.cluster.distributedfalse

hbase.rootdir:来设置文件的保存位置指定一个文件夹,,被所有regionserver共享,例如:file:///you/hbase-data/path,你建立的HBase中的表和数据就直接写到了你的磁盘上,同样你也可以指定你的分布式文件系统HDFS的路径例:如:hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR,这样就写到了你的分布式文件系统上了。不改这个配置,数据会在重启的时候丢失。

hbase.tmp.dir:本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除)默认:/tmp/hbase-${user.name}

hbase.zookeeper.quorum:重要的也是必须设置的,启动zk的服务器列表,逗号分隔,cluster模式下必须设置,默认是localhost,hbase客户端也需要设置这个值去访问zk;

hbase.zookeeper.property.dataDir:zk的配置,快照的存储位置

默认:${hbase.tmp.dir}/zookeeper;

hbase.cluster.distributed:hbase集群模式运作与否的标志,默认是false,开启需要设置为true,false时启动hbase会在一个jvm中运行hbase和zk;

3、 启动 Hbase

以管理员方式启动 CMD 命令提示符 进入 D:hadoophbase-2.1.5bin 目录

start-hbase.cmd,启动成功会开启 hbase 的窗口

f32704ccbcb00658fd7c43ff44f08e6d.png

4、 访问web

http://127.0.0.1:16010/master-status

c6137aa5a041cc5bbf494b626da197cb.png

5、 Hbase Shell基本操作

1. 进入shell

以管理员方式启动 CMD 命令提示符 进入 D:hadoophbase-2.1.5bin 目录,执行命令Hbase shell

启动成功会开启 hbase 的窗口

7110dfdae650ffe56219e0576cf2dd7c.png

2. 使用 shell

输入 help 可以看到一列 shell 命令。这里的帮助很详细,要注意的是表名,行和列需要加引号。

fd61a50ffa81a9bfca3ab770d3d11e1d.png

3. 创建表

创建一个名为 test 的表,这个表只有一个 列族 为 cf。可以列出所有的表来检查创建情况, 然后插入些值。

create 'test_account','id','realname','username','age'

81ea2e4c134b32a8d23ddde89b9c9a00.png

可以使用list命令来查看当前HBase里有哪些表。使用describe命令来查看表结构。

d54eebd9870d3e5c91e30316fd4bd171.png

4. 按设计的表结构插入值

列族里边可以自由添加子列很方便。如果列族下没有子列,加不加冒号都是可以的。

put 'test_account','1','id:','1'put 'test_account','1','realname:','李晓燕'put 'test_account','1','username:','lxy'put 'test_account','1','age:','18'put 'test_account','2','id:','2'put 'test_account','2','realname:','张国鹏'put 'test_account','2','username:','zgp'put 'test_account','2','age:','23'

cb14fc24284f9871326be5e23111a00c.png

put命令比较简单,只有这一种用法:

put't1','r1','c1','value', ts1

t1指表名,r1指行键名,c1指列名,value指单元格值。ts1指时间戳,一般都省略掉了。

5. 根据键值查询数据

get 'test_account','1'get 'test_account','2','realname'

07564bbb793c9f61fcf60fc6e1d44ac2.png

get有用法如下:

get't1′,'r1′get't1′,'r1′, {TIMERANGE => [ts1, ts2]}get't1′,'r1′, {COLUMN =>'c1′}get't1′,'r1′, {COLUMN => ['c1','c2','c3']}get't1′,'r1′, {COLUMN =>'c1′, TIMESTAMP => ts1}get't1′,'r1′, {COLUMN =>'c1′, TIMERANGE => [ts1, ts2], VERSIONS => 4}get't1′,'r1′, {COLUMN =>'c1′, TIMESTAMP => ts1, VERSIONS => 4}get't1′,'r1′,'c1′get't1′,'r1′,'c1′,'c2′get't1′,'r1′, ['c1','c2']

6. 扫描所有数据

scan 'test_account'

也可以指定一些修饰词:TIMERANGE, FILTER, LIMIT,STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,or COLUMNS。没任何修饰词,就会显示所有数据行。

f1f09ba051f59d6818744ea7d7782a0a.png

7. 删除指定数据

get 'test_account','2','realname'delete 'test_account','2','realname'get 'test_account','2','realname'get 'test_account','1','age'delete 'test_account','1','age'get 'test_account','1','age'

0f038954a96e5984ac8dd6bbba7ae745.png

deleteall命令,可以进行整行的范围的删除操作,慎用!

deleteall 'test_account','1'

a2d2e5d2c9166c1ed0e6af09bf5e879f.png

truncate命令,可以进行全表删除操作。

truncate 'test_account'

a8d5d00b852d07e1517f5f3e44d2cc7f.png

8. 删除表

Hbase删除表,必须先 disable 再 drop 这张表

listdisable 'test_account'drop 'test_account'list

a263b278a1afe2d8d5f7c734fe4803f6.png

9. 关闭 shell

f7e27b96b64973f90da3346f3994e18e.png



推荐阅读
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • 全面解析:Hadoop技术栈中的Linux操作系统概览
    全面解析:Hadoop技术栈中的Linux操作系统概览 ... [详细]
  • Springboot 集成spring cache缓存的解决方案_java
    这篇文章主要介绍了Springboot 集成spring cache缓存,使用缓存最关键的一点就是保证缓存与数据库的数据一致性,本文给大家介绍最常用的缓存操作模式,对Springb ... [详细]
author-avatar
天若无雨666
这个菇凉很宅,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有