
# 初始化HBase配置
#### 功能介绍
HBase通过login方法来获取配置项。包括用户登录信息、安全认证信息等配置项。
#### 代码样例
- MRS 3.3.0-LTS之前版本： 下面代码片段在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;[1]
      //In Linux environment
      //String userdir = System.getProperty("user.dir") + File.separator + "conf" + File.separator;
      conf.addResource(new Path(userdir + "core-site.xml"), false);
      conf.addResource(new Path(userdir + "hdfs-site.xml"), false);
      conf.addResource(new Path(userdir + "hbase-site.xml"), false);
    }
  ```
  \[1\]**userdir**获取的是编译后资源路径下conf目录的路径。初始化配置用到的core-site.xml、hdfs-site.xml、hbase-site.xml文件，需要放置到"src/main/resources/conf"的目录下。
  
- MRS 3.3.0-LTS及之后版本： 下面代码片段在com.huawei.bigdata.hadoop.security.examples包的"Utils"类的**createClientConf**方法中。
  ```
  public static Configuration createClientConf() {
      // In Windows environment
      String userDir = Utils.class.getClassLoader().getResource(CONF_DIRECTORY).getPath() + File.separator;
      // In Linux environment
      // String userDir = System.getProperty("user.dir") + File.separator + CONF_DIRECTORY + File.separator;
      return createConfByUserDir(userDir);
  }
  public static Configuration createConfByUserDir(String userDir) {
      // Default load from conf directory
      Configuration conf = HBaseConfiguration.create();
      if (userDir == null || userDir.isEmpty()) {
          return conf;
      }
      conf.addResource(new Path(userDir + CLIENT_CORE_FILE), false);
      conf.addResource(new Path(userDir + CLIENT_HDFS_FILE), false);
      conf.addResource(new Path(userDir + CLIENT_HBASE_FILE), false);
      return conf;
  }
  ```
  
 
