99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

快速啟動(dòng)HBase

2020-09-30 11:19 更新

HBase 入門——獨(dú)立式HBase

在本節(jié)中,你將首先學(xué)習(xí)單節(jié)點(diǎn)、獨(dú)立的HBase的設(shè)置,并且學(xué)會(huì)運(yùn)行單節(jié)點(diǎn)、獨(dú)立的HBase實(shí)例!

在一個(gè)獨(dú)立的HBase實(shí)例中,它具有所有的HBase系統(tǒng)服務(wù)程序:Master、RegionServers 和 ZooKeeper(在一個(gè)持續(xù)到本地文件系統(tǒng)的單一 JVM 中運(yùn)行)。這是我們最基本的部署配置文件。我們將向您展示如何使用 HBase shell CLI 在 HBase 中創(chuàng)建表,在表中插入行,對(duì)表執(zhí)行放置和掃描操作,啟用或禁用表,以及啟動(dòng)和停止 HBase。除了下載 HBase,只要10分鐘就可以完成以下的操作。

注意:在HBase 0.94.x之前,HBase預(yù)計(jì)環(huán)回IP地址為127.0.0.1。Ubuntu和其他一些發(fā)行版默認(rèn)為127.0.1.1,這會(huì)給你帶來問題。請(qǐng)參閱為什么HBase關(guān)心/ etc / hosts?為細(xì)節(jié)

以下/etc/hosts文件可以在Ubuntu的HBase 0.94.x及更早版本上正確運(yùn)行。如果遇到麻煩,請(qǐng)將其作為模板使用。

127.0.0.1 localhost
ubuntu.ubuntu-domain Ubuntu下的127.0.0.1

這個(gè)問題已經(jīng)在hbase-0.96.0及更高版本中得到修復(fù)。

JDK版本要求

HBase要求安裝JDK。

HBase下載與啟動(dòng)

選擇一個(gè)Apache 下載鏡像,下載 HBase Releases。點(diǎn)擊stable目錄,然后下載后綴為.tar.gz的二進(jìn)制文件到你的到本地文件系統(tǒng);例如 hbase-0.95-SNAPSHOT.tar.gz。

解壓下載的文件,然后進(jìn)入到那個(gè)要解壓的目錄。

$ tar xfz hbase-0.95-SNAPSHOT.tar.gz
$ cd hbase-0.95-SNAPSHOT

在你啟動(dòng)HBase之前,需要先設(shè)置 JAVA_HOME 環(huán)境變量。您可以通過操作系統(tǒng)的常規(guī)機(jī)制來設(shè)置變量,但HBase提供了一個(gè)中心機(jī)制 conf/hbase-env.sh,編輯此文件,取消注釋以下行JAVA_HOME,并將其設(shè)置為您的操作系統(tǒng)的適當(dāng)位置,JAVA_HOME 變量應(yīng)設(shè)置為包含可執(zhí)行文件 bin/JAVA 的目錄。大多數(shù)現(xiàn)代 Linux 操作系統(tǒng)都提供了一種機(jī)制,例如在 RHEL 或 CentOS 上的替代方法,用于在 Java 等可執(zhí)行版本之間進(jìn)行透明切換。在這種情況下,您可以將 JAVA_HOME 設(shè)置為包含指向 bin/JAVA 的符號(hào)鏈接的目錄,這通常是:/usr。

JAVA_HOME = / USR

編輯conf/hbase-site.xml,這是HBase的主要配置文件。此時(shí),您只需要在HBase和ZooKeeper寫入數(shù)據(jù)的本地文件系統(tǒng)上指定目錄即可。默認(rèn)情況下,在/tmp下創(chuàng)建一個(gè)新目錄。許多服務(wù)器被配置為在重啟時(shí)刪除/tmp的內(nèi)容,所以你應(yīng)該在其他地方存儲(chǔ)數(shù)據(jù)。以下配置將把HBase的數(shù)據(jù)存儲(chǔ)在hbase目錄下的testuser用戶主目錄中。將<property>標(biāo)簽粘貼到標(biāo)簽下<configuration>,在新的HBase安裝中應(yīng)該是空的。

