HBase纪要(上)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: HBase纪要(上)

集群环境下的安装部署:


配置一个10个节点的集群。节点的名字分别是master.foo.com,host1.foo.com到host9.foo.com。


HBase master与HDFS  NameNode都运行在master.foo.com上。


Region服务器运行在host1.foo.com到host9.foo.com上。


3个节点的ZooKeeper分别运行在zk1.foo.com,zk2.foo.com,zk2.foo.com。


ZooKeeper的元数据目录设置为/var/zookeeper。


主要配置文件——hbase-site.xml、regionservers、hbase-env.sh都可以再Hbase的conf目录下找到。


配置如下:


1.hbase-site.xml

<configuration>
<property>
  <name>hbase.zookeeper.quorum</name>
<value>zk1.foo.com,zk2.foo.com,zk3.foo.com</value>
</ property >
<property>
  <name>hbase.zookeeper.property.dataDir</name>
<value>/var/zookeeper</value>
</ property >
<property>
  <name>hbase.rootdir </name>
<value>hdfs://master.foo.com:9000/hbase </value>
</ property >
<property>
  <name>dfs.replication </name>
<value>3 </value>
</ property >
<property>
  <name>hbase.cluster.distributed </name>
<value>true </value>
</ property >
</ configuration>


2.regionservers


 记录所有region服务器的主机列表。


host1.foo.com
  host2.foo.com
  host3.foo.com
  host4.foo.com
  host5.foo.com
  host6.foo.com
  host7.foo.com
  host8.foo.com
  host9.foo.com


3.hbase-env.sh


  HBase的环境变量等信息需要在这个文件中设置。例如,Hbase守护进程的JVM启动参数:Java堆大小和垃圾回收策略。


 还可以设置HBase配置文件的目录、日志目录、SSH选项、进程pid文件的目录等。


 改变配置后需要重启HBase才能生效。


这里我们将HBase的堆设置为4GB,以替代默认的1GB。

export  HBASE_HEAPSIZE=4096
 export HBASE_MANAGES_ZK=false

     --不依赖Hbase管理集群



配置HBase自己管理ZK:


例:如果需要HBase在节点rs{1,2,3,4,5}.foo.com上管理ZooKeeper,并绑定客户端服务端口2222(默认2181)。


conf/hbase-env.sh
    export HBASE_MANAGES_ZK=true


在conf/hbase-site.xml配置zk相关信息:


<property>
  <name>hbase.zookeeper.quorum</name>
<value>zk1.foo.com,zk2.foo.com,zk3.foo.com</value>
</ property >
<property>
  <name>hbase.zookeeper.property.dataDir</name>
<value>/var/zookeeper</value>
</ property >
<property>
  <name>hbase.zookeeper.property.clientPort </name>
<value>2222 </value>
</ property >


注意:一旦用户编辑完配置文件,就需要文件同步到集群的所有服务器上。


用户可以使用rsync完成这项工作。


集群中每台集群上的配置都相同,每台机器都可以作为master


如:rsync   -vaz   /usr/local/hbase   /usr/local



Hbase命令操作


Hbase管理命令:


Start-hbase.sh         --启动hbase数据库


Hbase  shell         --进入hbase shell界面


Exit                  --退出hbase shell界面


Stop-hbase.sh         --关闭数据库


hbase-daemon.sh  start master     --启动master


hbase-daemon.sh  start master   -backup   启动备份的master


hbase-daemon.sh  stop  regionserver   停止region



balance_switch  false        关闭负载均衡


Graceful_stop.sh   hostname    关闭hostname主机上的hbase(先移region,之后关闭)    


balance_switch  true          启动负载均衡



启动成功的守护进程:


HMaster


HQuarumPeer     ——如果是ZooKeeper自己管理则是QuorumPeerMain


HRegionServer


ThriftServer  



通用命令:


Status   --提供Hbase的状态,如:服务器的数量


Version  --提供正在使用Hbase的版本


Table_help           --表引用命令提供帮助


Whoami              --提供有关用户的信息


Debug     --切换调试模式,非调试模式shell日志级别是error,不会在控制台打印


Debug?        --查看当前的调试模式



数据定义语言


Create ‘test’,’cf1’      创建表test,有一个cf1的列族


List                  --展示所有表


--删除表之前,一定要先将其禁用


Disable ‘test’


Is_disabled             --验证表是否被禁用


Enable                 --启用一个表


Is_enabled             验证表是否已启用


Alter                改变一个表


         Alter  ‘test’,readonly(option)       --设置表为只读


         Alter   ‘test’,’delete’=>’professional’   --删除指定列族professional


Drop  ‘test’


Disable_all             用于禁用所有匹配给定正则表达式的表


Drop_all  ‘t.*’           --删除匹配regex表,也要向禁用表



Exists ‘test’            判断表是否存在



数据操纵语言


Put  ‘test’,’row1’,’cf1’,’val1’


Put  ‘test’,’row1’,’cf1’,’val2’        --没有更新语句,直接覆盖


Scan ‘test’              --查看表下的所有数据


Scan ‘test’,{versions=>3}


get  ‘test’,’row1’,’cf1’       --获取单元格数据


get_counter               --返回一个计数器数值


incr                      --给计数器加1


delete ‘test’,’row1’,’cf1’,’ql1’          --删除特定单元格


deleteall ‘test’,’row1’                  --删除row1的所有单元格


count                     --计数并返回表中的行的数目


truncate                   --清空表数据



表授权语句:


Grant   授权


Revoke   撤销用户权限


User_permission       列出特定表的所有权限


R - 代表读取权限

W - 代表写权限

X - 代表执行权限

C - 代表创建权限

A - 代表管理权限

Grant  ‘Tutorialspoint’,’RWXCA’     --授予用户所有权限


Revoke ‘Tutorialspoint’             --撤销用户所有权限


User_permission   ‘emp’          --查看emp表的所有用户权限



工具:


Assign               --分配一个region到一台region服务器


Balance_switch         --切换负载均衡状态


Balancer              --启动负载均衡


Close_region           --关闭一个region


Compact              --开启某个region或一张表的异步合并操作


Move                --移动一个region到不同的服务器中


Split                 --拆分一个region或一张表


Unassign             --下线一个region



执行shell脚本:


Echo “status”   |  hbase shell


Cat ~/hbase-shell-status.rb


Hbase  shell    ~/hbase-shell-status.rb


相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
负载均衡 监控 Shell
HBase纪要(下)
HBase纪要(下)
76 0
|
存储 缓存 分布式计算
HBase纪要(中)
HBase纪要(中)
80 0
|
5月前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
85 0
|
9月前
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
145 0
|
11天前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群
|
11天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
5月前
|
分布式计算 Hadoop 关系型数据库
Hadoop任务scan Hbase 导出数据量变小分析
Hadoop任务scan Hbase 导出数据量变小分析
53 0
|
4月前
|
存储 分布式计算 Hadoop
Hadoop中的HBase是什么?请解释其作用和用途。
Hadoop中的HBase是什么?请解释其作用和用途。
43 0
|
5月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
83 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
9月前
|
分布式计算 Hadoop 分布式数据库
开机时监听Hadoop和Zookpeer启动之后再启动Hbase
开机时监听Hadoop和Zookpeer启动之后再启动Hbase