MAPREDUCE服务 MRS-HDFS应用开发规则:HDFS初始化方法

时间:2024-12-16 15:07:57

HDFS初始化方法

HDFS初始化是指在使用HDFS提供的API之前,需要做的必要工作。

大致过程为:加载HDFS服务配置文件,并进行Kerberos安全认证,认证通过后再实例化Filesystem,之后使用HDFS的API。此处Kerberos安全认证需要使用到的keytab文件,请提前准备。

正确示例:

private  void init() throws IOException {
    Configuration conf = new Configuration();
    // 读取配置文件
    conf.addResource("user-hdfs.xml");
   // 安全模式下,先进行安全认证
    if ("kerberos".equalsIgnoreCase(conf.get("hadoop.security.authentication"))) {
         String PRINCIPAL = "username.client.kerberos.principal";
         String KEYTAB = "username.client.keytab.file";
         // 设置keytab密钥文件
         conf.set(KEYTAB, System.getProperty("user.dir") + File.separator + "conf" + File.separator + conf.get(KEYTAB));
         // 设置kerberos配置文件路径 */
         String krbfilepath = System.getProperty("user.dir") + File.separator + "conf" + File.separator + "krb5.conf";
         System.setProperty("java.security.krb5.conf", krbfilepath);
         // 进行登录认证 */
         SecurityUtil.login(conf, KEYTAB, PRINCIPAL);
     }

     // 实例化文件系统对象
     fSystem = FileSystem.get(conf);
  } 
support.huaweicloud.com/devg-rule-mrs/mrs_07_450021.html