HBase 開發手冊__開發人員指南_E-MapReduce-阿裏雲
為了更好地使用 HBase,在創建集群過程中,推薦您使用如下配置:
公網狀態選擇打開。
可用區選擇為訪問 HBase 的應用服務器所在的可用區,請勿選擇隨機分配。
硬件節點數請選擇 4 個及以上,其包含了 Master 和 Slave 節點,E-MapReduce 會在這些節點上創建 namenode、datanode、journalnode、hmaster、regionserver 和 zookeeper 角色。
服務器配置推薦選擇 4 核 16G / 8 核 32G 這兩款機型,過低的配置可能導致 HBase 集群無法穩定運行。
數據盤類型建議選擇 SSD 雲盤,會有更好的成本性價比。對於訪問少,存儲量大的業務,可以選擇普通雲盤。
數據容量請按實際需求配置。
HBase 集群支持擴容。
HBase 配置
創建 HBase 集群的時候,在創建頁麵可以利用軟件配置功能,結合使用場景,對 HBase 的默認參數配置做一些優化修改,如下所示:
{
"configurations": [
{
"classification": "hbase-site",
"properties": {
"hbase.hregion.memstore.flush.size": "268435456",
"hbase.regionserver.global.memstore.size": "0.5",
"hbase.regionserver.global.memstore.lowerLimit": "0.6"
}
}
]
}
HBase 集群一些默認的配置如下所示:
key | value |
---|---|
zookeeper.session.timeout | 180000 |
hbase.regionserver.global.memstore.size | 0.35 |
hbase.regionserver.global.memstore.lowerLimit | 0.3 |
hbase.hregion.memstore.flush.size | 128MB |
訪問 HBase
注意:
由於網絡性能的考慮,通過 E-MapReduce 創建的 HBase 集群,我們隻建議從同個可用區的 ECS 上發起訪問。
訪問 HBase 集群的 ECS 必須和 HBase 集群處於同一個安全組內,否則無法訪問,所以在 EMR 中創建 Hadoop/Spark/Hive 集群時,如果它們需要訪問 HBase,則在創建集群的時候一定要選擇和 HBase 集群相同的安全組。
通過 E-MapReduce 控製台創建完 HBase 集群以後,用戶可以開始使用 HBase 存儲服務。其操作步驟如下:
獲取 Master IP 和集群 ZK 地址。通過 E-MapReduce 控製台集群詳情頁麵,用戶可以查看集群的 Master 節點 IP 和 ZK 訪問地址(內網IP),如下圖所示:
對於開通了公網 IP 的 Master 節點,用戶可以參考如何登錄 master 節點,瀏覽 HMaster 的 WEB UI(localhost:16010)。
SSH 連接到集群主節點,使用 HBase Shell。用戶可以直接通過 SSH 連接到集群的 Master 節點,切換到 HDFS 用戶,通過 HBase Shell 訪問集群(關於 HBase Shell 的更多介紹,請參考Apache HBase 官網)。
[root@emr-header-1 ~]# su hdfs
[hadoop@emr-header-1 root]$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.1.1, r374488, Fri Aug 21 09:18:22 CST 2015
hbase(main):001:0>
從其他 ECS 節點(同一個安全組內),使用 HBase Shell 訪問集群。從 Apache HBase 的官網下載 HBase-1.x 版本的資源包(下載鏈接),解壓後,修改 conf/hbase-site.xml,添加集群的 ZK 地址,如下所示:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>$ZK_IP1,$ZK_IP2,$ZK_IP3</value>
</property>
</configuration>
然後就可以通過命令 bin/hbase shell 訪問集群了。
若 ECS 是通過 EMR 創建的,則隻需修改 /etc/emr/hbase-conf/hbase-site.xml,無需下載 HBase-1.x 版本的資源包。
通過 API 訪問 HBase 集群,引入 Maven 依賴。
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.1.1</version>
配置正確的 ZK 地址,連接集群。
Configuration config = HBaseConfiguration.create();
config.set(HConstants.ZOOKEEPER_QUORUM,"$ZK_IP1,$ZK_IP2,$ZK_IP3");
Connection connection = ConnectionFactory.createConnection(config);
try {
Table table = connection.getTable(TableName.valueOf("myLittleHBaseTable"));
try {
//Do table operation
}finally {
if (table != null) table.close();
}
} finally {
connection.close();
}
更多開發介紹,請參考 Apache HBase 官網。
示例
前提條件
訪問 Hbase 集群的 ECS 必須和 HBase 集群處於同一個安全組內。
Spark 訪問 Hbase
Hadoop 訪問 Hbase
Hive 訪問 Hbase
EMR 1.2.0 及以上主版本的集群中的 Hive 才能訪問 Hbase 集群。其步驟如下:
登錄 Hive 集群,修改 hosts,增加如下一行:
$zk_ip emr-cluster //$zk_i p為 Hbase 集群的 zk 節點 IP
具體 Hive 操作請參照 Hive HBase Integration。
最後更新:2016-11-23 16:03:59
上一篇:
Hadoop Streaming__Hadoop_開發人員指南_E-MapReduce-阿裏雲
下一篇:
Sqoop__數據傳輸軟件_開發人員指南_E-MapReduce-阿裏雲
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