1. 程式人生 > >HBASE 常用語法和phoenix 配置

HBASE 常用語法和phoenix 配置

hadoop伺服器監控網址

使用賬號從ssh登入,進入HADOOP_HOME目錄。

hadoop安裝目錄:/usr/lib/hadoop/

啟動Hadoop

執行sh bin/start-all.sh

關閉Hadoop

·        執行sh bin/stop-all.sh

1、檢視指定目錄下內容

hadoop dfs –ls [檔案目錄]

eg: hadoop dfs –ls /user/wangkai.pt

2、開啟某個已存在檔案

hadoop dfs –cat [file_path]

eg:hadoop dfs -cat /user/wangkai.pt/data.txt

3、將本地檔案儲存至

hadoop

hadoop fs –put [本地地址] [hadoop目錄]

hadoop fs –put /home/t/file.txt /user/t   

(file.txt是檔名)

4、將本地資料夾儲存至hadoop

hadoop fs –put [本地目錄] [hadoop目錄]hadoop fs –put /home/t/dir_name /user/t

(dir_name是資料夾名)

5、將hadoop上某個檔案down至本地已有目錄下

hadoop fs -get [檔案目錄] [本地目錄]

hadoop fs –get /user/t/ok.txt /home/t

6、刪除hadoop上指定檔案

hadoop fs –rm [

檔案地址]

hadoop fs –rm /user/t/ok.txt

7、刪除hadoop上指定資料夾(包含子目錄等)

hadoop fs –rm [目錄地址]

hadoop fs –rmr /user/t

8、在hadoop指定目錄內建立新目錄

hadoop fs –mkdir /user/t

9、在hadoop指定目錄下新建一個空檔案

使用touchz命令:

hadoop  fs  -touchz /user/new.txt

10、將hadoop上某個檔案重新命名

使用mv命令:

hadoop  fs  –mv /user/test.txt  /user/ok.txt   (將test.txt重新命名為ok.txt

11、將hadoop指定目錄下所有內容儲存為一個檔案,同時down至本地

hadoop dfs –getmerge /user /home/t

12、將正在執行的hadoop作業kill

hadoop job –kill  [job-id]

在準備好相應的配置之後,可以直接通過zkServer.sh 這個指令碼進行服務的相關操作

  • 1. 啟動ZK服務:       sh bin/zkServer.sh start
  • 2. 檢視ZK服務狀態: sh bin/zkServer.sh status
  • 3. 停止ZK服務:       sh bin/zkServer.sh stop
  • 4. 重啟ZK服務:       sh bin/zkServer.sh restart

ZooKeeper進行訪問,資料建立,資料修改等操作使用 zkCli.sh-server 127.0.0.1:2181 連線到 ZooKeeper 服務,連線成功後,系統會輸出 ZooKeeper 的相關環境以及配置資訊。

命令列工具的一些簡單操作如下:

  • 1. 顯示根目錄下、檔案: ls / 使用 ls 命令來檢視當前 ZooKeeper 中所包含的內容
  • 2. 顯示根目錄下、檔案: ls2 / 檢視當前節點資料並能看到更新次數等資料
  • 3. 建立檔案,並設定初始內容: create /zk "test" 建立一個新的 znode節點“ zk ”以及與它關聯的字串
  • 4. 獲取檔案內容: get /zk 確認 znode 是否包含我們所建立的字串
  • 5. 修改檔案內容: set /zk "zkbak" zk 所關聯的字串進行設定
  • 6. 刪除檔案: delete /zk 將剛才建立的 znode 刪除
  • 7. 退出客戶端: quit
  • 8. 幫助命令: help

      ZooKeeper 支援某些特定的四字命令字母與其的互動。它們大多是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關資訊。使用者在客戶端可以通過 telnet nc ZooKeeper 提交相應的命令

  • 1. 可以通過命令:echo stat|nc 127.0.0.1 2181 來檢視哪個節點被選擇作為follower或者leader
  • 2. 使用echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server,若回覆imok表示已經啟動。
  • 3. echo dump| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節點。
  • 4. echo kill | nc 127.0.0.1 2181 ,關掉server
  • 5. echo conf | nc 127.0.0.1 2181 ,輸出相關服務配置的詳細資訊。
  • 6. echo cons | nc 127.0.0.1 2181 ,列出所有連線到伺服器的客戶端的完全的連線 / 會話的詳細資訊。
  • 7. echo envi |nc 127.0.0.1 2181 ,輸出關於服務環境的詳細資訊(區別於 conf 命令)。
  • 8. echo reqs | nc 127.0.0.1 2181 ,列出未經處理的請求。
  • 9. echo wchs | nc 127.0.0.1 2181 ,列出伺服器 watch 的詳細資訊。
  • 10. echo wchc | nc 127.0.0.1 2181 ,通過 session 列出伺服器 watch 的詳細資訊,它的輸出是一個與 watch 相關的會話的列表。
  • 11. echo wchp | nc 127.0.0.1 2181 ,通過路徑列出伺服器 watch 的詳細資訊。它輸出一個與 session 相關的路徑。

 (1)建立一個表scores,有兩個列族grad和courese  

hbase(main):001:0> create ‘scores','grade', ‘course

   可以使用list命令來檢視當前HBase裡有哪些表。使用describe命令來查看錶結構。(記得所有的表明、列名都需要加上引號) 

(2)按設計的表結構插入值

put ‘scores','Tom','grade:','5′
put ‘scores','Tom','course:math','97′
put ‘scores','Tom','course:art','87′
put ‘scores','Jim','grade','4′
put ‘scores','Jim','course:','89′
put ‘scores','Jim','course:','80′ 

  這樣表結構就起來了,其實比較自由,列族裡邊可以自由新增子列很方便。如果列族下沒有子列,加不加冒號都是可以的。 
put命令比較簡單,只有這一種用法: 
hbase> put ‘t1′, ‘r1′, ‘c1′, ‘value', ts1 
t1指表,r1指行鍵名,c1指列名,value指單元格值。ts1指時間戳,一般都省略掉了。

(3)根據鍵值查詢資料

get ‘scores','Jim'
get ‘scores','Jim','grade' 

可能你就發現規律了,HBase的shell操作,一個大概順序就是操作關鍵詞後跟表名,行名,列名這樣的一個順序,如果有其他條件再用花括號加上。 
get有用法如下: 

hbase> get ‘t1′, ‘r1′
hbase> get ‘t1′, ‘r1′, {TIMERANGE => [ts1, ts2]}
hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′}
hbase> get ‘t1′, ‘r1′, {COLUMN => ['c1', 'c2', 'c3']}
hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMESTAMP => ts1}
hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMERANGE => [ts1, ts2], VERSIONS => 4}
hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMESTAMP => ts1, VERSIONS => 4}
hbase> get ‘t1′, ‘r1′, ‘c1′
hbase> get ‘t1′, ‘r1′, ‘c1′, ‘c2′
hbase> get ‘t1′, ‘r1′, ['c1', 'c2']

