Hadoop体系结构管理
一.查看Zookeeper信息
[hadoop@weekend01 ~]$zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader
[hadoop@weekend02 ~]$zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[hadoop@weekend03 ~]$ zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
二.命名空间的操作
1.创建myns1命名空间
hbase(main):002:0> create_namespace 'myns1'
0 row(s) in 0.5840 seconds
2.在myns1命名空间上创建表mytable,并查看该命名空间中的表信息
hbase(main):003:0> create 'myns1','mytable'
0 row(s) in 0.3140 seconds
=> Hbase::Table - myns1
3.删除myns1命名空间
hbase(main):004:0> drop_namespace 'myns1'
0 row(s) in 0.1320 seconds
三.查看meta系统表信息
创建nyist表,并观察meta系统表前后的信息变化
创建前
hbase(main):005:0> scan 'hbase:meta'
ROW COLUMN+CELL
hbase:namespace,,146 column=info:regioninfo, timestamp=1463478332970, value={EN
3478330523.c515e6022 CODED => c515e602219215debe5c20797ef49598, NAME => 'hbase:
19215debe5c20797ef49 namespace,,1463478330523.c515e602219215debe5c20797ef49598.
598. ', STARTKEY => '', ENDKEY => ''} 。。。。。。。内容太多以下省略
创建表nyist
hbase(main):006:0> create 'nyist','info'
0 row(s) in 0.3900 seconds
=> Hbase::Table – nyist
创建后
hbase(main):007:0> scan 'hbase:meta'
。。。。。
nyist,,1464873740887 column=info:regioninfo, timestamp=1464873741163, value={EN
.743fd741807411c415e CODED => 743fd741807411c415e8186523994416, NAME => 'nyist,
8186523994416. ,1464873740887.743fd741807411c415e8186523994416.', STARTKE
Y => '', ENDKEY => ''}
nyist,,1464873740887 column=info:seqnumDuringOpen, timestamp=1464873741181, val
.743fd741807411c415e ue=\x00\x00\x00\x00\x00\x00\x00\x02
8186523994416.
nyist,,1464873740887 column=info:server, timestamp=1464873741181, value=slave2:
.743fd741807411c415e 16020
8186523994416.
nyist,,1464873740887 column=info:serverstartcode, timestamp=1464873741181, valu
.743fd741807411c415e e=1464869626765
8186523994416. 。。。。。
这是创建后多出来的信息。
四.查看HBase HDFS上目录,并给出HBase有哪些目录
第一种方法是用命令查看
[root@master ~]# hadoop fs -ls hdfs://192.168.186.134:9000/hbase
16/06/02 21:26:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 8 items
drwxr-xr-x - root supergroup 0 2016-06-02 20:18 hdfs://192.168.134.131:9000/hbase/.tmp
drwxr-xr-x - root supergroup 0 2016-06-02 20:14 hdfs://192.168.134.131:9000/hbase/WALs
drwxr-xr-x - root supergroup 0 2016-06-02 21:19 hdfs://192.168.134.131:9000/hbase/archive
drwxr-xr-x - root supergroup 0 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/corrupt
drwxr-xr-x - root supergroup 0 2016-06-02 21:17 hdfs://192.168.134.131:9000/hbase/data
-rw-r--r-- 2 root supergroup 42 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/hbase.id
-rw-r--r-- 2 root supergroup 7 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/hbase.version
drwxr-xr-x - root supergroup 0 2016-06-02 21:18 hdfs://192.168.134.131:9000/hbase/oldWALs
第二种使用了浏览器
五、flush、compact、split操作
创建学生表'student',列族为'info'
hbase(main):013:0> create 'student','info'
0 row(s) in 0.3920 seconds
=> Hbase::Table - student
插入数据'info:name','lisi1'
hbase(main):019:0> put 'student','rk0001','info:name','lisi1'
0 row(s) in 0.1780 seconds
使用flush写入磁盘
hbase(main):020:0> flush 'student'
0 row(s) in 0.4990 seconds
插入数据'info:name','lisi2'
hbase(main):021:0> put 'student','rk0002','info:name','lisi2'
0 row(s) in 0.0070 seconds
使用flush写入磁盘
hbase(main):022:0> flush 'student'
0 row(s) in 0.2870 seconds
使用compact合并磁盘文件
hbase(main):023:0> compact 'student'
0 row(s) in 0.1340 seconds
使用split分离region
hbase(main):024:0> split 'region'
0 row(s) in 0.0670 seconds
关闭表'student'的region
hbase(main):036:0>close_region 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.2370 seconds
查看表'student'数据
hbase(main):037:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1464874655412, value=lisi1
rk0002 column=info:name, timestamp=1464874756191, value=lisi2
2 row(s) in 0.3200 seconds
启动region
hbase(main):038:0>assign 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.1980 seconds
再查看表'student'数据
hbase(main):039:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1464874655412, value=lisi1
rk0002 column=info:name, timestamp=1464874756191, value=lisi2
2 row(s) in 0.3200 seconds
删除表'student',观察hbase目录中是否有表'student'的文件信息
hbase(main):002:0> disable 'student'
0 row(s) in 1.3360 seconds
hbase(main):003:0> drop 'student'
0 row(s) in 0.2170 seconds
hbase(main):004:0> list
TABLE
hbase_student
my_data
myns1
new_scores
nyist
scores
user
7 row(s) in 0.0150 seconds
=> ["hbase_student", "my_data", "myns1", "new_scores", "nyist", "scores", "user"]
本次实验全部是命令的练习,和对HBase体系结构的理解,只要勤加练习,这部分不是问题,加上之前的数据库的基础知识,接受这部分内容还是没有问题的,另外还有就是在练习过程中敲错命令是常事,感觉还是有点不习惯,对这种数据存储结构和运作流程还需要课下多阅读官方文档,自己找一些书籍,多练习下才能对这部分掌握熟练。
help
list_namespace --显示命名空间
scan 'hbase:namespace' --显示命名空间
create_namespace 'myns1' --创建命名空间
list_namespace
scan 'hbase:namespace'
list_namespace_tables 'myns1' --显示命名空间中的表
create 'myns1:mytable'
list_namespace_tables 'myns1'
drop_namespace 'myns1' --删除命名空间
list_namespace
scan 'hbase:namespace'
四、HBase HDFS上目录
1.查看HBase的方法
两种:
a.浏览器 IP或主机名:50070
b.hadoop 命令
cd /hadoop/hadoop-2.6.0/bin/
./hadoop fs -ls hdfs://192.168.1.2:9000/hbase
2.HBase HDFS上目录分析
a、.tmp目录:代表的hbase的临时目录,当我们在对表进行删除和创建的时候,hbase会将表先move到.tmp目录,然后,进行操作。
b、WALs目录:预写日志文件,在0.94.x版本时叫.logs目录,0.98.x中就改版了,是RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志
比如:向HBas
3.
hbase(main):002:0> list_namespace
NAMESPACE
default
hbase
2 row(s) in 0.5070 seconds
hbase(main):003:0> scan 'hbase:namespace'
ROW COLUMN+CELL
default column=info:d, timestamp=1462885868353, value=\x0A\x07defa
ult
hbase column=info:d, timestamp=1462885868394, value=\x0A\x05hbas
e
2 row(s) in 0.3690 seconds
hbase(main):004:0> create_namespace 'myns1'
0 row(s) in 0.3700 seconds
hbase(main):005:0> list_namespace
NAMESPACE
default
hbase
myns1
3 row(s) in 0.0510 seconds
hbase(main):006:0> list_namespace_tables 'myns1'
TABLE
0 row(s) in 0.0780 seconds
hbase(main):007:0> drop_namespace 'myns1'
0 row(s) in 0.3120 seconds
hbase(main):008:0> list_namespace
NAMESPACE
default
hbase
2 row(s) in 0.0320 seconds
hbase(main):009:0>
4.
hbase(main):010:0> create 'nuist','info'
0 row(s) in 2.7440 seconds
=> Hbase::Table - nuist
hbase(main):012:0> sacn 'nuist'
NoMethodError: undefined method `sacn' for #<Object:0x1d5ff9c>
hbase(main):013:0> disable 'nuist'
0 row(s) in 1.3630 seconds
hbase(main):014:0> drop 'nuist'
0 row(s) in 0.4870 seconds
hbase(main):001:0> create 'student','info'
0 row(s) in 4.6830 seconds
=> Hbase::Table - student
hbase(main):002:0> put 'student','rk0001','info:name','lisi'
0 row(s) in 0.2790 seconds
hbase(main):003:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1463729729329, value=lisi
1 row(s) in 0.0580 seconds
hbase(main):004:0> flush 'student'
0 row(s) in 0.8910 seconds
hbase(main):005:0> put 'student','rk0002','info:name','lisi2'
0 row(s) in 0.0460 seconds
hbase(main):006:0> flush 'student'
0 row(s) in 0.3100 seconds
hbase(main):007:0> put 'student','rk0003','info:name','lisi3'
0 row(s) in 0.0240 seconds
hbase(main):008:0> flush 'student'
0 row(s) in 0.3850 seconds
hbase(main):009:0> compact 'student'
0 row(s) in 0.1420 seconds
hbase(main):010:0> split 'student'
0 row(s) in 0.0570 seconds
hbase(main):011:0> split 'student','rook0002'
0 row(s) in 0.0930 seconds
hbase(main):012:0> split 'student','rk0002'
0 row(s) in 0.1230 seconds
hbase(main):001:0> close_region 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.2370 seconds
hbase(main):003:0> scan 'student'
ROW COLUMN+CELL
ERROR: org.apache.hadoop.hbase.NotServingRegionException: Region student,,1463730257094.ed1902898fb90cae03772240a505cf75. is not online on slave2,16020,1463728132224
hbase(main):007:0> assion 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
NoMethodError: undefined method `assion' for #<Object:0x161412>
hbase(main):008:0> assign 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.1980 seconds
hbase(main):009:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1463729729329, value=lisi
rk0002 column=info:name, timestamp=1463729915233, value=lisi2
rk0003 column=info:name, timestamp=1463729938724, value=lisi3
3 row(s) in 0.4290 seconds
Hadoop体系结构管理的更多相关文章
- Hadoop体系结构杂谈
hadoop体系结构杂谈 今天跟一个朋友在讨论hadoop体系架构,从当下流行的Hadoop+HDFS+MapReduce+Hbase+Pig+Hive+Spark+Storm开始一直讲到HDFS的底 ...
- Hadoop学习笔记(一)——Hadoop体系结构
HDFS和MapReduce是Hadoop的两大核心. 整个Hadoop体系结构主要是通过HDFS来实现分布式存储的底层支持的,而且通过MapReduce来实现分布式并行任务处理的程序支持. 一.HD ...
- hadoop队列管理(指定queue跑程序)
hadoop 升级到cdh5后,队列管理被取消,而是统一用资源池分配. hadoop2.0版本,Hadoop采用了平级队列组织方式,,管理员可将用户分到若干个扁平队列中,在每个队列中,可指定一个或几个 ...
- Hadoop权限管理
1.Hadoop权限管理包括以下几个模块: (1) 用户分组管理.用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源:同时可以限制每个用户提交的作业数,使用的资源量 ...
- Hadoop基础-Hadoop快照管理
Hadoop基础-Hadoop快照管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.快照的作用 快照可以迅速对文件(夹)进行备份,不产生新文件,使用差值存储,默认是禁用状态. ...
- Hadoop 权限管理(转)
如下图,hadoop访问控制分为两级,其中ServiceLevel Authorization为系统级,用于控制是否可以访问指定的服务,例如用户/组是否可以向集群提交Job,它是最基础的访问控制,优先 ...
- Hadoop体系结构之 HDFS
HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的(在最新的Hadoop2.2版本已经实现多个NameNode的配置-这也是一 ...
- Hadoop体系结构
在前面的博文中,我已经介绍过Hadoop的基本概念了(见博文初识Hadoop),今天来介绍一下Hadoop的体系结构. Hadoop的两大核心是HDFS和MapReduce,而整个Hadoop的体系结 ...
- Hadoop 权限管理
Hadoop的权限管理同Linux的很像,有用户,用户组之分,同时Hadoop提供了权限管理命令,主要包括: chmod [-R] mode file … 只有文件的所有者或者超级用户才有权限改变文件 ...
随机推荐
- swt进度条 线程
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import java.util.Rando ...
- java 监听文件或者文件夹变化的几种方式
1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...
- gradle配置
一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...
- D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
D. Babaei and Birthday Cake time limit per test 2 seconds memory limit per test 256 megabytes input ...
- bzoj3957: [WF2011]To Add or to Multiply
gay队牛逼! 我们可以强行拆一下柿子,最终得到的值会是m^k*x+m^k*u(k)*a+m^k-1*u(k-1)*a……m^0*u(0)*a 其中u表示后面有i个m的a有多少个 答案就是k+∑u 枚 ...
- springboot在idea实现热部署
1.在pom.xml引入热部署devtools依赖 <dependency> <groupId>org.springframework.boot</groupId> ...
- expect的安装与使用
expect的安装与使用 是什么 expect 是用来进行自动化控制和测试的工具.主要是和交互式软件telnet ftp ssh 等进行自动化的交互. 如何安装 1.检测是否安装 ls /usr/bi ...
- 移动前端开发之viewport的理解
在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或 ...
- if_test.py
strings=['xxaa','xuo','fwefxxx','woeuxxfei'] print(strings) #替换方法1 for string in strings: if 'xx' in ...
- 【HDU 4819】Mosaic
[题目链接] 点击打开链接 [算法] 二维线段树(树套树) [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 8 ...