hbase3

1.获取用户对商品1001的行为
scan ‘s_behavie’ , filter => “ValueFilter(=,‘binary:1001’)”

row column+cell
12_1 column=pc:v,timestamp=1234,value=1001
12_1 column=ph:o,timestamp=1235,value=1001
//注意:ValueFilter会匹配列族下面所有的列
//假如只需要查询用户对商品的1001的下单行为数据,用SingleColumnValueFilter可以指定搜索的列限定符

2.查询用户对商品的1001的下单行为数据
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; //先引入包
scan ‘s_behavior’,{FILTER => SingleColumnValueFilter.new(Bytes.toBytes(‘ph’),Bytes.toBytes(‘o’),
CompareFilter::CompareOp.valueOf(‘EQUAL’),
BinaryComparator.new(Bytes.toBytes(‘1001’))),column=>[‘ph:o’] }

row column+cell
12_1 column=ph:o,timestamp=1234,value=1001

3.获取用户行为数据的行键
//过滤器通过括号,and,or,的条件组合支持多个过滤条件
//使用KeyOnlyFilter可以使得hbase服务端只返回数据的行键以减少传输的数据量
scan ‘s_behavior’, { FILTER=>“PrefixFilter(‘12345’)” AND KeyOnlyFilter() , limit=>3 }

row column+cell
12_1 column=pc:v,timestamp=1234,value=
12_1 column=ph:o,timestamp=1235,value=
12_2 column=pc:v,timestamp=1236,value=
12_3 column=pc:v,timestamp=1237,value=

4.删除数据
hbase提供了 delete 删除列 , deleteall 删除行 , truncate 删除表 命令
1)删除某列数据
delete ‘table’ , ‘rowkey’ , ‘列族:列标识符’ , ‘[ time stamp ]’
delete ‘s_behavior’ , ‘12_1’ , ‘ph:o’

2)删除整行数据
deleteall ‘table’ , ‘rowkey’
deleteall ‘s_behavior’ , ‘12_1’

3)删除整表数据
truncate ‘table’
truncate ‘s_behavior’

5.复制状态的查看
当hbase开启了集群复制时,使用status命令可以查看复制的状态,包括日志等
status ‘replication’

6.分区拆分
实时在线集群一般会禁用自动拆分以免影响性能,因此当StoreFile大小达到某个值后,
需要手动或者自动化程序将分区拆分
split ‘s_behavior’ , ‘5’
//将用户行为表’s_behavior’拆分为两个分区,由于行键以用户Id第一个字符取值范围为0~9,
中值为5,因而可以使用5作为拆分后两个分区的分割字符

7.分区主压缩
实时在线集群禁用主压缩,需手动
major_compact ‘s_behavior , , 151.wdcw.’

8.负载均衡开关
balance_switch true //开
balance_switch false //关

9.分区手动迁移
move ‘EncodedRegionName’ , ‘destServerName’
move ‘w21w5’ , ‘master2,16020,15130,495583232’

### HBase三节点集群搭建教程 #### 1. 环境准备 在搭建HBase三节点集群之前,需要确保每台机器上已经安装并配置好Java环境和Hadoop分布式文件系统(HDFS)。此外,还需要设置无密码SSH登录以便于各节点之间的通信[^1]。 #### 2. 下载与解压HBase软件包 将下载好的HBase压缩包上传至主节点,并通过命令工具将其分发到其余两个从节点。接着,在所有节点执解压操作。 ```bash tar -zxvf hbase-x.x.x-bin.tar.gz mv hbase-x.x.x /usr/local/hbase ``` #### 3. 修改配置文件 进入`/usr/local/hbase/conf`目录编辑必要的配置文件: - **hbase-env.sh** 设置JAVA_HOME路径以保证HBase可以找到JDK的位置。 ```bash export JAVA_HOME=/path/to/java ``` - **hbase-site.xml** 定义HBase所需的参数,比如Zookeeper地址、根目录等。 ```xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://namenode:8020/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3</value> </property> </configuration> ``` - **regionservers** 列出所有的RegionServer所在的主机名或者IP地址。 ``` node1 node2 node3 ``` - **backup-masters** 如果希望实现高可用性,则在此处指定备用Master服务器列表。 ``` node2 ``` 完成上述修改之后,利用scp指令把整个conf文件夹复制给另外两台计算机上的相同位置[^3]。 #### 4. 启动服务 返回到任意一台已设定完毕的客户端终端界面里依次开启相关进程: ```bash start-dfs.sh # 开启HDFS服务 start-yarn.sh # (如果适用的话)启动YARN资源调度器 bin/start-hbase.sh # 正式激活HBase框架本身 ``` 此时可通过浏览器输入http://<某节点ip>:16010来验证Web UI是否正常加载出来。 #### 5. 测试连接 打开HBase Shell交互模式测试基本功能是否完好运作。 ```bash bin/hbase shell list # 展示当前存在的表格清单 status # 获取整体健康状况报告 version # 查询正在使用的发版号数 ``` 以上就是关于构建一个简单的基于Linux系统的三个物理设备构成的小型HBase集群指南[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值