2016-12-14 2 views
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> 

답변

2

문제가 처음 내 시스템 때 어제 활성화 된 새로운 VPN 소프트웨어 인 타키온 오류에 hdfs URL 결과를 지정 VPN 소프트웨어가 일시 중지 된 후 HDFS URL이 제대로 다시 해결되었습니다.