(4)掃描所有資料 
     指定一些修飾詞:TIMERANGE, FILTER, LIMIT,STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,or COLUMNS。沒任何修飾詞,就是上邊例句,就會顯示所有資料行。 
   程式碼如下: 

hbase> scan ‘.META.'
hbase> scan ‘.META.', {COLUMNS => ‘info:regioninfo'}
hbase> scan ‘t1′, {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => ‘xyz'}
hbase> scan ‘t1′, {COLUMNS => ‘c1′, TIMERANGE => [1303668804, 1303668904]}
hbase> scan ‘t1′, {FILTER => “(PrefixFilter (‘row2′) AND (QualifierFilter (>=, ‘binary:xyz'))) AND (TimestampsFilter ( 123, 456))”}
hbase> scan ‘t1′, {FILTER => org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}

(5)刪除指定資料 

程式碼如下: 

delete ‘scores','Jim','grade'
delete ‘scores','Jim' 

刪除資料命令也沒太多變化,只有一個: 

hbase> delete ‘t1′, ‘r1′,‘c1′, ts1 
另外有一個deleteall命令,可以進行整行的範圍的刪除操作,慎用! 
如果需要進行全表刪除操作,就使用truncate命令,其實沒有直接的全表刪除命令,這個命令也是disable,drop,create三個命令組合出來的。 
(6)修改表結構 

  程式碼如下: 

disable ‘scores'
alter ‘scores',NAME=>'info'
enable ‘scores' 

alter命令使用如下(如果無法成功的版本,需要先通用表disable): 

a、改變或新增一個列族: 

hbase> alter ‘t1′, NAME => ‘f1′, VERSIONS => 5 

b、刪除一個列族: 

程式碼如下: 

hbase> alter ‘t1′, NAME => ‘f1′, METHOD => ‘delete'
hbase> alter ‘t1′, ‘delete' => ‘f1′ 

 c、也可以修改表屬性如MAX_FILESIZE 

MEMSTORE_FLUSHSIZE, READONLY,和 DEFERRED_LOG_FLUSH:
hbase> alter ‘t1′, METHOD => ‘table_att', MAX_FILESIZE => '134217728′ 

d、可以新增一個表協同處理器 

hbase> alter ‘t1′, METHOD => ‘table_att', ‘coprocessor'=> ‘hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2′ 

一個表上可以配置多個協同處理器,一個序列會自動增長進行標識。載入協同處理器(可以說是過濾程式)需要符合以下規則: 
[coprocessor jar file location] | class name | [priority] | [arguments] 
e、移除coprocessor如下: 
hbase> alter ‘t1′, METHOD => ‘table_att_unset', NAME =>‘MAX_FILESIZE' 
hbase> alter ‘t1′, METHOD => ‘table_att_unset', NAME =>‘coprocessor$1′ 
f、可以一次執行多個alter命令: 

hbase> alter ‘t1′, {NAME => ‘f1′}, {NAME => ‘f2′, METHOD => ‘delete'} 

(7)統計行數: 

程式碼如下: 

hbase> count ‘t1
hbase> count ‘t1′, INTERVAL => 100000
hbase> count ‘t1′, CACHE => 1000
hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000 

  count一般會比較耗時,使用mapreduce進行統計,統計結果會快取,預設是10行。統計間隔預設的是1000行(INTERVAL)。 

(8)disable 和 enable 操作 

  很多操作需要先暫停表的可用性,比如上邊說的alter操作,刪除表也需要這個操作。disable_all和enable_all能夠操作更多的表。 

(9)表的刪除 
  先停止表的可使用性,然後執行刪除命令。 
  drop ‘t1′ 
以上是一些常用命令詳解,具體的所有hbase的shell命令如下,分了幾個命令群,看英文是可以看出大概用處的,詳細的用法使用help “cmd” 進行了解。 
4. hbase shell指令碼 

既然是shell命令,當然也可以把所有的hbase shell命令寫入到一個檔案內,想linux shell指令碼程式那樣去順序的執行所有命令。如同寫linux shell,把所有hbase shell命令書寫在一個檔案內,然後執行如下命令即可: 

程式碼如下:


$ hbase shell test.hbaseshell 

方便好用。 

配置PHOENIX步驟(本次hbase版本1.1.2):1、下載hbase對應的安裝包 2、tar -zxvf -C /usr/local/phoenix/ apache-phoenix-4.8.2-HBase-1.1-bin.tar.gz  3、配置環境變數vi /etc/profile 新增export PHOENIX_HOME=/usr/local/phoenix/apache-phoenix-4.8.2-HBase-1.1-bin export PHOENIX_CLASSPATH=$PHOENIX_HOMEb export PATH=$PATH:$PHOENIX_HOME/bin 4、拷貝jar包到hbase  cp phoenix-4.8.2-HBase-1.1-server.jar  /usr/local/hbase/hbase-1.1.10b 5、啟動sqlline.py master,slave1,slave2:2181  sqlline.py + 主機名 + zookeeper埠號 2181

相關推薦

HBASE 常用語法phoenix 配置

hadoop伺服器監控網址 使用賬號從ssh登入,進入HADOOP_HOME目錄。 hadoop安裝目錄:/usr/lib/hadoop/ 啟動Hadoop 執行sh bin/start-all.sh 或 關閉Hadoop ·        執行sh bin/stop

ES-6常用語法Vue初識

一、ES6常用語法 1、變數的定義 1. 介紹 ES6以前 var關鍵字用來宣告變數,無論宣告在何處都存在變數提升這個事情,會提前建立變數。 作用域也只有全域性作用域以及函式作用域,所以變數會提升在函式頂部或全域性作用域頂部。 let 關鍵字表示變數,const 表示常量。都是塊級作用域,比如

Matlab常用語法基本運算

(一)Matlab基本操作    1> 實數的加減乘除乘方等運算       可直接在Matlab的控制檯下進行對應的操作,如下。 >> 5+6 ans = 11 >> 3-2 ans

Linux常用命令應用配置

**     首先是準備工作,下載工具和編輯工具的安裝 yum install wget yum install vim 一、軟體操作命令 軟體包管理器 yum 安裝軟體 yum install xxx 解除安裝軟體 yum remove xxx 搜尋軟體 yu

HBase常用功能HBase+MapReduce使用總結

1.HBase如果加了列限定,如果該列不存在時返回的結果為empty.         看下面的程式碼: ? 1 2 Get get = new Get(Bytes.toBytes("100")); get.addC

數據庫常用授權授權回收參數配置

mariadb標題索引官方幫助常用案例官方幫助 在使用數據庫時必不可少的即是查看help幫助,通過help幫助再次尋找常用命令及參數,如下為help grant信息:MariaDB [(none)]> help grant; Name: 'GRANT' Description: S

總結下常用js中的小語法技巧

時間格式 方法 ext 正則 span 指定 匹配 對象 ole 1,數組對象遍歷 對一個級數對象進行遍歷,取出每個值 var arr={ "result":[ {"time":"2018-10-24 12:12:12"}

Jenkins系列之Jenkins配置常用工具如何下載外掛

上一篇我們介紹了Jenkins的安裝,這一篇我們介紹如何配置Jenkins的工具和如何下載外掛。 首先我們先來看如何配置工具,這裡的工具是指JDK、Ant、Maven、Git等。 1.點選系統管理,如圖:   2.點選Global Tool Co

Nginx的訪問控制_access_module配置語法原理

Nginx的訪問控制_access_module配置語法和原理 1、http_access_module詳解 (1)http_access_module作用        --with-http_access_module:基於IP的訪問控制

git常用指令ignore的配置方法

轉載至轉載請標明:http://blog.csdn.net/zxyudia/article/details/67633321 要很好的掌握Git,先要明白四個名詞概念: Workspace(工作區):新新增的,和修改的未add操作的。 Stage(暫存區):add操作過後,會進入暫

HBase 叢集搭建高可用配置

HBase叢集建立在hadoop叢集基礎之上,所以在搭建HBase叢集之前需要把Hadoop叢集搭建起來,並且要考慮二者的相容性.現在就以3臺機器為例,搭建一個簡單的叢集. 1.進入hbase的配置目錄,在hbase-env.sh檔案裡面加入java環境變數.即: JAVA_HOME=exp

Java學習筆記(一)--常用的DOS命令 JDK的下載安裝 配置path環境變數

常用的DOS命令 1.碟符切換 碟符:然後回車。 2.列出當前檔案及資料夾 dir 然後回車 3.建立目錄 md 目錄名稱 4.刪除目錄 rd 目錄名稱 5.進入指定目錄 -單集目錄

JdbcTemplate的常用方法配置方法

配置方法 spring注入DataSource public class JdbcCorporateEventDao implements CorporateEventDao { private JdbcTemplate jdbcTempl

總結一些js常用方法語法

1.document.write(""); 輸出語句2.JS中的註釋為//3.傳統的HTML文件順序是:document->html->(head,body)4.一個瀏覽器視窗中的DOM順序是:window->(navigator,screen,histo

hbase shell基礎常用命令詳解(轉)

hbase提供了一個shell的終端給使用者互動。使用命令hbase shell進入命令介面。通過執行 help可以看到命令的幫助資訊。 以網上的一個學生成績表的例子來演示hbase的用法。 name grad course math art Tom 5 97 87 Jim 4 8

Jmeter- Beanshell語法常用內建物件

1:Beanshell的基本語法1.1:Beanshell的For迴圈與集合String a = "aaa";int b = 111;List list  = new ArrayList();//list集合只能儲存String型別list.add(a);list.add(b

逆天通用水印擴充套件篇~新增剪貼簿系列的功能手動配置,卸除原基礎不常用的功能

using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Text; using WaterMarkAPP.Enums; using WaterMarkAPP.

Hbase基礎語法學習總結

2018-06-12更新:HBase抽數過程中\t對資料插入Hive的影響。Ctrl + backspace 是刪除,單出的Backspace是無效的;Hbase中都是字串,沒有其他型別;List:列出所有表格;Scan tablename:瀏覽表,Hbase預設是儲存三個版

js常用判斷語法

js設置 modal coo 輸入框 sel red tag url void 1.js獲取選中的redio元素 var version = $(‘.version input[name="input1"]:checked‘).val();//單選框默認選中<inp

前端開發 sublime text 常用外掛配置

前端開發sublimeconfig mac配置 此檔案目錄中檔案主要是關於sublime的外掛配置,快捷鍵配置,主題和字型配置。 外掛列表 所有外掛都可以使用Package Control安裝,具體的安裝方法可以自行谷歌安裝,不在本文的介紹範圍之