HBase部署協(xié)處理器的準(zhǔn)則

2018-09-15 15:10 更新

部署協(xié)處理器的準(zhǔn)則

捆綁協(xié)處理器

您可以將協(xié)處理器的所有類(lèi)捆綁到RegionServer類(lèi)路徑上的單個(gè)JAR中,以便于部署。否則,將所有依賴(lài)項(xiàng)放在RegionServer的類(lèi)路徑中,以便在RegionServer啟動(dòng)期間加載它們。RegionServer的類(lèi)路徑在RegionServer的hbase-env.sh文件中設(shè)置。

自動(dòng)部署

您可以使用Puppet,Chef或Ansible等工具將協(xié)處理器的JAR發(fā)送到RegionServers文件系統(tǒng)上的所需位置,然后重新啟動(dòng)每個(gè)RegionServer,以自動(dòng)執(zhí)行協(xié)處理器部署。此類(lèi)設(shè)置的詳細(xì)信息超出了本文檔的介紹范圍。

更新協(xié)處理器

部署新版本的給定協(xié)處理器并不像禁用它、替換JAR和重新啟用協(xié)處理器那么簡(jiǎn)單。這是因?yàn)槌莿h除對(duì)它的所有當(dāng)前引用,否則無(wú)法在JVM中重新加載類(lèi)。由于當(dāng)前JVM引用了現(xiàn)有的協(xié)處理器,因此必須通過(guò)重新啟動(dòng)RegionServer來(lái)重新啟動(dòng)JVM,以便替換它。此行為不應(yīng)更改。

協(xié)處理器日志記錄

協(xié)處理器框架不提供用于超出標(biāo)準(zhǔn)Java日志記錄的API。

協(xié)處理器配置

如果您不想從HBase Shell加載協(xié)處理器,可以將其配置屬性添加到hbase-site.xml。在上一節(jié)內(nèi)容的使用HBase Shell中,設(shè)置了兩個(gè)參數(shù):arg1=1,arg2=2。這些可以添加到hbase-site.xml如下:

<property>
  <name>arg1</name>
  <value>1</value>
</property>
<property>
  <name>arg2</name>
  <value>2</value>
</property>

然后,您可以使用以下代碼讀取配置:

Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
TableName tableName = TableName.valueOf("users");
Table table = connection.getTable(tableName);

Get get = new Get(Bytes.toBytes("admin"));
Result result = table.get(get);
for (Cell c : result.rawCells()) {
    System.out.println(Bytes.toString(CellUtil.cloneRow(c))
        + "==> " + Bytes.toString(CellUtil.cloneFamily(c))
        + "{" + Bytes.toString(CellUtil.cloneQualifier(c))
        + ":" + Bytes.toLong(CellUtil.cloneValue(c)) + "}");
}
Scan scan = new Scan();
ResultScanner scanner = table.getScanner(scan);
for (Result res : scanner) {
    for (Cell c : res.rawCells()) {
        System.out.println(Bytes.toString(CellUtil.cloneRow(c))
        + " ==> " + Bytes.toString(CellUtil.cloneFamily(c))
        + " {" + Bytes.toString(CellUtil.cloneQualifier(c))
        + ":" + Bytes.toLong(CellUtil.cloneValue(c))
        + "}");
    }
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)