1. 程式人生 > >HBase安裝配置以及Java操作hbase

HBase安裝配置以及Java操作hbase

Apache HBase

  • Apache HBase™是Hadoop資料庫,是一個分散式,可擴充套件的大資料儲存。
  • 當您需要對大資料進行隨機,實時讀/寫訪問時,請使用Apache HBase™。該專案的目標是託管非常大的表 - 數十億行X百萬列 - 在商品硬體叢集上。Apache HBase是一個開源的,分散式的,版本化的非關係資料庫

特徵

  • 線性和模組化可擴充套件性。
  • 嚴格一致的讀寫操作。
  • 表的自動和可配置分片
  • RegionServers之間的自動故障轉移支援。
  • 方便的基類,用於使用Apache HBase表支援Hadoop MapReduce作業。
  • 易於使用的Java API,用於客戶端訪問。
  • 阻止快取和布隆過濾器以進行實時查詢。
  • 查詢謂詞通過伺服器端過濾器下推
  • Thrift閘道器和REST-ful Web服務,支援XML,Protobuf和二進位制資料編碼選項
  • 可擴充套件的基於jruby(JIRB)的外殼
  • 支援通過Hadoop指標子系統將指標匯出到檔案或Ganglia; 或通過JMX

安裝 獨立HBase

HBase要求安裝JDK。有關支援的JDK版本的資訊
輸入圖片說明

從此Apache下載映象列表中選擇一個下載站點。單擊建議的頂部連結。這將帶您進入HBase版本的映象。單擊名為stable的資料夾,然後將以.tar.gz結尾的二進位制檔案下載到本地檔案系統。暫時不要下載以src.tar.gz結尾的檔案。

解壓縮下載的檔案,然後切換到新建立的目錄。

$ tar -xzvf hbase-1.2.6.1-bin.tar.gz

為HBase設定Java目錄,並從conf資料夾開啟hbase-env.sh檔案。編輯JAVA_HOME環境變數,改變路徑到當前JAVA_HOME變數

#編輯/home/hbase-1.2.6.1/conf/hbase-env.sh
#配置hbase-env.sh檔案:把29行的註釋取消,配置虛擬機器上面的Java地址
export JAVA_HOME=/usr/local/java/jdk1.7.0_79

編輯conf/hbase-site.xml,這是主要的HBase配置檔案

<configuration>
    <property>
    <!--  配置hbase存在位置-->
        <name>hbase.rootdir</name>
        <value>file:///home/pflm/HBase/HFiles</value>
      </property>
      <property>
        <!--  配置hbase檔案儲存路徑-->
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/pflm/HBase/zookeeper</value>
      </property>
</configuration>

到此 HBase 的安裝配置已成功完成。可以通過使用 HBase 的 bin 資料夾中提供 start-hbase.sh 指令碼啟動 HBase

$ ./bin/start-hbase.sh

執行HBase啟動指令碼,它會提示一條訊息:HBase has started

starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out
  • 該./start-hbase.sh指令碼是作為啟動HBase的一種便捷方式。發出命令,如果一切順利,將在標準輸出中記錄一條訊息,顯示HBase已成功啟動。您可以使用該jps命令驗證是否有一個正在執行的程序HMaster。在獨立模式下,HBase執行此單個JVM中的所有守護程式,即HMaster,單個HRegionServer和ZooKeeper守護程式。轉到http:// localhost:16010以檢視HBase Web UI。

HBase Shell

要訪問HBase shell,必須導航進入到HBase的主資料夾。

#進入shell
/bin/hbase shell

#列出HBase的所有表。
hbase(main):001:0> list
TABLE

通用命令

status: 提供HBase的狀態,例如,伺服器的數量。
version: 提供正在使用HBase版本。
table_help: 表引用命令提供幫助
whoami: 提供有關使用者的資訊。

HBase在表中操作的命令。

create: 建立一個表。
list: 列出HBase的所有表。
disable: 禁用表。
is_disabled: 驗證表是否被禁用。
enable: 啟用一個表。
is_enabled: 驗證表是否已啟用。
describe: 提供了一個表的描述。
alter: 改變一個表。
exists: 驗證表是否存在。
drop: 從HBase中刪除表。
drop_all: 丟棄在命令中給出匹配“regex”的表

資料操縱語言

put: 把指定列在指定的行中單元格的值在一個特定的表。
get: 取行或單元格的內容。
delete: 刪除表中的單元格值。
deleteall: 刪除給定行的所有單元格。
scan: 掃描並返回表資料。
count: 計數並返回表中的行的數目。
truncate: 禁用,刪除和重新建立一個指定的表。