獨(dú)立HBase的hbase-site.xml:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/testuser/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/testuser/zookeeper</value>
  </property>
</configuration>

您不需要?jiǎng)?chuàng)建HBase數(shù)據(jù)目錄,HBase會(huì)為你做這個(gè)。

注意:上述示例中的hbase.rootdir指向本地文件系統(tǒng)中的一個(gè)目錄。'file:/'前綴是我們?nèi)绾伪硎颈镜匚募到y(tǒng)。要在現(xiàn)有的HDFS實(shí)例上安裝HBase,請(qǐng)將hbase.rootdir設(shè)置為指向您實(shí)例上的目錄:例如,hdfs://namenode.example.org:8020/hbase。有關(guān)更多信息,請(qǐng)參見下面關(guān)于獨(dú)立 HBase HDFS 的部分。

提供了bin/start-hbase.sh腳本來方便的啟動(dòng)HBase。發(fā)出命令,如果一切正常,則會(huì)將消息記錄到標(biāo)準(zhǔn)輸出,顯示HBase已成功啟動(dòng)。您可以使用該jps命令來驗(yàn)證您是否有一個(gè)名為 HMaster 的正在運(yùn)行的進(jìn)程。在獨(dú)立模式下,HBase在單個(gè)JVM中運(yùn)行所有守護(hù)進(jìn)程,即HMaster,單個(gè)HRegionServer和ZooKeeper守護(hù)進(jìn)程。

為此,打開HBase主文件夾,然后運(yùn)行HBase啟動(dòng)腳本,如下所示:

$cd /usr/local/HBase/bin
$./start-hbase.sh

如果一切順利,當(dāng)運(yùn)行HBase啟動(dòng)腳本,它會(huì)提示一條消息:HBase已經(jīng)啟動(dòng)

starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out

提示:Java需要安裝并可用。如果您得到一個(gè)錯(cuò)誤,指示Java未安裝,但它位于您的系統(tǒng)上(可能位于非標(biāo)準(zhǔn)位置),請(qǐng)編輯conf / hbase-env.sh文件,并將該JAVA_HOME設(shè)置修改為指向包含在你的系統(tǒng)上的bin/Java。

