MapReduce服务 MRS-规则:HDFS初始化方法

时间:2023-11-01 16:19:45

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/devg3-mrs/mrs_07_450021.html