HBase安装与配置

安装部署HBase

安装HBase
将HBase压缩包上传至其中一个节点
在这里插入图片描述
解压tar -zxvf hbase-1.1.3-bin.tar.gz
在这里插入图片描述
将解压后的目录移动到/usr/目录下mv hbase-1.1.3 /usr/
在这里插入图片描述
设置HBase的环境变量

vi /etc/profile

将HBASE_HOME/bin拼接到PATH后面

export HBASE_HOME=/usr/hbase-1.1.3
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述
配置部署HBase
配置hbase-env.sh文件
设置hbase的JAVA_HOME
进入hbase的配置文件目录:cd /usr/hbase-1.1.3/conf/
在这里插入图片描述

vi  hbase-env.sh

在这里插入图片描述
编辑之前输入JAVA_HOME再回车进行搜索,按字母n进行搜索下一个
在这里插入图片描述
这里只有一处JAVA_HOME,去掉注释,修改为实际的JAVA_HOME路径

export JAVA_HOME= /usr/java/jdk1.8.0_161

在这里插入图片描述
设置不使用内置zookeeper
同样在非编辑状态下输入/HBASE_MANA进行搜索,将export HBASE_MANAGES_ZK=true中去掉注释,并将true改为false:

export HBASE_MANAGES_ZK=false

在这里插入图片描述
编辑hbase-site.xml文件

vi  hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value> #hadoop配置文件core-site.xml中配置
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>#zookeeper节点配置
<value>node1,node2,node3</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>2700000</value> #先设置小一点,如果报错再调大点
</property>

可以看下core-site.xml中内容

cat /usr/hadoop/etc/hadoop/core-site.xml

在这里插入图片描述
hbase-site.xml配置如下图
在这里插入图片描述
将hadoop中hdfs-site.xml拷贝到HBASE_HOME/conf下

scp /usr/hadoop/etc/hadoop/hdfs-site.xml /usr/hbase-1.1.3/conf/

在这里插入图片描述
在这里插入图片描述
配置regionservers

vi  regionservers

输入内容为(原本的localhost删掉)
node2
node3
在这里插入图片描述
拷贝hbase解压后的整个目录拷贝到node2、node3两个节点

scp -r /usr/hbase-1.1.3 root@node2:/usr/

在这里插入图片描述

scp -r /usr/hbase-1.1.3 root@node3:/usr/

在这里插入图片描述
分别在nod2、node3中配置hbase的环境变量

vi  /etc/profile

export HBASE_HOME=/usr/hbase-1.1.3
将HBASE_HOME/bin拼接到PATH后面

export HBASE_HOME=/usr/hbase-1.1.3
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述
分别在三个结点上运行source /etc/profile,使环境变量生效
在这里插入图片描述

使用HBase

在node1上启动hbase:start-hbase.sh
前提:hadoop集群已启动,如果没启动,请依次启动。
zkServer.sh start (需要在安装了zk的每台节点上启动)
start-dfs.sh
start-yarn.sh
再启动hbase: start-hbase.sh
在这里插入图片描述
通过jps查看进程
Node1
在这里插入图片描述
Node2
在这里插入图片描述
Node3
在这里插入图片描述
通过浏览器访问
http://node1:16010 看到以下页面,说明安装部署成功
在这里插入图片描述
分别可以看到HMaster节点node1和HRegion Server节点node2,node3
Hbase支持 shell操作
输入hbase shell 可进入shell模式
在这里插入图片描述
输入list
在这里插入图片描述
exit退出
为保证集群的可靠性,要启动多个Hmaster,比如在node2上独立启动Hmaster

hbase-daemon.sh start master

表的管理
输入hbase shell进入shell模式
在这里插入图片描述
** 查看有那些表**
在这里插入图片描述
** 创建表**

# 语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
# 例如:创建表t1,有两个family name:f1,f2,且版本数均为2
create 't1' ,{NAME=>'f1',VERSIONS =>2},{NAME=>'f2',VERSIONS=>2}

在这里插入图片描述

创建表user,列族为info
create 'user','info'

在这里插入图片描述
删除表
在这里插入图片描述

删除表
分两步:首先disable,然后drop
例如:删除表t1
hbase(main)> disable 't1'
hbase(main)> drop 't1'

在这里插入图片描述
查看表的结构

# 语法:describe <table>
# 例如:查看表t1的结构
hbase(main)> describe 't1'
注意:由于上一步删除了表,我先创建一个t1

在这里插入图片描述
修改表结构

修改表结构必须先disable
# 语法:alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
# 例如:修改表test1的cf的TTL为180天
hbase(main)> disable 't1'
hbase(main)> alter 't1' ,{NAME=>'body',TTL=>'15552000'},{NAME=>'meta',TTL=>'15552000'}
hbase(main)> enable 't1'

在这里插入图片描述

表数据的增删改查

添加数据

# 语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
# 例如:给表user的添加一行记录:rowkey是001,family 是name,valuse是lishi。
hbase(main)> put 'user','001','info:name','lishi'

在这里插入图片描述
** 查询数据**

查询表中的所有数据
# 语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
# 另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能
# 例如:扫描表t1的前2条数据
hbase(main)> scan 'user',{LIMIT=>2}

在这里插入图片描述
查询某条数据
查询表t1, 001中的info下的所有列值
hbase(main)> get ‘user’,‘001’
在这里插入图片描述
删除数据

删除行中的某个列值
# 语法:delete <table>, <rowkey>,  <family:column> , <timestamp>,必须指定列名
# 例如:删除表user, 001中的info:name的数据
hbase(main)> delete 'user','001','info:name'

在这里插入图片描述
** 删除表中的所有数据**

# 语法: truncate <table>
# 其具体过程是:disable table -> drop table -> create table
# 例如:删除表user的所有数据
hbase(main)> truncate 'user'

在这里插入图片描述
检查表是否存在

exists 'user'

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oifengo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值