shell練習(xí)——首次使用HBase

  1. 連接到HBase。使用HBase shell命令連接到您的 HBase 運(yùn)行實(shí)例,位于HBase安裝的bin /目錄中。在本例中,省略了啟動(dòng)HBase Shell時(shí)打印的一些用法和版本信息。
    $ ./bin/hbase shell
    hbase(main):001:0>
  2. 顯示HBase Shell幫助文本。鍵入“help”并按“Enter”,以顯示HBase Shell的一些基本用法信息以及幾個(gè)示例命令。請(qǐng)注意,表名、行、列都必須用引號(hào)字符括起來。
  3. 創(chuàng)建一個(gè)表。使用該“create”命令來創(chuàng)建一個(gè)新的表。您必須指定表名稱和ColumnFamily名稱。
    hbase(main):001:0> create 'test', 'cf'
    0 row(s) in 0.4170 seconds
    
    => Hbase::Table - test
  4. 列出關(guān)于您的表的信息,通過使用“l(fā)ist”命令來實(shí)現(xiàn):
    hbase(main):002:0> list 'test'
    TABLE
    test
    1 row(s) in 0.0180 seconds
    
    => ["test"]
  5. 把數(shù)據(jù)放到你的表中。要將數(shù)據(jù)放入表中,請(qǐng)使用該“put”命令。
    hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
    0 row(s) in 0.0850 seconds
    
    hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
    0 row(s) in 0.0110 seconds
    
    hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3' 
    0 row(s) in 0.0100 seconds
    
    在這里,我們插入三個(gè)值,一次一個(gè)。第一個(gè)插入是在row1,列cf:a,值為value1。HBase 中的列由列族前綴組成,在此示例中為cf,后跟一個(gè)冒號(hào),然后是一個(gè)列限定符后綴(在本例中為 a)。
  6. 一次掃描表中的所有數(shù)據(jù)。從HBase獲取數(shù)據(jù)的方法之一是掃描。使用該“scan”命令掃描表中的數(shù)據(jù)。你可以限制你的掃描,但現(xiàn)在,所有的數(shù)據(jù)都被提取。
    hbase(main):006:0> scan 'test'
    ROW                                      COLUMN+CELL
     row1                                    column=cf:a, timestamp=1421762485768, value=value1
     row2                                    column=cf:b, timestamp=1421762491785, value=value2
     row3                                    column=cf:c, timestamp=1421762496210, value=value3
    3 row(s) in 0.0230 seconds
  7. 獲取一行的數(shù)據(jù)。要一次獲取一行數(shù)據(jù),請(qǐng)使用該“get”命令。
    hbase(main):007:0> get 'test', 'row1'
    COLUMN                                   CELL
     cf:a                                    timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds
  8. 禁用表格。如果您想刪除表格或更改其設(shè)置以及其他一些情況,則需要先使用“disable”命令禁用表格。您可以使用該“enable”命令重新啟用它。
    hbase(main):008:0> disable 'test'
    0 row(s) in 1.1820 seconds
    
    hbase(main):009:0> enable 'test' 
    0 row(s) in 0.1770 seconds
    
    如果您測(cè)試了上面的“enable”命令,請(qǐng)?jiān)俅谓帽砀瘢?pre lang="javascript">hbase(main):010:0> disable 'test' 0 row(s) in 1.1820 seconds
  9. 刪除表。要?jiǎng)h除表,請(qǐng)使用該“drop”命令。


    hbase(main):011:0> drop 'test'
    0 row(s) in 0.1370 seconds
  10. 退出 HBase Shell。要退出HBase Shell并斷開與群集的連接,請(qǐng)使用該“quit”命令。HBase仍然在后臺(tái)運(yùn)行。

停止HBase

  1. 與提供bin / start-hbase.sh腳本以便方便地啟動(dòng)所有HBase守護(hù)進(jìn)程相同,你可以使用bin/stop-hbase.sh腳本停止它們。
    $ ./bin/stop-hbase.sh
    stopping hbase....................
    $
  2. 發(fā)出命令后,進(jìn)程關(guān)閉可能需要幾分鐘的時(shí)間。使用jps要確保HMASTER和HRegionServer進(jìn)程被關(guān)閉。

以上向您展示了如何啟動(dòng)和停止一個(gè)獨(dú)立的HBase實(shí)例。在接下來的部分中,我們將簡(jiǎn)要介紹一下HBase部署的其他模式。

在偽分布式模式安裝HBase

在通過快速啟動(dòng)HBase的獨(dú)立模式工作之后,您可以重新配置HBase以偽分布式模式運(yùn)行。偽分布模式意味著HBase仍然在單個(gè)主機(jī)上完全運(yùn)行,但是每個(gè)HBase守護(hù)進(jìn)程(HMaster,HRegionServer和ZooKeeper)作為一個(gè)單獨(dú)的進(jìn)程運(yùn)行:在獨(dú)立模式下,所有守護(hù)進(jìn)程都運(yùn)行在一個(gè)jvm進(jìn)程/實(shí)例中。默認(rèn)情況下,除非按照快速啟動(dòng)HBase的獨(dú)立模式中所述配置hbase.rootdir屬性,否則您的數(shù)據(jù)仍存儲(chǔ)在/tmp/中。在本演練中,我們將數(shù)據(jù)存儲(chǔ)在HDFS中,假設(shè)您有HDFS可用。您可以跳過HDFS配置,繼續(xù)將數(shù)據(jù)存儲(chǔ)在本地文件系統(tǒng)中。

Hadoop配置

