浏览代码

HDDS-672. Spark shell throws OzoneFileSystem not found.
Contributed by Anu Engineer.

(cherry picked from commit cd057918d6b7f222bf2008966dc2c2de5a01d286)

Anu Engineer 6 年之前
父节点
当前提交
dec5f08810
共有 1 个文件被更改,包括 9 次插入4 次删除
  1. 9 4
      hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java

+ 9 - 4
hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java

@@ -31,6 +31,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import com.google.common.base.Preconditions;
+import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -97,7 +98,11 @@ public class OzoneFileSystem extends FileSystem {
   @Override
   public void initialize(URI name, Configuration conf) throws IOException {
     super.initialize(name, conf);
-    setConf(conf);
+    if(!(conf instanceof OzoneConfiguration)) {
+      setConf(new OzoneConfiguration(conf));
+    } else {
+      setConf(conf);
+    }
     Objects.requireNonNull(name.getScheme(), "No scheme provided in " + name);
     assert getScheme().equals(name.getScheme());
 
@@ -116,15 +121,15 @@ public class OzoneFileSystem extends FileSystem {
       uri = new URIBuilder().setScheme(OZONE_URI_SCHEME)
           .setHost(authority).build();
       LOG.trace("Ozone URI for ozfs initialization is " + uri);
-      this.ozoneClient = OzoneClientFactory.getRpcClient(conf);
+      this.ozoneClient = OzoneClientFactory.getRpcClient(getConf());
       objectStore = ozoneClient.getObjectStore();
       this.volume = objectStore.getVolume(volumeStr);
       this.bucket = volume.getBucket(bucketStr);
       this.replicationType = ReplicationType.valueOf(
-          conf.get(OzoneConfigKeys.OZONE_REPLICATION_TYPE,
+          getConf().get(OzoneConfigKeys.OZONE_REPLICATION_TYPE,
               OzoneConfigKeys.OZONE_REPLICATION_TYPE_DEFAULT));
       this.replicationFactor = ReplicationFactor.valueOf(
-          conf.getInt(OzoneConfigKeys.OZONE_REPLICATION,
+          getConf().getInt(OzoneConfigKeys.OZONE_REPLICATION,
               OzoneConfigKeys.OZONE_REPLICATION_DEFAULT));
       try {
         this.userName =