HBase安装及操作

本文介绍了如何在单机和集群环境中安装HBase,包括内嵌Zookeeper的单机版配置,以及高可用集群的设置步骤。详细讲述了配置hbase-site.xml和hbase-env.sh文件,启动HBase、HDFS以及Zookeeper的过程,并演示了HBase shell的基本操作,如创建命名空间、region,插入数据以及查看表结构等。
摘要由CSDN通过智能技术生成

单机版: (hbase内嵌有zookeeper)
解压hbase软件,到达conf目录下
配置hbase-site.xml文件

<configuration>
  <property>
    <name>hbase.rootdir</name>    配置hbase存在位置
    <value>file:///home/testuser/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>  配置hbase文件保存路径
    <value>/home/testuser/zookeeper</value>
  </property>
</configuration>

配置hbase-env.sh文件:把29行的注释取消,配置虚拟机上面的Java地址

     28 # The java implementation to use.  Java 1.6 required.
     29 export JAVA_HOME=/usr/java/default        
     30 
     31 # Extra Java CLASSPATH elements.  Optional.
     32 # export HBASE_CLASSPATH

然后使用start-hbase.sh命令启动hbase
使用hbase shell 进入hbase的命令提示界面,进行hbase语句操作练习

hbase集群:(高可用)
配置hbase-site.xml文件

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://bx/hbase</value>    此处的bx为以前搭建hdfs集群时,使用的那个集群代号
</property>
<property>
  <name>hbase.zookeeper.quorum</name>       指定集群的几台zookeeper主机名
  <value>CentOS8,CentOS9,CentOS10,CentOS15</value>
</property>
<property>
  <name>hbase.cluster.distributed</name>    设置使用zookeeper集群,true为使用
  <value>true</value>
</property>
</configuration>

配置hbase-env.sh文件:把124行的注释取消,把true改为false,代表不使用自带的zookeeper

121 # export HBASE_SLAVE_SLEEP=0.1
    122 #
    123 # Tell HBase whether it should manage it's own instance of Zookeeper or not.
    124 export HBASE_MANAGES_ZK=false      默认为true
    125 #

设置regionservers文件
vi regionservers

     CentOS8    设置四个regionserver节点
     CentOS9
     CentOS10
     CentOS15

创建backup-masters文件
vi backup-masters

CentOS8    指定两台master主机
CentOS9  

然后再把hadoop2.6.5/etc/hadoop/hdfs-site.xml文件拷贝到该目录下

到此,配置文件准备完毕。
首先每台机器启动zkServer.start.sh
然后在配了免密钥登录的机器上执行start-dfs.sh ,启动hdfs集群
最后,在start-hbase.sh 启动hbase数据库


安装完毕后就开始可以使用了

创建命名空间:

create_namespace   'benxi'

创建region:

create 't_user','f1',f2' 

插入数据:

put 't_user','001','f1:name','张三'    第一个为表名,第二个为Row Key,第三个为列族名:属性名,第四个为属性的value
put 't_user','001','f1:age','13'

查看表结构:desc 't_user' 显示结果如下:(部分参数解释)

Table t_user is ENABLED
t_user
COLUMN FAMILIES DESCRIPTION
{NAME=>’f1’, 列族名
DATA_BLOCK_ENCODING=>’NONE’,
BLOOMFILTER=>’ROW’,
REPLICATION_SCOPE => ‘0’,
VERSIONS => ‘1’, 最大保存数为1
COMPRESSION => ‘NONE’,
MIN_VERSIONS => ‘0’, 最小保存数为0
TTL=>FOREVER’, 保存时间为永久有效
KEEP_DELETED_CELLS => ‘FALSE’,
BLOCKSIZE=>’65536’, 一个块大小,单位字节,64k
IN_MEMORY=>’false’,
BLOCKCACHE => ‘true’} 默认为true,开启查询保存

禁用命名空间

disabled ‘t_user’

删除命名空间 首先要禁用表才能删除。

 drop  't_user'

接下来使用Java代码进行操作:

p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值