此過程假定您已在本地系統(tǒng)或遠(yuǎn)程系統(tǒng)上配置Hadoop和HDFS,并且它們正在運(yùn)行且可用。它還假定您正在使用Hadoop 2。

  1. 請(qǐng)停止HBase,如果它正在運(yùn)行。如果剛剛完成快速啟動(dòng)HBase的獨(dú)立模式并且HBase仍在運(yùn)行,請(qǐng)停止它。這個(gè)過程將創(chuàng)建一個(gè)全新的目錄,HBase將存儲(chǔ)它的數(shù)據(jù),所以你之前創(chuàng)建的任何數(shù)據(jù)庫都將丟失。
  2. 配置HBase。編輯hbase-site.xml配置。首先,添加以下指示HBase以分布式模式運(yùn)行的屬性,每個(gè)守護(hù)進(jìn)程有一個(gè)JVM實(shí)例。
    <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value> 
    </property>
    
    接下來,將 hbase rootdir 從本地文件系統(tǒng)更改為您的 HDFS 實(shí)例的地址,使用 HDFS:////或 URI 語法。在這個(gè)例子中,HDFS在端口8020的本地主機(jī)上運(yùn)行。
    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://localhost:8020/hbase</value> 
    </property>
    
    您不需要在HDFS中創(chuàng)建目錄。HBase會(huì)為你做這個(gè)。如果你創(chuàng)建了這個(gè)目錄,HBase會(huì)試圖做一個(gè)遷移,這不是你想要的。
  3. 啟動(dòng) HBase。使用bin/start-hbase.sh命令啟動(dòng)HBase。如果您的系統(tǒng)配置正確,該jps命令應(yīng)顯示HMaster和HRegionServer進(jìn)程正在運(yùn)行。
  4. 檢查HDFS中的HBase目錄。如果一切正常,HBase在HDFS中創(chuàng)建它的目錄。在上面的配置中,它存儲(chǔ)在HDFS上的/hbase/中。您可以使用 hadoop 的 bin/目錄中的 hadoop fs 命令來列出此目錄。
    $ ./bin/hadoop fs -ls /hbase
    Found 7 items
    drwxr-xr-x   - hbase users          0 2014-06-25 18:58 /hbase/.tmp
    drwxr-xr-x   - hbase users          0 2014-06-25 21:49 /hbase/WALs
    drwxr-xr-x   - hbase users          0 2014-06-25 18:48 /hbase/corrupt
    drwxr-xr-x   - hbase users          0 2014-06-25 18:58 /hbase/data
    -rw-r--r--   3 hbase users         42 2014-06-25 18:41 /hbase/hbase.id
    -rw-r--r--   3 hbase users          7 2014-06-25 18:41 /hbase/hbase.version
    drwxr-xr-x   - hbase users          0 2014-06-25 21:49 /hbase/oldWALs
  5. 創(chuàng)建一個(gè)表并使用數(shù)據(jù)填充它。您可以使用HBase Shell創(chuàng)建一個(gè)表,使用數(shù)據(jù)填充它,使用與shell練習(xí)中相同的步驟掃描并從中獲取值。
  6. 啟動(dòng)和停止備份HBase主(HMaster)服務(wù)器。
    注意:在同一個(gè)硬件上運(yùn)行多個(gè)HMaster實(shí)例在生產(chǎn)環(huán)境中是沒有意義的,就像運(yùn)行偽分布式集群對(duì)于生產(chǎn)沒有意義一樣。此步驟僅供測(cè)試和學(xué)習(xí)之用。

    HMaster服務(wù)器控制HBase集群。你可以啟動(dòng)最多9個(gè)備份HMaster服務(wù)器,這個(gè)服務(wù)器總共有10個(gè)HMaster計(jì)算主服務(wù)器。要啟動(dòng)備份HMaster,請(qǐng)使用local-master-backup.sh。對(duì)于要啟動(dòng)的每個(gè)備份主節(jié)點(diǎn),請(qǐng)?zhí)砑右粋€(gè)表示該主節(jié)點(diǎn)的端口偏移量的參數(shù)。每個(gè)HMaster使用三個(gè)端口(默認(rèn)情況下為16010,16020和16030)。端口偏移量被添加到這些端口,因此使用偏移量2,備份HMaster將使用端口16012,16022和16032。以下命令使用端口:16012/16022/16032,16013/16023/16033和16015/16025/16035啟動(dòng)3個(gè)備份服務(wù)器。

    $ ./bin/local-master-backup.sh start 2 3 5         

    要在不殺死整個(gè)群集的情況下殺死備份主機(jī),則需要查找其進(jìn)程ID(PID)。PID存儲(chǔ)在一個(gè)名為/tmp/hbase-USER-X-master.pid的文件中。該文件的唯一內(nèi)容是PID。您可以使用該kill -9命令來殺死該P(yáng)ID。以下命令將終止具有端口偏移1的主服務(wù)器,但保持群集正在運(yùn)行:

    $ cat /tmp/hbase-testuser-1-master.pid |xargs kill -9
  7. 啟動(dòng)和停止其他RegionServers。HRegionServer按照HMaster的指示管理StoreFiles中的數(shù)據(jù)。通常,一個(gè)HRegionServer在集群中的每個(gè)節(jié)點(diǎn)上運(yùn)行。在同一個(gè)系統(tǒng)上運(yùn)行多個(gè)HRegionServers對(duì)于偽分布式模式下的測(cè)試非常有用。該local-regionservers.sh命令允許您運(yùn)行多個(gè)RegionServer。它以類似的local-master-backup.sh命令的方式工作,因?yàn)槟峁┑拿總€(gè)參數(shù)都代表實(shí)例的端口偏移量。每個(gè)RegionServer需要兩個(gè)端口,默認(rèn)端口是16020和16030。但是,由于HMaster使用默認(rèn)端口,所以其他RegionServers的基本端口不是默認(rèn)端口,而HMaster自從HBase版本1.0.0以來也是RegionServer?;径丝谑?6200和16300。您可以在服務(wù)器上運(yùn)行另外99個(gè)不是HMaster或備份HMaster的RegionServer。以下命令將啟動(dòng)另外四個(gè)RegionServers,它們?cè)趶?6202/16302(基本端口16200/16300加2)開始的順序端口上運(yùn)行。
    $ .bin/local-regionservers.sh start 2 3 4 5            

    要手動(dòng)停止RegionServer,請(qǐng)使用帶有stop參數(shù)和服務(wù)器偏移量的local-regionservers.sh命令停止。

    $ .bin/local-regionservers.sh stop 3
  8. 停止HBase。您可以使用bin/stop-hbase.sh命令以與快速啟動(dòng)獨(dú)立式HBase過程相同的方式停止HBase 。