解決Java API不能遠端訪問HBase的問題

1、配置Linux的hostname

[root@CentOS124 hbase-1.2.6.1]# vie /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS124   #名字隨便

這裡配置的hostname要Linux重啟才生效,為了不重啟就生效,我們可以執行:hostname CentOS124命令,暫時設定hostname

2、配置Linux的hosts,對映ip的hostname的關係

#對映ip的hostname的關係
[root@CentOS124 hbase-1.2.6.1]# vim /etc/host

#檢視hbase ip繫結是否成功
[root@CentOS124 hbase-1.2.6.1]# netstat -anp|grep 16010

輸入圖片說明

3、配置訪問windows的hosts

#hbase
192.168.10.124  CentOS124

Java 操作遠端hbase

public class HbaseTest {
    public static  Connection connection;
    public static Configuration configuration; 
    static { 

        configuration = HBaseConfiguration.create(); 
        // 設定連線引數:HBase資料庫使用的埠
        configuration.set("hbase.zookeeper.property.clientPort", "2181"); 
        // 設定連線引數:HBase資料庫所在的主機IP
        configuration.set("hbase.zookeeper.quorum", "192.168.10.124"); 
        // configuration.addResource("hbase-site.xml");
        try {
             // 取得一個數據庫連線物件
            connection = ConnectionFactory.createConnection(configuration);
        } catch (IOException e) {
            e.printStackTrace();
        }

    } 
    public static void main(String[] args) throws Exception {
        createTable("gazw", "id","name");
//      deleteTable("gazw");
    }

    public static void createTable(String tableName,String... cf1) throws IOException { 
        Admin admin = connection.getAdmin();
        //HTD需要TableName型別的tableName,建立TableName型別的tableName
        TableName tbName = TableName.valueOf(tableName);
        //判斷表述否已存在,不存在則建立表
        if(admin.tableExists(tbName)){
            System.err.println("表" + tableName + "已存在!");
            return;
        }
        //通過HTableDescriptor建立一個HTableDescriptor將表的描述傳到createTable引數中
        HTableDescriptor HTD = new HTableDescriptor(tbName);
        //為描述器新增表的詳細引數
        for(String cf : cf1){
            // 建立HColumnDescriptor物件新增表的詳細的描述
            HColumnDescriptor HCD =new HColumnDescriptor(cf);
            HTD.addFamily(HCD);
        }
        //呼叫createtable方法建立表
        admin.createTable(HTD);
        System.out.println("建立成功");
    } 
}

相關推薦

HBase安裝配置以及Java操作hbase

Apache HBase Apache HBase™是Hadoop資料庫,是一個分散式,可擴充套件的大資料儲存。 當您需要對大資料進行隨機,實時讀/寫訪問時,請使用Apache HBase™。該專案的目標是託管非常大的表 - 數十億行X百萬列 - 在商品硬體

mongoDB的安裝使用,以及java操作

mongo作為nosql的一種,使用範圍還是很廣泛的,應用場景也很多,   ● 網站資料:Mongo 非常適合實時的插入,更新與查詢,並具備網站實時資料儲存所需的複製及高度伸縮性。 ● 快取:由於效能很高,Mongo 也適合作為資訊基礎設施的快取層。在系統重啟之後,由Mongo

spark集群配置以及java操作spark小demo

cal 訪問 java_home uil 自己 操作 1.7 其他 @override spark 安裝 配置 使用java來操作spark spark 安裝 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4

java 操作 hbase ,zookeeper總是讀取localhost 不讀取配置hbase.zookeeper.quorum

今天用Java操作HBASE時一直連線不上HBASE,發現連線的是localhost:2181 2018-12-15 15:29:03,643 INFO org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.() - Pro

Java操作Hbase進行建表、刪表以及對資料進行增刪改查,條件查詢

1、搭建環境   新建JAVA專案,新增的包有:    有關Hadoop的hadoop-core-0.20.204.0.jar    有關Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase資源包中li

Java操作Hbase增刪改查(附帶複合條件查詢以及分頁查詢)

  最近專案中用到了Hbase,所以看了下Java操作Hbase的有關API,並根據專案中的需求寫了下增刪改查。閒話少說,先貼原始碼: package com.infobird.test1; import java.io.IOException; import java

【匯總】 HBase 安裝配置

