HBase 在集群中对表(ddl)和数据(dml)的相应操作
HBase 在集群中对表(ddl)和数据(dml)的相应操作
HBase特点
-
要开启hbase之前必须先开启hdfs和zookeeper(关闭将start改为stop即可)
-
启动hdfs:my_hadoop.sh start
-
启动zookeeper:zk.sh start
-
启动hbase:bin/start-hbase.sh
-
表(ddl):增加:create,修改:alter,删除:drop,查看所有:list,查看版本号:describe
-
数据(dml):增加:put,修改:put,删除:delete,查看:scan
HBase在集群上的操作
1.HBase安装及配置
(1)点击XShell,进入到 cd /opt/software目录下
[mnlg@XJ202 ~]$ cd /opt/software/
(2)把hbase-2.3.6-bin.tar.gz压缩包上传到Shell的 cd /opt/software目录下
(3)在 XJ202 解压 HBase安装包到/opt/module/目录下
[mnlg@XJ202 software]$ tar -zxvf hbase-2.3.6-bin.tar.gz -C /opt/module/
(4)修改名称hbase-2.3.6-bin为hbase-2.3.6
[mnlg@XJ202 module]$ mv hbase-2.3.6-bin/ hbase-2.3.6
(5)进入hbase中的conf目录修改regionservers文件
XJ202
XJ203
XJ204
(6)修改hbase-env.sh 文件
[mnlg@XJ202 hbase-2.3.6]$ vim hbase-env.sh
(1)# The java implementation to use. Java 1.8+ required.
export JAVA_HOME=/opt/module/jdk1.8.0_212
(2)# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=false
(7)修改hbase-site.xml 文件
[mnlg@XJ202 hbase-2.3.6]$ vim hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://XJ202:8020/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>XJ202,XJ203,XJ204</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.5.7/zkdata</value>
</property>
(8)创建core-site.xml 和 hdfs-site.xml 配置文件软连接
[mnlg@XJ202 conf]$ ln -s /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml /opt/module/hbase-2.3.6/conf/core-site.xml
[mnlg@XJ202 conf]$ ll
[mnlg@XJ202 conf]$ ln -s /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml /opt/module/hbase-2.3.6/conf/hdfs-site.xml
2.HBase 在集群中对表(ddl)和数据(dml)的相应操作
(1)对表(ddl)的创建,修改,查看,删除操作
[mnlg@XJ202 ~]$ cd /opt/module/hbase-2.3.6/ //进入到hbase目录下
[mnlg@XJ202 hbase-2.3.6]$ bin/start-hbase.sh //启动hbase
[mnlg@XJ202 hbase-2.3.6]$ bin/hbase shell //进入hbase命令界面
hbase(main):018:0> create 'student','info1' //创建student表
hbase(main):018:0> describe 'student' //查看student表的信息(如版本号)
hbase(main):018:0> create 't1','info1','info2' //创建t1表
hbase(main):018:0> list //查看有哪些表格
hbase(main):018:0> describe 't1' //查看t1表的信息(如版本号)
hbase(main):018:0> help 'alter' //查看'alter'帮助信息
//修改版本号为‘3’
hbase(main):018:0> alter 't1',{NAME => 'info1',VERSIONS => '3'}
hbase(main):018:0> describe 't1' //查看t1表的信息(如版本号)
hbase(main):018:0> alter 't1',{NAME => 'info3'} //修改t1的列族为info3
hbase(main):018:0> describe 't1'
//若出现表正在使用无法删除,需要先disable ’t1’之后再删除表
hbase(main):018:0> disable 't1'
hbase(main):018:0> drop 't1' //删除t1表
hbase(main):018:0> list //查看t1表是否还存在
(2)对数据(dml)的增删改查操作
hbase(main):018:0> create 't1','info1' //创建t1表
hbase(main):018:0> scan 't1' //查看t1表中数据信息(此时为0)
hbase(main):018:0> help 'put' //查看'put'帮助信息
hbase(main):018:0> put 't1','1001','info1:name','tom'
hbase(main):018:0> put 't1','1001','info1:age','18'
hbase(main):018:0> put 't1','1001','info1:gander','male' //以上三行是往表格添加数据
hbase(main):018:0> scan 't1' //查看t1表中数据信息
hbase(main):018:0> put 't1','1001','info1:name','wx' //对数据进行修改'tom'->'wx'
hbase(main):018:0> scan 't1'
//删除表里面某一列的信息,会保留之前的日志信息,不会彻底删除修改之前的东西。
hbase(main):018:0> delete 't1','1001','info1:name' //删除之后name变为'tom'
hbase(main):018:0> help 'deleteall' //查看'deleteall'帮助信息
hbase(main):018:0> put 't1','1001','info1:name','wx' //对数据进行修改'tom'->'wx'
hbase(main):018:0> deleteall 't1','1001','info1:name' //彻底删除某一列的所有记录
hbase(main):018:0> scan 't1' //查看t1表中数据信息
hbase(main):018:0> help 'truncate' //查看'truncate'帮助信息
hbase(main):018:0> truncate 't1' //删除表里面的所有数据信息
hbase(main):018:0> scan 't1'
//统计表中有几个rowkey,rowkey一样,只能说明为一个值里面的不同列
hbase(main):018:0> count 't1'
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码