在完全分布式模式測(cè)試HBase

實(shí)際上,您需要一個(gè)完全分布式的配置來全面測(cè)試HBase,并將其用于實(shí)際場(chǎng)景中。在分布式配置中,集群包含多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)或多個(gè)HBase守護(hù)進(jìn)程。這些包括主要和備份主實(shí)例,多個(gè)ZooKeeper節(jié)點(diǎn)和多個(gè)RegionServer節(jié)點(diǎn)。

此高級(jí)快速入門將兩個(gè)以上的節(jié)點(diǎn)添加到您的群集。架構(gòu)如下:

節(jié)點(diǎn)名稱Master
ZooKeeper
RegionServer

node-a.example.com

沒有

node-b.example.com

備用

node-c.example.com

沒有

這個(gè)快速入門假定每個(gè)節(jié)點(diǎn)都是虛擬機(jī),并且它們都在同一個(gè)網(wǎng)絡(luò)上。它基于之前的快速入門、偽分布式本地安裝,假設(shè)您在該過程中配置的系統(tǒng)是現(xiàn)在node-a。繼續(xù)之前,在node-a停止HBase 。

提示:請(qǐng)確保所有節(jié)點(diǎn)都具有完全的通信訪問權(quán)限,并且沒有任何防火墻規(guī)則可以阻止它們相互交談。如果您看到任何錯(cuò)誤,如no route to host,請(qǐng)檢查您的防火墻。

配置無密碼SSH訪問

