HBase快速上手
一、创建单节点HBase实例
https://hbase.apache.org/book.html#quickstart
(一)jdk版本要求Java:
|
HBase Version |
JDK 7 |
JDK 8 |
|
2.0 |
yes |
|
|
1.3 |
yes |
yes |
|
1.2 |
yes |
yes |
|
1.1 |
yes |
Running with JDK 8 will work but is not well tested. |
(二)具体步骤:
安装和配置:
1.从Apache Download Mirrors下载.tar.gz结尾的文件到本地。
2.提取文件到新创建的文件目录下.
$ tar xzvf hbase-3.0.0-SNAPSHOT-bin.tar.gz
$ cd hbase-3.0.0-SNAPSHOT/
3.设置JAVA_HOME环境变量
修改conf/hbase-env.sh文件,设置JAVA_HOME=java bin目录所在路径
4.修改conf/hbase-site.xml文件
HBase and ZooKeeper写数据的文件路径hbase.rootdir默认为/temp,但是很多服务器被设置成清除该文件下的内容,因此需要重新设置。
另外还需要设置HBase存数据的目录(文件路径设置好后,hbase会负责创建该目录)。
配置示例:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
</configuration>
5. bin/start-hbase.sh脚本提供了一个方便的启动HBase的途径,执行该脚本,不出意外将看到标准输出里显示HBase成功启动的信息。你可以运行jps命令来确定你有一个跑的进程叫HMaster。打开 http://localhost:16010 可以访问HBase Web UI。
使用:
1.连接到HBase:
$ ./bin/hbase shell
hbase(main):001:0>
2.使用help查看帮助
3.创建一张表,注意必须指定表名和列族名
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds => Hbase::Table - test
4.使用list 命令显示表数据
hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds => ["test"]
5.使用put命令往表里放数据
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds
6.使用scan命令来扫描表数据,你可以设置扫描范围。这里我们全部扫描
hbase(main):006:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1421762485768, value=value1
row2 column=cf:b, timestamp=1421762491785, value=value2
row3 column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds
7.使用get命令获取单行数据
hbase(main):007:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1421762485768, value=value1
1 row(s) in 0.0350 seconds
8.在你想删除一张表或者改变一张表的配置的时候,你需要先使用disable命令来禁用这张表,当你需要重新启用一张表时,使用enable 命令
hbase(main):008:0> disable 'test'
0 row(s) in 1.1820 seconds hbase(main):009:0> enable 'test'
0 row(s) in 0.1770 seconds
9.使用drop命令删除一张表
hbase(main):011:0> drop 'test'
0 row(s) in 0.1370 seconds
10.使用quit命令退出HBase Shell
11.关闭HBase
$ ./bin/stop-hbase.sh
stopping hbase....................
$
二、创建伪分布式HBase实例
https://hbase.apache.org/book.html#quickstart_pseudo
前提:本文假设在你本机或者远程机器上配置了Hadoop和HDFS并且他们是正在运行的可以访问的,并假设你使用的是Hadoop 2。
1.HBase如果还在运行先关闭
$ ./bin/stop-hbase.sh
2.在hbase-site.xml里添加
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
并将文件改为hdfs文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>
</property>
3.开启HBase
$ ./bin/start-hbase.sh
4.检查HDFS上的HBase目录
$ ./bin/hadoop fs -ls /hbase
Found 7 items
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs
drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data
-rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id
-rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs
5.建表并填充数据
6.开启和关闭HBase Master (HMaster) 备份节点
使用local-master-backup.sh命令来开启备份节点,对于开启的每个节点,需要设置一个相对于HMaster三个默认端口(16010, 16020, and 16030)的偏移量。
$ ./bin/local-master-backup.sh 2 3 5
比如这条命令,将开启3个分别使用16012/16022/16032, 16013/16023/16033, 和16015/16025/16035的备份节点。
如果你需要关闭一个备份节点,而不关闭整个集群,你需要在/tmp/hbase-USER-X-master.pid中找到对应节点的进程号,然后使用kill -9命令关闭它。
$ cat /tmp/hbase-testuser-1-master.pid |xargs kill -9
这条命令将关闭端口偏移量为1的备份节点。
7.开启和关闭多余的RegionServers
在一台服务器上最多可以运行除了 HMaster or backup HMaster外,99个RegionServers。
开启RegionServers和开启备份节点一样需要指定偏移量,只不过是相对于两个端口号,对于1.0.0
之前的版本这两个端口号默认为16020/16030,其他的默认为16200/16300 。
$ .bin/local-regionservers.sh start 2 3 4 5
关闭RegionServers
$ .bin/local-regionservers.sh stop 3
8.关闭HBase
使用bin/stop-hbase.sh命令
HBase快速上手的更多相关文章
- 必会技能!Docker助你快速上手玩转HBase!
前言:本文主要讲述了如何使用Docker快速上手HBase,省去繁杂的安装部署环境,直接上手,小白必备.适合HBase入门学习及简单代码测试. 1. Docker 安装 参考地址: https://y ...
- MongoDB快速上手
1. MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- 快速上手Unity原生Json库
现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...
- [译]:Xamarin.Android开发入门——Hello,Android Multiscreen快速上手
原文链接:Hello, Android Multiscreen Quickstart. 译文链接:Hello,Android Multiscreen快速上手 本部分介绍利用Xamarin.Androi ...
- [译]:Xamarin.Android开发入门——Hello,Android快速上手
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...
- 快速上手seajs——简单易用Seajs
快速上手seajs——简单易用Seajs 原文 http://www.cnblogs.com/xjchenhao/p/4021775.html 主题 SeaJS 简易手册 http://yslo ...
- Git版本控制Windows版快速上手
说到版本控制,之前用过VSS,SVN,Git接触不久,感觉用着还行.写篇博文给大家分享一下使用Git的小经验,让大家对Git快速上手. 说白了Git就是一个控制版本的工具,其实没想象中的那么复杂,咱在 ...
- Objective-C快速上手
最近在开发iOS程序,这篇博文的内容是刚学习Objective-C时做的笔记,力图达到用最短的时间了解OC并使用OC.Objective-C是OS X 和 iOS平台上面的主要编程语言,它是C语言的超 ...
随机推荐
- ICE:slice语言常识整理
ICE:Slice语言(二)--源文件和词法规则: 文件命名 Slice的源文件以.ice为扩展名. 对于大小写不区分的系统(例如DOS),文件的扩展名可以大写,也可以小写,例如Cli ...
- [CSAPP笔记]Binary , Unsigned , Signed 之间的相互装换
LaTex+MarkDown+Pandoc组合套件写博客的处女作,试试效果.各自的分工为:Latex下编辑公式,在Sublime Text 2下使用Markdown排版,最后用Pandoc导出. 摘要 ...
- 模仿python中的range功能
主要是利用生成器来写的一个函数: def myxrange(start, stop = None, step = 1): #这里的stop一定要等于None,不能等于0,要不然会有好多问题 if st ...
- c++ 载入内存中dll ,以及内存注入
用c++ 许多代码都得自己写, 这里是我自己修改的一个内存载入的一个封装库 , c++ 的程序员可以直接拿来用 特点如下: 直接在内存中载入,无磁盘占用 支持加壳保护的dll , 平时用的最多的vmp ...
- 表单验证——jquery validate使用说明
//validate 选项*********************************************************** $("form").validat ...
- Ubuntu终端远程连接linux服务器
SSH是一个远程接入软件,可以让你想坐在计算机前面一样操作计算机.SSH使用加密方式传输数据,是一种非常安全的工作方式 步骤如下: 前提:如果没有安装ssh的话请 sudo apt-get inst ...
- BZOJ4820 Sdoi2017 硬币游戏 【概率期望】【高斯消元】【KMP】*
BZOJ4820 Sdoi2017 硬币游戏 Description 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利.大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实 ...
- andriod studio报错 Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration! Emulator: Process finished with exit code 1
安装即可,再次运行svd,成功
- flask第十九篇——模板【3】
请关注微信公众号:自动化测试实战 今天我们继续模板的知识,现在我们增加字典的复杂度,这个时候在render_template第二个参数可以传**title,以后我们会用**context代替原来的ti ...
- MAMP环境配置
命令行: 开启apache服务:sudo apachectl start 停止apache服务:sudo apachectl stop 重启服务:sudo apachectl restart 查看版本 ...