2
갑자기 실행되고 실행 된 스파크 프로그램의 경우 다음 논리에서 재미있는 파일 시스템 오류가 발생하여 checkpoint dir
을 설정합니다.HDFS 검사 점 디렉토리에 대해 예기치 않은 "Tachyon 파일 시스템을 인스턴스화 할 수 없음"
Exception in thread "main" java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider tachyon.hadoop.TFS could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2400)
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2411)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2428)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)
at org.apache.spark.SparkContext$$anonfun$setCheckpointDir$2.apply(SparkContext.scala:2076)
at org.apache.spark.SparkContext$$anonfun$setCheckpointDir$2.apply(SparkContext.scala:2074)
at scala.Option.map(Option.scala:145)
at org.apache.spark.SparkContext.setCheckpointDir(SparkContext.scala:2074)
at com.blazedb.spark.ml.AlsTest$.main(AlsTest.scala:331)
at com.blazedb.spark.ml.AlsTest.main(AlsTest.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ExceptionInInitializerError
at tachyon.Constants.<clinit>(Constants.java:328)
at tachyon.hadoop.AbstractTFS.<clinit>(AbstractTFS.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
... 21 more
Caused by: java.lang.RuntimeException: java.net.ConnectException: Permission denied (connect failed)
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at tachyon.util.network.NetworkAddressUtils.getLocalIpAddress(NetworkAddressUtils.java:398)
at tachyon.util.network.NetworkAddressUtils.getLocalHostName(NetworkAddressUtils.java:320)
at tachyon.conf.TachyonConf.<init>(TachyonConf.java:122)
at tachyon.conf.TachyonConf.<init>(TachyonConf.java:111)
at tachyon.Version.<clinit>(Version.java:27)
... 29 more
Caused by: java.net.ConnectException: Permission denied (connect failed)
at java.net.Inet6AddressImpl.isReachable0(Native Method)
at java.net.Inet6AddressImpl.isReachable(Inet6AddressImpl.java:77)
at java.net.InetAddress.isReachable(InetAddress.java:502)
at java.net.InetAddress.isReachable(InetAddress.java:461)
at tachyon.util.network.NetworkAddressUtils.isValidAddress(NetworkAddressUtils.java:414)
at tachyon.util.network.NetworkAddressUtils.getLocalIpAddress(NetworkAddressUtils.java:382)
... 33 more
,536,913 : 여기
val tempDir = s"alsTest"
sc.setCheckpointDir(tempDir)
오류입니다 : 전체 스택 트레이스 여기
org.apache.hadoop.fs.FileSystem: Provider tachyon.hadoop.TFS could not be instantiated
입니다
alsTest
의 상대 경로를 사용하면 이전에 제대로 작동했음을 유의하십시오. Google의 RDD 저장소는 MEMORY_AND_SER
(은 아니요,OFF_HEAP
이 아닙니다)으로 설정됩니다.
$hdfs dfs -lsr
drwxr-xr-x - boescst supergroup 0 2016-12-13 12:43 alsTest/78081dc9-06f5-43d6-bcfb-1cfea7b4f015
drwxr-xr-x - boescst supergroup 0 2016-12-13 12:19 alsTest/e2dd272b-19fe-4ee8-87d0-2a9afe141c9e
는 왜 스파크 파일 시스템 클래스는 이제
OFF_HEAP
(타키온)에 액세스하려고 할 것입니다 : 우리는 또한
hdfs
의 내용을 확인하여 다음을 확인 할 수 있습니까?
업데이트이 더 흥미로운되고있다 : 심지어 명시 적으로
val tempDir = s"hdfs://$host:8020:alsTest/"
sc.setCheckpointDir(tempDir)
<same error as above>