node-a需要能夠登錄node-b和node-c(和自己)才能啟動(dòng)守護(hù)進(jìn)程。實(shí)現(xiàn)這一點(diǎn)的最簡(jiǎn)單的方法是在所有主機(jī)上使用相同的用戶名,并配置無密碼的SSH登錄,從node-a到其他的。

  1. 在node-a,生成一個(gè)密鑰對(duì)。以運(yùn)行HBase的用戶身份登錄時(shí),使用以下命令生成SSH密鑰對(duì):
    $ ssh-keygen -t rsa

    如果命令成功,密鑰對(duì)的位置將打印到標(biāo)準(zhǔn)輸出。公鑰的默認(rèn)名稱是id_rsa.pub。

  2. 創(chuàng)建將在其他節(jié)點(diǎn)上保存的共享密鑰的目錄。在node-b和上node-c,以HBase用戶身份登錄,并在用戶主目錄中創(chuàng)建一個(gè).ssh/目錄(如果尚不存在)。如果它已經(jīng)存在,請(qǐng)注意它可能已經(jīng)包含其他鍵。
  3. 將公鑰復(fù)制到其他節(jié)點(diǎn)。通過使用scp或其他一些安全的手段,安全地將公鑰從node-a復(fù)制到每個(gè)節(jié)點(diǎn)。在其他每個(gè)節(jié)點(diǎn)上,創(chuàng)建一個(gè)名為.ssh/authorized_keys的新文件(如果該文件尚不存在),并將id_rsa.pub文件的內(nèi)容附加到該文件的末尾。請(qǐng)注意,你也需要為node-a本身執(zhí)行此項(xiàng)。
    $ cat id_rsa.pub >> ~/.ssh/authorized_keys
  4. 測(cè)試無密碼登錄。如果您正確執(zhí)行了此過程,則node-a在使用相同用戶名從其他任一節(jié)點(diǎn)進(jìn)行SSH連接時(shí),不應(yīng)提示您輸入密碼。
  5. 由于node-b將運(yùn)行備份主機(jī),請(qǐng)重復(fù)上述過程,在你看到node-a的任何地方替換node-b。請(qǐng)確保不要覆蓋現(xiàn)有的.ssh / authorized_keys文件,而是使用>>運(yùn)算符,而不是>運(yùn)算符將新密鑰連接到現(xiàn)有文件。

準(zhǔn)備 node-a

node-a將運(yùn)行您的主要主服務(wù)器和ZooKeeper進(jìn)程,但不運(yùn)行RegionServers。從node-a停止啟動(dòng)RegionServer。

  1. 編輯conf/regionservers并刪除包含localhost的行。為node-b和node-c加入具有主機(jī)名或IP地址線。即使你想在node-a運(yùn)行一個(gè)RegionServer,你也應(yīng)該用其他服務(wù)器用來與之通信的主機(jī)名來引用它。在這種情況下,那將是node-a.example.com。這使您可以將配置分發(fā)給群集中的每個(gè)節(jié)點(diǎn),而不會(huì)造成任何主機(jī)名沖突。保存文件。
  2. 配置HBase以將node-b作為備份主機(jī)。在conf/調(diào)用backup-masters中創(chuàng)建一個(gè)新文件,并添加一個(gè)新的行,其中的主機(jī)名為node-b。在這個(gè)演示中,主機(jī)名是node-b.example.com。
  3. 配置ZooKeeper。實(shí)際上,你應(yīng)該仔細(xì)考慮你的ZooKeeper配置。您可以在zookeeper部分找到更多關(guān)于配置ZooKeeper的信息。這個(gè)配置將指示HBase在集群的每個(gè)節(jié)點(diǎn)上啟動(dòng)和管理一個(gè)ZooKeeper實(shí)例。在node-a上,編輯conf/hbase-site.xml并添加下列屬性。
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>node-a.example.com,node-b.example.com,node-c.example.com</value>
    </property>
    <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/usr/local/zookeeper</value>
    </property>
  4. 在您的配置中,您已經(jīng)將node-a作為localhost引用,將引用改為指向其他節(jié)點(diǎn)用來引用node-a的主機(jī)名。在這些例子中,主機(jī)名是node-a.example.com。

準(zhǔn)備 node-b 和 node-c

