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 software]$ 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'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356927.html
標籤:其他
上一篇:深度學習階段劃分
下一篇:Ubuntu 安裝配置SSH(ssh: connect to host localhost port 22: Connection refused問題的解決)
