protected void prepareInternal(Map conf, String overrideBase, Configuration hadoopConf) {
        this.conf = conf;
        if (overrideBase == null) {
            overrideBase = (String)conf.get(Config.BLOBSTORE_DIR);
        }
        if (overrideBase == null) {
            throw new RuntimeException("You must specify a blobstore directory for HDFS to use!");
        }
        LOG.debug("directory is: {}", overrideBase);
//        try {
//            // if a HDFS keytab/principal have been supplied login, otherwise assume they are
//            // logged in already or running insecure HDFS.
//            String principal = (String) conf.get(Config.BLOBSTORE_HDFS_PRINCIPAL);
//            String keyTab = (String) conf.get(Config.BLOBSTORE_HDFS_KEYTAB);
//
//            if (principal != null && keyTab != null) {
//                UserGroupInformation.loginUserFromKeytab(principal, keyTab);
//            } else {
//                if (principal == null && keyTab != null) {
//                    throw new RuntimeException("You must specify an HDFS principal to go with the keytab!");
//
//                } else {
//                    if (principal != null && keyTab == null) {
//                        throw new RuntimeException("You must specify HDFS keytab go with the principal!");
//                    }
//                }
//            }
//        } catch (IOException e) {
//            throw new RuntimeException("Error logging in from keytab!", e);
//        }
        Path baseDir = new Path(overrideBase, BASE_BLOBS_DIR_NAME);
        try {
            if (hadoopConf != null) {
                _hbs = new HdfsBlobStoreImpl(baseDir, conf, hadoopConf);
            } else {
                _hbs = new HdfsBlobStoreImpl(baseDir, conf);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
//        _localSubject = getHadoopUser();
    }
protected void prepareInternal ( Map conf , String overrideBase , Configuration hadoopConf ) { this . conf = conf ; if ( overrideBase == null ) { overrideBase = ( String ) conf . get ( Config . BLOBSTORE_DIR ) ; } if ( overrideBase == null ) { throw new RuntimeException ( "You must specify a blobstore directory for HDFS to use!" ) ; } LOG . debug ( "directory is: {}" , overrideBase ) ; Path baseDir = new Path ( overrideBase , BASE_BLOBS_DIR_NAME ) ; try { if ( hadoopConf != null ) { _hbs = new HdfsBlobStoreImpl ( baseDir , conf , hadoopConf ) ; } else { _hbs = new HdfsBlobStoreImpl ( baseDir , conf ) ; } } catch ( IOException e ) { throw new RuntimeException ( e ) ; } }
Allow a Hadoop Configuration to be passed for testing. If it's null then the hadoop configs
must be in your classpath.