# 入門
> 貢獻者:[xixici](https://github.com/xixici)
1\. 介紹
[快速開始](#quickstart) 會介紹如何運行一個單機版的 Standalone 模式 HBase.
## 2\. 快速開始 - Standalone HBase
本章節介紹了在單機安裝 HBase 的方法。會引導你通過`hbase shell`創建一個表,插入一行,然后執行 put 和 scan 指令,開啟和關閉這張表,開啟和停止 HBase。只要 10 分鐘就可以完成以下的操作。
除了下載 HBase 外,此過程不到 10 分鐘就能完成。
### 2.1\. JDK 版本要求
HBase 要求安裝 JDK。有關支持 JDK 版本的信息,請參閱[Java](#java)。
### 2.2\. HBase 開始
#### 過程:下載、配置和啟動 Standalone HBase
1. 選擇一個[Apache 下載鏡像](https://www.apache.org/dyn/closer.lua/hbase/)。 建議點擊頂部鏈接,進入 _HBase Releases_ 點擊 _stable_ 的文件夾,然后下載將以 _tar.gz_ 結尾的二進制文件到本地。暫時不要下載以 _src.tar.gz_ 結尾的文件。
2. 解壓縮,然后進入到那個要解壓的目錄.
```
$ tar xzvf hbase-3.0.0-SNAPSHOT-bin.tar.gz
$ cd hbase-3.0.0-SNAPSHOT/
```
3. 在啟動 HBase 之前,您需要設置`JAVA_HOME`環境變量。您可以通過操作系統的常用設置來設置變量,HBase 也提供了一個中心機制 _conf/hbase-env.sh_。編輯此文件,取消注釋以`JAVA_HOME`開頭的行,并將其設置為適合您的操作系統的路徑。應將`JAVA_HOME`變量設置為包含可執行文件 _bin/java_ 的目錄。如今,大多數 Linux 操作系統都提供了一種機制,例如 RHEL 或 CentOS 上的/usr/bin/alternatives,可以方便切換環境。在這種情況下,您可以將`JAVA_HOME`設置為包含 _bin/java_ 的符號鏈接的目錄,通常為 _/usr_。
```
JAVA_HOME=/usr
```
4. 編輯 HBase 主配置文件 _conf/hbase-site.xml_.
此時,您需要在本地文件系統上指定 HBase 和 ZooKeeper 數據存儲目錄,并知曉一些風險。默認情況下,HBase 會在/tmp 下創建一個新目錄,但是許多服務為在重新啟動時會刪除 _/tmp_ 的內容,因此您需要將數據存儲在其他位置。以下配置文件處在 _hbase_,名為`testuser`的用戶的主目錄中。首次安裝 HBase 為空,可以將`<property>`標記粘貼在`<configuration>`內。
示例 1\. _hbase-site.xml_ Standalone HBase 配置
```
<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>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description>
Controls whether HBase will check for stream capabilities (hflush/hsync).
Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
with the 'file://' scheme, but be mindful of the NOTE below.
WARNING: Setting this to false blinds you to potential data loss and
inconsistent system state in the event of process and/or node failures. If
HBase is complaining of an inability to use hsync or hflush it's most
likely not a false positive.
</description>
</property>
</configuration>
```
您不需要創建 HBase 數據目錄。 HBase 會自動創建。如果您想要自定義創建目錄,HBase 將嘗試進行遷移 。
> 上例中的 _hbase.rootdir_ 指向 _local filesystem_ 中的目錄。 'file://'前綴是表示本地文件系。您應該將配置示例中的警告牢記在心。在 Standalone 模式下,HBase 利用 Apache Hadoopd 的本地文件存儲。但是這種方式并不能保證 HBase 運行的持久性。這只是適用于于本地開發和測試用例,可以很好的控制集群故障的成本。它不適合生產部署,否則你會丟失數據。
為在 HDFS 上部署 HBase, 可以將 _hbase.rootdir_ 指向如: _hdfs://namenode.example.org:8020/hbase_. 有關此變量的更多用法,可查看章節基于 HDFS 部署 Standalone HBase.
1. 腳本 _bin/start-hbase.sh_ 為啟動 HBase 提供了方便的途徑。執行命令,在標準輸出的日志里可以看到 HBase 啟動成功的消息。你可以使用 `jps` 命令來確認你有一個正在運行的進行 `HMaster`。在 HBase 的 Standalone 模式中,所有的服務都運行在同一 JVM 中,如 HMaster,單例的 HRegionServer 和 ZooKeeper 的守護進程。可以前往 Web UI_[http://localhost:16010](http://localhost:16010)_ 查看 HBase.
> Java 必須安裝且可用. 如果你收到錯誤提示,Java 未安裝,可能 java 位于非標準位置,你可以編輯 _conf/hbase-env.sh_ ,修改 `JAVA_HOME` 路徑,并確保包含 _bin/java_.
#### 過程: 首次使用 HBase
1. 連接 HBase
在 HBase 安裝目錄 _bin/_ 目錄下使用`hbase shell`命令連接正在運行的 HBase 實例。 在下面這個例子中,當你啟動 HBase Shell 并忽略一些用法和版本信息后,HBase Shell 是以字符`>` 結尾。
```
$ ./bin/hbase shell
hbase(main):001:0>
```
2. 預覽 HBase Shell 的幫助文本
輸入`help`并回車, 可以看到 HBase Shell 的基本信息和一些示例命令.請注意,表名,行,列都必須用引號字符括起來。
3. 創建表
使用 `create`創建一個表,你必須執行一個表名和列族名。
```
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds
=> Hbase::Table - test
```
4. 表信息
使用 `list` 查看存在表
```
hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds
=> ["test"]
```
使用 `describe` 查看表細節及配置
```
hbase(main):003:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE =>
'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'f
alse', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE
=> '65536'}
1 row(s)
Took 0.9998 seconds
```
5. 插入數據
使用 `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
```
在這里,我們往`test`表中依次插入了三條數據。首先插入了一條 rowkey 為`row1`、列為`cf:a`、值為`value1`的數據。HBase 中的列是包含列族前綴的,在這個例子中,冒號前的為列 `cf`,冒號后的為列限定符 `a` 。
6. 掃描全部數據
從 HBase 獲取數據的途徑之一就是 `scan` 。使用 scan 命令掃描表數據。你可以對掃描做限制,不過現在,獲取全部的數據。
```
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. 獲取一條數據
使用 `get` 命令一次獲取一條數據。
```
hbase(main):007:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1421762485768, value=value1
1 row(s) in 0.0350 seconds
```
8. 禁用表
如果你想刪除一個表或者改變表的設置,以及一些其他的場景,首先你需要使用 `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
```
Disable the table again if you tested the `enable` command above:
```
hbase(main):010:0> disable 'test'
0 row(s) in 1.1820 seconds
```
9. 刪除表
使用 `drop` 命令刪除一個表。
```
hbase(main):011:0> drop 'test'
0 row(s) in 0.1370 seconds
```
10. 退出 HBase Shell.
使用`quit`命令退出命令行并從集群斷開連接。HBase 仍然在后臺運行。
#### 過程: 停止 HBase
1. 腳本 _bin/start-hbase.sh_ 這個腳本提供了便利的啟動所有 HBase 服務,同樣地, _bin/stop-hbase.sh_ 腳本用來停止所有 HBase 服務。
```
$ ./bin/stop-hbase.sh
stopping hbase....................
$
```
2. 在使用這個命令后,它可能需要過幾分鐘才能停掉服務進程。可以使用 `jps` 確認 HMaster 和 HRegionServer 進程是否關閉。
上面已經向您展示了如何啟動和停止 HBase 的 Standalone 實例。在下一節中,我們將簡要介紹 HBase 其他部署模式。
### 2.3\. 偽分布式 HBase
在[快速開始](#quickstart)小節部署了 Standalone 模式的 HBase 后,您可以重新配置以偽分布式運行。偽分布模式意味著 HBase 仍然在單個主機上完全運行,但是每個 HBase 守護進程(HMaster,HRegionServer 和 ZooKeeper)作為一個單獨的進程運行:在獨立模式下,所有守護進程都運行在一個 jvm 進程/實例中。 默認情況下, 除非你按 [快速開始](#quickstart)更改`hbase.rootdir` 的配置,否則你的數據仍會存儲在 _/tmp/_ 中。假設 HDFS 系統可用,我們將數據存儲在 HDFS 上。 當然,您可以跳過 HDFS 配置,繼續使用本地文件系統。
> Hadoop 配置
>
> 此過程假定已在本地系統或遠程系統上配置 Hadoop 和 HDFS,并且保證正在運行且可用,版本為 Hadoop 2。Hadoop 文檔向導 [配置單節點集群](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html).
1. 停止 HBase
假設你剛剛完成 [快速開始](#quickstart) , Hbase 正在運行, 那么請停止他.這個過程將創建一個全新的目錄,HBase 將存儲它的數據,所以你之前創建的任何數據庫都將丟失。
2. 配置 HBase
編輯 _hbase-site.xml_ . 首先,添加以下指示 HBase 以分布式模式運行的屬性,每個守護進程有一個 JVM 實例
```
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
```
接下來,將 `hbase.rootdir` 從本地文件系統更改為您的 HDFS 實例的地址,使用 `hdfs:////`的 URI 語法。在這個例子中,HDFS 在端口 8020\的本地主機上運行。并確保 `hbase.unsafe.stream.capability.enforce`刪除或為 true.
```
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>
</property>
```
您不需要在 HDFS 中創建目錄。HBase 會為你做這個。如果你要更改目錄,HBase 會試圖遷移。
3. 啟動 HBase
使用 _bin/start-hbase.sh_ 啟動 HBase. 如果您的系統配置正確,該`jps`命令應顯示 HMaster 和 HRegionServer 進程正在運行。
4. 檢查 HDFS 中的 HBase 目錄
如果一切正常,HBase 在 HDFS 中創建它的目錄。在上面的配置中,它存儲在 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. 創建一個表并使用數據填充它
您可以使用 HBase Shell 創建一個表,使用數據填充它,使用與[shell 練習](#shell_exercises)中相同的步驟。
6. 啟動和停止備份 HBase 主(HMaster)服務器
> 在同一個硬件上運行多個 HMaster 實例在生產環境中是沒有意義的,就像運行偽分布式集群對于生產沒有意義一樣。此步驟僅供測試和學習之用。
HMaster 服務器控制 HBase 集群。你可以啟動最多 9 個備份 HMaster 服務器,這個服務器總共有 10 個 HMaster 計算主服務器。使用`local-master-backup.sh`啟動備份 HMaster。對于要啟動的每個備份主節點,請添加一個表示該主節點的端口偏移量的參數。每個 HMaster 使用三個端口(默認情況下為 16010,16020 和 16030)。端口偏移量 2 添加到這些端口,那么備份 HMaster 將使用端口 16012,16022 和 16032。以下命令啟動服務器端口為:16012/16022/16032,16013/16023/16033 和 16015/16025/16035
```
$ ./bin/local-master-backup.sh start 2 3 5
```
要在不殺死整個群集的情況下殺死備份主機,則需要查找其進程 ID(PID)。PID 存儲在一個名為 _/tmp/hbase-USER-X-master.pid_ 的文件中。該文件的唯一內容是 PID。您可以使用該`kill -9`命令來殺死該 PID。以下命令將終止具有端口偏移 1 的主服務器,但保持群集正在運行:
```
$ cat /tmp/hbase-testuser-1-master.pid |xargs kill -9
```
7. 啟動和停止其他 RegionServers
HRegionServer 按照 HMaster 的配置管理 StoreFiles 中的數據。通常,一個 HRegionServer 在集群中的每個節點上運行。在同一個系統上運行多個 HRegionServers 對于偽分布式模式下的測試非常有用。該`local-regionservers.sh`命令允許您運行多個 RegionServer。它以類似的`local-master-backup.sh`命令的方式工作,因為您提供的每個參數都代表實例的端口偏移量。每個 RegionServer 需要兩個端口,默認端口是 16020 和 16030。但是,由于 HMaster 使用默認端口,所以其他 RegionServers 的基本端口不是默認端口,而 HMaster 自從 HBase 版本 1.1.0 以來也是 RegionServer。基本端口是 16200 和 16300。您可以在服務器上運行另外 99 個不是 HMaster 或備份 HMaster 的 RegionServer。以下命令將啟動另外四個 RegionServers,它們在從 16202/16302(基本端口 16200/16300 加 2)開始的順序端口上運行 HBase 從版本 1.1.0 開始, HMaster 不使用 region server 端口, 而為 RegionServers 預留了 10 個端口 (16020 to 16029 and 16030 to 16039). 為支持添加 RegionServers, 在啟動`local-regionservers.sh`之前,需設置 HBASE_RS_BASE_PORT 和 HBASE_RS_INFO_BASE_PORT.例如, 使用基本端口 16200 和 16300。也可以使用另外 99 個端口。 以下命令將啟動另外四個 RegionServers,它們在從 16202/16302(基本端口 16200/16300 加 2)開始的順序端口上運行。
```
$ .bin/local-regionservers.sh start 2 3 4 5
```
要手動停止 RegionServer,請使用帶有`stop`參數和服務器偏移量的`local-regionservers.sh`命令停止。
```
$ .bin/local-regionservers.sh stop 3
```
8. 停止 HBase
您可以使用 _bin/stop-hbase.sh_ 命令以與[快速開始](#quickstart)過程相同的方式停止 HBase 。
### 2.4\. 完全分布式 HBase
實際上,您需要一個完全分布式的配置來全面測試 HBase,并將其用于實際場景中。在分布式配置中,集群包含多個節點,每個節點運行一個或多個 HBase 守護進程。這些包括主要和備份主實例,多個 ZooKeeper 節點和多個 RegionServer 節點。
此高級快速入門將兩個以上的節點添加到您的群集。架構如下:
| Node Name | Master | ZooKeeper | RegionServer |
| ------------------ | ------ | --------- | ------------ |
| node-a.example.com | yes | yes | no |
| node-b.example.com | backup | yes | yes |
| node-c.example.com | no | yes | yes |
這個快速入門假定每個節點都是虛擬機,并且它們都在同一個網絡上。它基于之前的快速入門、本地和[偽分布式 HBase](#quickstart_pseudo),假設您在該過程中配置的系統是現在`node-a`。繼續之前,在`node-a`停止 HBase 。
> 請確保所有節點都具有完全的通信訪問權限,并且沒有任何防火墻規則可以阻止。如果您看到任何錯誤,如`no route to host`,請檢查您的防火墻設置。
過程: 配置無密碼 SSH 訪問
`node-a`需要能夠登錄`node-b`和`node-c`(包含自己)才能啟動守護進程。實現這一點的最簡單的方法是在所有主機上使用相同的用戶名,并配置`node-a`到其他的無密碼的 SSH 登錄
1. 在`node-a`,生成一個密鑰對
以運行 HBase 的用戶身份登錄時,使用以下命令生成 SSH 密鑰對:
```
$ ssh-keygen -t rsa
```
如果命令成功,密鑰對的位置將打印到標準輸出。公鑰的默認名稱是 _id_rsa.pub_.
2. 創建并共享密鑰的目錄
在`node-b`和上`node-c`,以 HBase 用戶身份登錄,并在用戶主目錄中創建一個 _.ssh/_ 目錄(如果尚不存在)。如果它已經存在,請注意它可能已經包含其他值。
3. 將公鑰復制到其他節點
通過使用 scp 或其他一些安全的手段,安全地將公鑰從`node-a`復制到每個節點。在其他每個節點上,創建一個名為 _.ssh/authorized_keys_ 的新文件(如果該文件尚不存在),并將 _id_rsa.pub_ 文件的內容附加到該文件的末尾。請注意,你也需要為`node-a`本身執行此項。
```
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
```
4. 測試無密碼登錄
確保過程正確,可以以相同用戶名從`node-a` 無密碼登錄其他節點.
5. 由于 `node-b` 是備份主節點, 重復上述步驟,將`node-a`替換為`node-b`.確保不會覆蓋現有的 _.ssh/authorized_keys_ 文件, 可以使用`>>`運算符而不是`>`運算符將新密鑰添加到文件末尾。
過程: 準備 `node-a`
`node-a` 是主節點和 ZooKeeper 進程節點,而不是 RegionServers 服務. 首先停止`node-a`RegionServers 服務
1. 編輯 _conf/regionservers_ 移除包含 `localhost`的列. 添加 `node-b` 和 `node-c`的主機名和 IP.
即使你非要在 `node-a`上運行 regionserver, 你應該配置主機名. 演示中為 `node-a.example.com`.確保您能夠將配置分發到集群的每個節點上并無任何主機名沖突。保存文件。
2. 配置 HBase,將 `node-b`作為備份主節點
在 _conf/_ 目錄創建 _backup-masters_ 添加新的一行主機名為 `node-b`. 演示中主機名為 `node-b.example.com`.
3. 配置 ZooKeeper
實際上,你應該仔細考慮你的 ZooKeeper 配置。您可以在[zookeeper](#zookeeper)部分找到更多關于配置 ZooKeeper 的信息。這個配置將指示 HBase 在集群的每個節點上啟動和管理一個 ZooKeeper 實例。在`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. 在您的配置中,您已經將`node-a`作為`localhost`引用,將引用改為指向其他節點用來引用 `node-a`的主機名。在這些例子中,主機名是`node-a.example.com`
過程: 準備 `node-b` 和 `node-c`
`node-b` 將運行一個備份主服務器和一個 ZooKeeper 實例。
1. 下載并解壓 HBase
將 HBase 下載并解壓到`node-b`,就像您為獨立和偽分布式快速入門所操作的一樣。
2. 將配置文件從`node-a`復制到`node-b`和`node-c`
的群集的每個節點都需要具有相同的配置信息。將 _conf/_ 目錄下的內容復制到`node-b`和`node-c`上的 _conf/_ 目錄中。
過程: 啟動并測試群集
1. 確保 HBase 沒有在任何節點上運行
如果您在之前的測試中忘記停止 HBase,您將會遇到錯誤。通過使用該`jps`命令檢查 HBase 是否在任何節點上運行。尋`HMaster`, `HRegionServer`和 `HQuorumPeer`的進程。如果他們存在,殺掉他們
2. 啟動集群
在`node-a`,發出`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 首先啟動,然后是 master,然后是 RegionServers,最后是 backup masters。
3. 驗證進程是否正在運行
在集群的每個節點上,運行該`jps`命令并驗證每臺服務器上是否運行了正確的進程。如果用于其他用途,您可能會看到在您的服務器上運行的其他 Java 進程。
`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 進程名稱
>
> 進程`HQuorumPeer`是一個由 HBase 控制和啟動的 ZooKeeper 實例.如果以這種方式使用 ZooKeeper,則每個群集節點僅限于一個實例,并且僅適用于測試。如果 ZooKeeper 在 HBase 之外運行,則調用該進程 QuorumPeer。更多請查看章節 [zookeeper](#zookeeper) .
4. Web UI.
> Web UI 接口更改
在 HBase 0.98.x 以上, HBase Web UI 的端口從主節點的 60010 和 RegionServer 的 60030 變化為 16010 和 16030
如果一切設置正確,您應該能夠使用 Web 瀏覽器連接到 Master`[http://node-a.example.com:16010/](http://node-a.example.com:16010/)`或 Secondary Master 的 UI `[http://node-b.example.com:16010/](http://node-b.example.com:16010/)` 。如果您可以通過`localhost`而不是從另一臺主機連接,請檢查您的防火墻規則。您可以在端口 16030 的 IP 地址中查看每個 RegionServers 的 Web UI,也可以通過單擊 Master 的 Web UI 中的鏈接來查看。
5. 測試節點或服務消失時會發生什么
在配置了三節點集群后,集群并不會很有彈性。您仍然可以通過關閉進程并查看日志來測試主 Master 或 RegionServer 的行為。
### 2.5\. 接下來
下一章節 [configuration](#configuration), 提供有關不同的 HBase 運行模式、運行 HBase 的系統要求以及分布式 HBase 群集的關鍵配置的詳細信息。
- HBase? 中文參考指南 3.0
- Preface
- Getting Started
- Apache HBase Configuration
- Upgrading
- The Apache HBase Shell
- Data Model
- HBase and Schema Design
- RegionServer Sizing Rules of Thumb
- HBase and MapReduce
- Securing Apache HBase
- Architecture
- In-memory Compaction
- Backup and Restore
- Synchronous Replication
- Apache HBase APIs
- Apache HBase External APIs
- Thrift API and Filter Language
- HBase and Spark
- Apache HBase Coprocessors
- Apache HBase Performance Tuning
- Troubleshooting and Debugging Apache HBase
- Apache HBase Case Studies
- Apache HBase Operational Management
- Building and Developing Apache HBase
- Unit Testing HBase Applications
- Protobuf in HBase
- Procedure Framework (Pv2): HBASE-12439
- AMv2 Description for Devs
- ZooKeeper
- Community
- Appendix