soft fig hbase安裝 family 整合 org 文檔 參數 mar HBase 默認配置 Centos6.5下Hbase配置 官網配置文檔:http://hbase.apache.org/book.html#_configuration_files 中文

hbase 安裝配置

href dir 快照 -c 持久 安裝目錄 core scp 解壓 hbase 安裝 我這裏 用的是 CentOS-6.5-x86_64 的linux系統;hbase 用的是 hbase-0.99.2-bin.tar.gz 版本;用的 vm虛擬機 和 CRT 終端軟件。我

mongodb安裝配置以及其他基礎操作

mongodb最近公司有個項目要用mongodb,之前沒搞過,今天臨時磨刀上陣,花了半天時間研究,中間有遇到幾個坑寫出來分享給大家。tar -zxf mongodb-linux-x86_64-v3.6.3.tgzcp -pr mongodb-linux-x86_64-v3.6.3 /usr/local/mon

Java操作HBase簡單操作學生成績資訊表

雲端計算實驗,記錄備忘 建立以下內容的表格並實現要求的操作 (1)將表中的內容新增到表中,並顯示出來。 (2)顯示姓名為 zhang 的同學的所有相關記錄。 (3)刪除姓名為 zhang 的同學在 english 課程中的成績,並顯示刪除之後 zhang同學的相關記錄。

Linux入門總結——虛擬機安裝配置以及vim簡單操作

路徑 con 後繼 更新 功能 繼續 共享文件 hive 文件訪問 安裝配置ubuntu 安裝準備 vittualbox-5.2.22版本(win10) ubuntu-12.04 安裝VirtualBox 1.雙擊VirtualBox-5.2.2-119230-Win,默認

使用java操作Hbase資料庫

 pom.xml中引入hbase依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt

HBase安裝配置,使用獨立zookeeper

1.HBase安裝配置,使用獨立zookeeper 2.修改環境變數:第一臺機器規劃為master, 第二臺機器為RegionServer,再在第一臺機器上啟動RegionServer製作一個叢集1 master2 RegionServer 在機器上執行:vi /etc/profile,新增如下內容:ex

Zookeeper + Hbase安裝配置

一、Zookeeper安裝配置 叢集上部署Zookeeper最好使用奇數臺機器,這樣如果有5臺機器,只要3臺正常工作則服務將正常。在目前的實際生產環境中,一個Hadoop叢集最多有三臺節點做備用master,即並不是所有節點都安裝ZooKeeper;如果以實驗

Linux入門總結——虛擬機器安裝配置以及vim簡單操作

安裝配置ubuntu 安裝準備 vittualbox-5.2.22版本(win10) ubuntu-12.04 安裝VirtualBox 1.雙擊VirtualBox-5.2.2-119230-Win,預設安裝。 2.新建—》名稱ubuntu(可自定) 型別:linux 版本:ubuntu64/ubuntu3

如何安裝配置SQuirrel sql連線HBase資料庫

1.官網下載.jar安裝包 https://sourceforge.net/projects/squirrel-sql/ 比如,本文下載的此版本的安裝包,檔名如下: squirrel-sql-snapshot-20180226_2207-standard.

Linux下Hbase安裝配置

HBase – Hadoop Database,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。經常被描述為一種稀疏的,分散式的,持久化的,多維有序對映,它基於行鍵、列鍵和時間戳建立索引,是一個可以隨機訪問的儲

hbase安裝配置(整合到hadoop)

1.快速單機安裝: 在單機安裝Hbase的方法。會引導你通過shell建立一個表,插入一行,然後刪除它,最後停止Hbase。只要10分鐘就可以完成以下的操作。 1.1下載解壓最新版本 $ tar xfz hbase-0.90.4.tar.gz $ cd hbase-0.

Mybatis學習第一天——Mybatis的安裝配置以及基本CURD操作

1.Mybatis下載  Mybatis是開源的持久層框架,能夠度jdbc進行簡單的封裝,但其並不是完全的ORM(Object Relational Mapping,物件關係對映),無法脫離資料庫進行適配。目前Mybatis能夠在githup上直接下載:https://github.com/mybatis/m

Java操作HBase資料庫

前幾天被這個搞得心力交瘁,特寫一篇部落格給和我學習中遇到同樣問題的同學們參考。一、環境準備與安裝(這個在另一篇部落格)主機環境:win10虛擬機器軟體:VMware-workstation-full-14.0.0.24051JDK:jdk-8u161-linux-x64Had