MAPREDUCE服务 MRS-如何配置HBase双读能力:代码样例

时间:2024-06-29 14:11:09

代码样例

  • 创建双读Configuration,下面代码片段在“com.huawei.bigdata.hbase.examples”包的“TestMain”类的init方法中添加。
    private static void init() throws IOException {
        // Default load from conf directory
        conf = HBaseConfiguration.create();
        //In Windows environment
        String userdir = TestMain.class.getClassLoader().getResource("conf").getPath() + File.separator;
        //In Linux environment
        //String userdir = System.getProperty("user.dir") + File.separator + "conf" + File.separator;
        conf.addResource(new Path(userdir + "hbase-dual.xml"), false);
      }
  • 确定数据来源的集群
    • GET请求,以下代码片段在“com.huawei.bigdata.hbase.examples”包的“HBaseSample”类的testGet方法中添加。
      Result result = table.get(get); 
      if (result instanceof DualResult) {
            LOG .info(((DualResult)result).getClusterId()); 
      }
    • Scan请求,以下代码片段在“com.huawei.bigdata.hbase.examples”包的“HBaseSample”类的testScanData方法中添加。
      ResultScanner rScanner = table.getScanner(scan);  
      if (rScanner instanceof HBaseMultiScanner) {
           LOG.info(((HBaseMultiScanner)rScanner).getClusterId()); 
      }
  • 客户端支持打印metric信息

    “log4j.properties”文件中增加如下内容,客户端将metric信息输出到指定文件。

    log4j.logger.DUAL=debug,DUAL 
    log4j.appender.DUAL=org.apache.log4j.RollingFileAppender 
    log4j.appender.DUAL.File=/var/log/dual.log //客户端本地双读日志路径,根据实际路径修改,但目录要有写入权限
    log4j.additivity.DUAL=false 
    log4j.appender.DUAL.MaxFileSize=${hbase.log.maxfilesize} 
    log4j.appender.DUAL.MaxBackupIndex=${hbase.log.maxbackupindex} 
    log4j.appender.DUAL.layout=org.apache.log4j.PatternLayout 
    log4j.appender.DUAL.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
support.huaweicloud.com/devg3-mrs/mrs_07_290067.html