您的位置:首页 > 其它

配置HBase的伪分布跟完全分布集群

2017-12-17 18:56 375 查看
HBase的伪分布  

下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/stable/

修改配置文件hbase-site.xml

<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</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

 

修改文件$HBASE_HOME/conf/hbase-env.sh,修改内容如下

exportJAVA_HOME=/usr/local/jdk80 

exportHBASE_MANAGES_ZK=true

 

将hbase添加到环境变量中

export HBASE_HOME=/usr/hbase

export PATH=$HBASE_HOME/bin:$PATH

HBase的完全分布集群

 

配置环境变量,加上zookeeper的 /etc/profile

exportZOOKEEPER_HOME=/usr/zookeeper

exportPATH=PATH=$PATH:$ZOOKEEPER_HOME/bin

 

 

1.hbase的机群搭建过程(在原来的master上的hbase伪分布基础上进行搭建)

1.1 集群结构,主节点(hmaster)是master,从节点(region
server)是slave1和slave2

1.2 修改master上的hbase的几个文件

    (1)修改hbase-env.sh的最后一行export HBASE_MANAGES_ZK=false

         (2)修改hbase-site.xml文件的hbase.zookeeper.quorum的值为master,
slave1, slave2

         (3)修改regionservers文件(存放的regionserver的hostname),内容修改为slave1、slave2

1.3 复制master中的hbase文件夹到slave1、slave2中        

    复制master中的/etc/profile到slave1、slave2中,在slave1、slave2上执行source/etc/profile

1.4 启动集群

Ø  首先启动hadoop(在master上start-all.sh),

Ø  然后启动zookeeper集群(分别在三台机器上zkServer.sh  start;可以使用zkServer.sh
status查看zk的状态)。

Ø  最后在m1上启动hbase集群(start-hbase.sh)。

 

 
将hbase拷贝到slave节点,且路径和master中的相同。
#cd /usr /hbase
scp -r ./*root@slave1:/usr/hbase

scp -r ./*root@slave2:/usr/hbase

 

创建表

>create 'users','user_id','address','info'

        (说明:表users,有三个列族user_id,address,info)

得到表的描述

1. >describe 'users'  

创建表

1. >create 'users_tmp','user_id','address','info'  

删除表

1. >disable 'users_tmp'  

2.   
3. >drop 'users_tmp'  

添加记录

put ‘表名’,’行键(标识)’,’列族:字段’,’数值’

示例:

[html] view
plain copy

1. put 'users','xiaoming','info:age','24';  

2.   
3. put 'users','xiaoming','info:birthday','1987-06-17';  

4.   
5. put 'users','xiaoming','info:company','alibaba';  

6.   
7. put 'users','xiaoming','address:contry','china';  

8.   
9. put 'users','xiaoming','address:province','zhejiang';  

10.  
11.put 'users','xiaoming','address:city','hangzhou';  

12.  
13.put 'users','zhangyifei','info:birthday','1987-4-17';  

14.  
15.put 'users','zhangyifei','info:favorite','movie';  

16.  
17.put 'users','zhangyifei','info:company','alibaba';  

18.  
19.put 'users','zhangyifei','address:contry','china';  

20.  
21.put 'users','zhangyifei','address:province','guangdong';  

22.  
23.put 'users','zhangyifei','address:city','jieyang';  

24.  
25.put 'users','zhangyifei','address:town','xianqiao'  

获取一条记录

1.       取得一个id的所有数据

 

1.   >get 'users','xiaoming'  

2.       获取一个id,一个列族的所有数据

 

1. >get 'users','xiaoming','info'  

 

3.       获取一个id,一个列族中一个列的所有数据

1. >get 'users','xiaoming','info:age'  

 

更新记录

1. >put 'users','xiaoming','info:age' ,'29'  

2.   
3. >get 'users','xiaoming','info:age'  

4.   
5. >put 'users','xiaoming','info:age' ,'30'  

6.   
7. >get 'users','xiaoming','info:age'  

获取单元格数据的版本数据

1. >get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}  

2.   
3. >get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}  

4.   
5. >get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}  

获取单元格数据的某个版本数据

1. 〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}  

全表扫描

1. >scan 'users'  

 

删除xiaoming值的'info:age'字段

1. >delete 'users','xiaoming','info:age'  

2.   
3. >get 'users','xiaoming'  

删除整行

1. >deleteall 'users','xiaoming'  

统计表的行数

1. >count 'users'  

清空表

>truncate 'users'  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: