2016-06-16 7 views
1

私はFlink on YARN's setup documentationに続いた。私は./bin/yarn-session.sh -n 2 -jm 1024 -tm 2048で実行する場合でも、ケルベロスに認証されながら、私は次のエラーを取得する:YARNのFlink:HDFSの代わりにAmazon S3が間違って使用された

2016-06-16 17:46:47,760 WARN org.apache.hadoop.util.NativeCodeLoader      - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
2016-06-16 17:46:48,518 INFO org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl  - Timeline service address: https://**host**:8190/ws/v1/timeline/ 
2016-06-16 17:46:48,814 INFO org.apache.flink.yarn.FlinkYarnClient       - Using values: 
2016-06-16 17:46:48,815 INFO org.apache.flink.yarn.FlinkYarnClient       - TaskManager count = 2 
2016-06-16 17:46:48,815 INFO org.apache.flink.yarn.FlinkYarnClient       - JobManager memory = 1024 
2016-06-16 17:46:48,815 INFO org.apache.flink.yarn.FlinkYarnClient       - TaskManager memory = 2048 
Exception in thread "main" java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.fs.s3a.S3AFileSystem could not be instantiated 
    at java.util.ServiceLoader.fail(ServiceLoader.java:224) 
    at java.util.ServiceLoader.access$100(ServiceLoader.java:181) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) 
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445) 
    at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2623) 
    at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2634) 
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651) 
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92) 
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687) 
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170) 
    at org.apache.flink.yarn.FlinkYarnClientBase.deployInternal(FlinkYarnClientBase.java:531) 
    at org.apache.flink.yarn.FlinkYarnClientBase$1.run(FlinkYarnClientBase.java:342) 
    at org.apache.flink.yarn.FlinkYarnClientBase$1.run(FlinkYarnClientBase.java:339) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
    at org.apache.flink.yarn.FlinkYarnClientBase.deploy(FlinkYarnClientBase.java:339) 
    at org.apache.flink.client.FlinkYarnSessionCli.run(FlinkYarnSessionCli.java:419) 
    at org.apache.flink.client.FlinkYarnSessionCli.main(FlinkYarnSessionCli.java:362) 
Caused by: java.lang.NoClassDefFoundError: com/amazonaws/AmazonServiceException 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2532) 
    at java.lang.Class.getConstructor0(Class.java:2842) 
    at java.lang.Class.newInstance(Class.java:345) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) 
    ... 18 more 
Caused by: java.lang.ClassNotFoundException: com.amazonaws.AmazonServiceException 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 23 more 

私は私ので次のプロパティを設定し./flink-1.0.3/conf/flink-conf.yaml

fs.hdfs.hadoopconf: /etc/hadoop/conf/ 
fs.hdfs.hdfssite: /etc/hadoop/conf/hdfs-site.xml 

どのように私は、HDFSはAmazonのS3の代わりに使用することができますか?

ありがとうございました。

答えて

1

実際には、削除された回答に示唆されているように、env var HADOOP_CLASSPATHを設定する必要がありました。

@rmetzger:fs.defaultFSが設定されています。

得られたコマンド:チップ用

HADOOP_CLASSPATH=... ./bin/yarn-session.sh -n 2 -jm 1024 -tm 2048 
1

私の問題は、Flinkがあなたの設定ファイルを取り上げていないということです。

構成からfs.hdfs.hdfssiteで始まる行を削除できますか。 fs.hdfs.hadoopconfが設定されている場合は不要です。

さらにfs.defaultFsの設定がcore-site.xmlに設定されていて、hdfs://で始まるものが設定されていることを確認できますか?

+0

おかげ(hdfssite便利ではありません)。 fs.defaultFsはhdfs:// ***に設定されています –

関連する問題