次のコードは、本番システムの一部です。FileSystem.get()がcom.pepperdata.supervisor.agent.resource.DistributedFileSystemWrapperClassicを返す理由
import com.turn.util.hadoop.ConfigurationFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
FileSystem fs = FileSystem.get(ConfigurationFactory.newInstance().getConfiguration());
if (fs instanceof DistributedFileSystem) { ACTION }
oozieがジョブを開始したとき。コードのACTION部分は実行されませんでした。 はcom.pepperdata.supervisor.agent.resource.DistributedFileSystemWrapperClassic
を返します。
上記のコードをbin/javaからmannualyで実行しようとしましたが、これはoozie syslogから取得したものと同じクラスパスとjavaプロパティを提供しています。結果はorg.apache.hadoop.hdfs.DistributedFileSystem
です。
私はhadoop-common-2.0.0-cdh4.7.1.jarを使用しており、クラスパスは CDH-4.7.1-1.cdh4.7.1.p0.47/lib/hadoop-0.20-mapreduce/lib /PepperdataSupervisor.jar。 /opt/pepperdata/lib/PepperdataSupervisor.jar
私はJavaエコシステムを使い慣れていません。 com.pepperdata.supervisor.agent.resource.DistributedFileSystemWrapperClassicとは何ですか?なぜ、手動運転と就寝運転の結果が異なるのですか?
ありがとうございました。