node-b 將運(yùn)行一個(gè)備份主服務(wù)器和一個(gè)ZooKeeper實(shí)例。

  1. 下載并解壓HBase。將HBase下載并解壓到node-b,就像您為獨(dú)立和偽分布式快速入門所操作的一樣。
  2. 將配置文件從node-a復(fù)制到node-b和node-c。您的群集的每個(gè)節(jié)點(diǎn)都需要具有相同的配置信息。將conf /目錄下的內(nèi)容復(fù)制到node-b和node-c上的conf /目錄中。

啟動(dòng)并測(cè)試群集

  1. 確保HBase沒有在任何節(jié)點(diǎn)上運(yùn)行。如果您在之前的測(cè)試中忘記停止HBase,您將會(huì)遇到錯(cuò)誤。通過使用該jps命令檢查HBase是否在任何節(jié)點(diǎn)上運(yùn)行。尋找HMaster,HRegionServer和HQuorumPeer的進(jìn)程。如果他們存在,刪除他們。
  2. 啟動(dòng)群集。在node-a,發(fā)出start-hbase.sh命令。您的輸出將類似于下面的輸出。
    $ bin/start-hbase.sh
    node-c.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-c.example.com.out
    node-a.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-a.example.com.out
    node-b.example.com: starting zookeeper, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-b.example.com.out
    starting master, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-node-a.example.com.out
    node-c.example.com: starting regionserver, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-c.example.com.out
    node-b.example.com: starting regionserver, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-b.example.com.out 
    node-b.example.com: starting master, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-nodeb.example.com.out
    
    ZooKeeper首先啟動(dòng),然后是master,然后是RegionServers,最后是backup masters。
  3. 驗(yàn)證進(jìn)程是否正在運(yùn)行。在群集的每個(gè)節(jié)點(diǎn)上,運(yùn)行該jps命令并驗(yàn)證每臺(tái)服務(wù)器上是否運(yùn)行了正確的進(jìn)程。如果用于其他用途,您可能會(huì)看到在您的服務(wù)器上運(yùn)行的其他Java進(jìn)程。

    例子:node-a jps輸出:

    $ jps
    20355 Jps
    20071 HQuorumPeer 
    20137 HMaster
    
    示例:node-b jps輸出:
    $ jps
    15930 HRegionServer
    16194 Jps
    15838 HQuorumPeer 
    16010 HMaster
    
    例子:node-c jps輸出:
    $ jps
    13901 Jps
    13639 HQuorumPeer 
    13737 HRegionServer
    
    ZooKeeper進(jìn)程名稱這個(gè)HQuorumPeer過程是一個(gè)由HBase控制和啟動(dòng)的ZooKeeper實(shí)例。如果以這種方式使用ZooKeeper,則每個(gè)群集節(jié)點(diǎn)僅限于一個(gè)實(shí)例,并且僅適用于測(cè)試。如果ZooKeeper在HBase之外運(yùn)行,則調(diào)用該進(jìn)程QuorumPeer。
  4. 瀏覽到Web UI。Web UI端口更改Web UI端口更改在 HBase 更新的0.98.x 中,HBase Web UI使用的HTTP端口從主服務(wù)器的60010和每個(gè)RegionServer的60030變?yōu)橹鞣?wù)器的16010和RegionServer的16030。如果一切設(shè)置正確,您應(yīng)該能夠使用Web瀏覽器連接到Master(http://node-a.example.com:16010/)或Secondary Master的UI(http://node-b.example.com:16010/)。如果您可以通過localhost而不是從另一臺(tái)主機(jī)連接,請(qǐng)檢查您的防火墻規(guī)則。您可以在端口16030的IP地址中查看每個(gè)RegionServers的Web UI,也可以通過單擊Master的Web UI中的鏈接來查看。
  5. 測(cè)試節(jié)點(diǎn)或服務(wù)消失時(shí)會(huì)發(fā)生什么。在配置了三節(jié)點(diǎn)群集后,事情不會(huì)很有彈性。您仍然可以通過關(guān)閉進(jìn)程并查看日志來測(cè)試主Master或RegionServer的行為。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)