Hbase集群安装配置
来源:互联网 发布:淘宝会员名大全霸气 编辑:程序博客网 时间:2024/06/05 07:49
一、 Hbase安装
1、解压安装包hbase-1.2.6-bin.tar.gz至路径 /home/hadoop1/Desktop,命令如下:
#cd /home/hadoop1/Desktop
#tar xfvz hbase-1.2.6-bin-tar.gz
2、将解压的文件名hbase-1.2.6改为hbase,以方便使用,命令如下:
# mv hbase-1.2.6 hbase
3、配置环境变量
将hbase下的bin目录添加到path中,这样,启动hbase就无需到/home/hadoop1/hbase/bin目录下方便了hbase的使用。
# vim /etc/profile
Export HBASE_HOME=/home/hadoop1/Desktop/hbase
exportPATH=$PATH:/home/hadoop1/Desktop/hbase/bin
如果已经引入过PATH在export PATH这行追加:/home/hadoop1/Desktop
执行sourse命令使修改生效:source /etc/profile
4、添加hbase权限
#chown -R hadoop:hadoop1hbase
5、查看HBase版本,确定hbase安装成功,命令如下
#hbase version
二、hbase配置
1、配置hbase/conf/hbase-env.sh。命令如下:
#vi hbase/conf/hbase-env.sh
export JAVA_HOME=/home/hadoop1/Desktop/jdk版本
export HBASE_MANAGES_ZK=true
2、配置hbase/conf/hbase-site.xml
配置成如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2,slave3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>zookeeper</value>
</property>
</configuration>
配置hbase/conf/regionservers,在regionservers文件中添加如下内容:
slave1
slave2
slave3
regionservers文件列出了所有运行hbase的机器(即HRegionServer)。此文件的配置和Hadoop中的slaves文件十分相似,每行指定一台机器的主机名。当HBase启动的时候,会将此文件中列出的所有机器启动。关闭时亦如此。我们的配置意为在slave1, slave2, slave3 上都将启动 RegionServer。
将配置好的 hbase 文件分发给各个 slave
#scp -r hbase hadoop1@slave1:/home/hadoop1/Desktop
#scp -r hbase hadoop1@slave2:/home/hadoop1/Desktop
#scp -r hbase hadoop1@slave3:/home/hadoop1/Desktop
三、接下来测试运行HBase。
第一步:首先登陆ssh,之前设置了无密码登陆,如果已经启动hadoop请跳过此步骤。命令如下:
#start-dfs.sh
第二步:启动HBase.命令如下:
#start-hbase.sh
输入命令jps发现HMaster、HQuorumPeer、HRegionServer都已经启动。Master会有HMaster、HQuorumPeer两个进程。Slave会有HQuorumPeer,HRegionServer两个进程。
进入shell界面:hbase shell
四、Hbase shell 命令
1、通用命令
命令
描述
status
显示服务器状态,例如:5 servers,0 dead,25.000 average load
这里有三个开关,如下:
hbase> status ‘simple’
hbase> status ‘summary’
hbase> status ‘detailed’
whoami
显示hbase当前用户。
hbase> whoami
version
显示hbase版本
list
这个命令将列出hbase已有的表。如下:
list
list ‘stu.*’
count
统计指定表的记录数。如下:
Count ‘tableName’
默认每次显示1000行。这个计数间隔可以任意指定。扫描缓存默认启动计数扫描。默认缓存是10行。如果行规模小,可以增大这个参数。
hbase> count ‘table1’
hbase> count ‘table1’,INTERVAL=>100000
hbase> count ‘table1’,CACHE=>1000
hbase> count ‘table1’,INTERVAL=>10,CACHE=>1000
如果有很多行记录,Hbase默认的计数器会花费很多时间来进行计数。所以,可以用Hbase MapReduce JAR文件来加快这个操作,使用方法如下:
hadoop jar hbase.jar rowcount tablenametocount
describe
这个命令以表名为参数,对表结构信息进行展示,语法如下:
hbase> describe ‘tableName’
exist
如果有成千上万张表,我们需要检查表是否存在于Hbase中,可以使用这个命令。如果表较少,可以很容易用list列出来,如果有很多表,很难通过滚动表的列来找到它,所以可以使用这个命令来找到它,语法如下:hbase> exists ‘tableName’
is_enabled
检查表是否启用。语法如下:
hbase> is_enabled ‘tableName’
is_disabled
检查表是否被禁用。语法如下:
hbase> is_disabled ‘tableName’
show_filters
显示HBase中的过滤器列表。hbase> show_filters
2、数据操作命令
命令
描述
alter
使用这个命令可以改变表和列族的模式。
下面的命令将添加一个列族colFam到表中:
hbase> alter ‘table’,{NAME=>’colFam’,VERSIONS=>1}
从表t1中删除f1列族,使用如下命令:
hbase> alter ‘t1’,NAME=>’fam1’,METHOD=>’delete’
之前的简化版本:
hbase>alter ’t1’, ‘delete’=>’fam1’
也可以更改表的范围属性,如MAX_FILESIZE、MEMSTORE_FLUSHSIZE、READONLY以及DEFERROR_LOG_FLUSH。
例如,为了改变一个列族的最大大小为128MB,使用如下命令:
hbase> alter ‘table’,METHOD=>’table_att’,MAX_FILESIZE=>’12345678’
也可以使用一个命令进行多次变更:
hbase> alter ‘table’,{NAME=>’fam1’},{NAME=’fam2’,METHOD=’delete’}
alter_status
这个可以给出alter命令的状态。
hbase>alter_status ‘tableName’
alter_async
不管alter是否完成,这个命令不等待所有的region获得模式的改变。
hbase> alter_async ‘t1’,NAME=>’f1’,METHOD=>’delete’
disable
为了删除或更改而禁用表。
hbase> disable ‘tableName’
disable_all
这将禁用匹配给定正则表达式的所有表。
hbase> disable_all ‘table*’
drop
删除HBase中的表。在删除表之前必须先禁用。
hbase> disable ‘tableName’
hbase> drop ‘tableName
drop_all
这将删除匹配给定正则表达式的所有表。
hbase> drop_all ‘table*’
enable
在更改之后启用表。
hbase> enable ‘tableName’
enable_all
启用匹配给定正则表达式的所有表。
hbase> enable_all ‘table*’
delete
删除一行中一个单元格的值。
hbase> delete ‘table’,’row1’,’colFam:name’
这会删除row1中name列的值
Deleteal
删除一个表的完整行或指定列。
deleteall ‘table’,’row1’
这会删除整个row1
deleteall ‘table’,’row1’,’colFam:name’
这也会删除row1中的name列
truncate
这将禁用表、删除表、并重建表模式。所以当drop时,需要手动禁用表,然后再进行删除。如果只是想删除数据而不是删除表模式,可以使用truncate,它会自动删除并重新创建被删除的表模式:
hbase> truncate
3、数据创建命令
命令
描述
create
这个命令用来创建制定模式的新表。
hbase> create ‘tableName’, ’cf1’
这将创建一个列族为cf1的表。然后可以添加数据和动态添加列。
hbase> create ‘tableName’, {NAME=’colFam1’,’NAME=colFam2’,versions=>5}
这将创建一个列族为colFam1、colFam2,有5个版本记录的表。
4、数据读取命令
命令
描述
scan
这个命令遍历表中的行并显示到标准输出。这将列出表中所有的记录。扫描器可能包括TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGHT以及COLUMNS。如果没有指定列,所有的列将被扫描。为了扫描一个列族的所有成员,让列修饰符为空。如’col_family:’。
hbase> scan ‘.META’
hbase> scan ‘.META’, {COLOUMNS=>’info:regioninfo’}
hbase> scan ‘t1’, {COLUMN=>[‘c1’, ‘c2’], LIMIT=>10,STARTROW=>’xyz’}
hbase> scan ‘t1’, {COLUMNS=>’c1’, TIMERANGE=>[1303668804,1302668904]}
get
通过表明、行、选项、列字典、时间戳、时间范围以及版本获取行或单元格。
hbase> get ‘tableName’, ‘row1’
hbase> get ‘tableName’, ‘row1’, {TIMESTAMP=>[ts1,ts2]}
hbase> get ‘tableName’, ‘row1’, {COLOUMN=>’c1’}
hbase> get ‘tableName’, ‘row1’, {COLOUMN=>[’c1’, ‘c2’, ‘c3’]}
hbase> get ‘tableName’, ‘row1’, {COLOUMN=>’c1’, TIMESTAMP=>ts1}
hbase> get ‘tableName’, ‘row1’, {COLOUMN=>’c1’, TIMESTAMP=>[ts1,ts2],VERSIONS=>4}
hbase> get ‘tableName’, ’row1’, ‘c1’
hbase> get ‘tableName’, ’row1’, ‘c1’, ’c2’
hbase> get ‘tableName’, ’row1’, [ ‘c1’, ‘c2’]
get_counter
这会返回指定表/行/列位置的单元格计数器的值。一个单元格可以通过HBase中原子自增函数来进行管理,并且数据应该是二进制编码。
hbase> get_counter ‘t1’, ‘r1’, ‘c1’
incr
增加指定表/行/列位置单元格的值。为了使得表t1中的r1行c1列中的单元格的值增加1(可忽略)或者10,可以这么做:
hbase> incr ‘t1’, ‘r1’, ‘c1’
hbase> incr ‘t1’, ‘r1’, ‘c1’, 1
hbase> incr ‘t1’, ‘r1’, ‘c1’, 10
5、复杂的管理命令
命令
描述
close_region
关闭一个region。这个关闭操作是没有master参与的(它并不知道关闭操作)。一旦该region是关闭的,它将保持关闭。使用assign可重新打开/分配。使用unassigned或move可分配到集群的其他region上。
hbase> close_region ‘regionName’
hbase> close_region ‘regionName’, ‘REGIONSERVER_IP:PORT’
assign
分配一个region并强制将分配的这个region设置为true。
balance_switch
启用/禁用平衡器并返回到之前平衡器的状态。
Hbase> balance_switch true
Hbase> balance_switch false
balancer
HBase具有一个内置的功能,称为平衡器,一旦启动,默认每5分钟运行一次,它将尝试让指定RegionServer分配的region保持平衡。这将表明HBase上的平衡器是否启用。
compact
压缩指定表的所有region
flush
刷新指定表的所有region到磁盘上。
hbase> flush ‘tableName’
hbase> flush ‘regionName’
major_compact
这个命令将在指定表上进行大合并
move
移除一个region。
hbase> move ‘ENCODE_REGIONNAME’
hbase> move ‘ENCODE_REGIONNAME’, ‘SERVER_NAME’
split
拆分一个表和一个独立的region
unassign
这个命令会取消RegionServer上的分配
hlog_roll
开始写日志到一个新文件。RegionServer的名称应作为参数。
hbase> hlog_roll
list_peers
这会列出集群中所有的复制节点。
hbase > list_peers
6、安全命令
命令
描述
grant
这个命令用来授予用户特定的权限。授予权限是零或者来自更多字母序列,RWXCA:R表示读,W表示写,X表示执行,C表示创建,A表示管理。
hbase> grant ‘userName’, ‘RWXCA’
hbase> grant ‘userName’, ‘RWC’, ‘table1’, ‘colFam’ ,’column’
revoke
回退/撤销访问权。
hbase> revoke ‘userName’, ‘table’, ‘colFam’, ‘column’
user_permission
habse> user_permission ‘userName’
7、命名空间
命令
描述
create_namespace
创建命名空间。
hbase> create_namespace ‘tableStugroup’
hbase> ’namespace:table’, ‘colFam’
这将在namespace命名空间中创建列族为colFam的一张表。
drop_namespace
这用于删除命名空间。
hbase> drop_namespace ‘snamespace’
alter_namespace
hbase> alter_namespace ‘snamespace’, {METHOD=>’set’,
‘PROPERTY_NAME’=>‘PROPERTY_VALUE’}
list_namespace_tables
列出命名空间中的表。
hbase> list_namespace_tables ‘namespace’
list_namespace
列出所有的命名空间。
hbase> list_namespace
describe_namespace
描述命名空间
hbase> describe_namespace
- Hbase集群安装配置
- HBase集群安装配置
- Hbase集群安装配置
- hbase集群安装配置
- Hbase集群安装配置
- hbase集群的安装、配置
- HBase数据集群配置安装
- Hbase分布式集群安装配置
- HBase集群配置之Zookeeper安装配置
- HBase-0.90.4集群安装配置
- HBase-0.90.4集群安装配置
- 完全分布式HBase集群安装配置
- 完全分布式HBase集群安装配置
- HBase-0.90.4集群安装配置
- HBase伪分布式,集群安装配置
- HBase-0.90.4集群安装配置
- Hadoop集群之Hbase安装配置
- hadoop、zookeeper、hbase安装配置集群
- 数据结构之树的创建及非递归遍历
- 交换排序
- RecyclerView添加分割线的简便方法
- ajaxfileupload.js目前功能最全版本(多文件、异常处理等),顺便解决只能上传一次的BUG(非live绑定)
- 一份呕心沥血整理的bug list
- Hbase集群安装配置
- 多线程、同步代码块
- opencv cvMat数据类型
- linux初学者-pxe装机篇
- POJ-2891-Strange Way to Express Integers(解线性同余方程)
- 刘二白的求学路上①
- MYSQL学习笔记(二十四)安全管理
- 如何查看连接自己wifi 的设备数目以及详细信息
- 类加载器