2016-12-26 1 views
1

spark-mongo-connector을 사용하여 MongoDB에 데이터를 저장하는 MS Windows 10 64 비트 Spark Streaming 응용 프로그램을 실행합니다. java.lang.RuntimeException가 :Windows 10에서 Spark Streaming 응용 프로그램을 실행하는 방법은 무엇입니까?

에 의해 발생 : 심지어 pyspark 나는 스파크 응용 프로그램을 실행할 때마다

, 나는 다음과 같은 예외가 루트 스크래치 디렉토리는 : HDFS의/tmp/하이브 쓸 수 있어야한다. 현재 권한은 다음과 같습니다 RW-RW-rw-을

전체 스택 추적 :

Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw- 
    at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) 
    at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:554) 
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) 
    ... 32 more 

내가 경로에 HADOOP_HOME 환경 변수를 가리키는 로컬로 자신을 설치하는 하둡 3.0.0 알파 1 사용 Hadoop dir 및 %HADOOP_HOME%\binPATH 환경 변수에 있습니다.

hdfs dfs -chmod 777 /tmp/hive 

하지만이 명령 출력 :

이 util.NativeCodeLoader 경고를

> hdfs dfs -ls /tmp 
Found 1 items 
drw-rw-rw- -   0 2016-12-26 16:08 /tmp/hive 

나는 다음과 같은 권한을 변경하려고 :

그래서 나는 다음을 수행하려고 : 해당 플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니다 ... 내장 Java 클래스 사용 해당되는 경우

내 OS 용 Hadoop의 기본 라이브러리가 누락 된 것 같습니다.이 라이브러리를 살펴본 후에는 64 비트 플랫폼 용 libhadoop.so.1.0.0을 다시 작성해야합니다.

Windows 10 64 비트 용 기본 라이브러리는 어디에서 찾을 수 있습니까? 다른 해결책이 있습니까? 도서관에서 가져 왔니?

답변

1

우선 MongoDB가 있거나없는 Spark Streaming 모듈을 포함하여 Spark를 사용하기 위해 Hadoop을 설치할 필요가 없습니다.

Windows에서 사용 중이므로 NTFS의 POSIX 비 호환성에 대한 알려진 문제가 있으므로 winutils.exePATH이어야합니다. Spark은 파일 시스템 액세스를 위해 Hadoop jar를 사용하고 있기 때문입니다. https://github.com/steveloughran/winutils에서 winutils.exe을 다운로드 할 수 있습니다. 사용할 버전을 모르는 경우 hadoop-2.7.1에서 다운로드하십시오 (하지만 Spark Streaming이 빌드 된 Hadoop의 버전을 반영해야합니다 (예 : Hadoop 2.7.x for Spark 2.0.2).

winutils.exe chmod -R 777 \tmp\hive 

PROTIP 읽기 Problems running Hadoop on Windows 아파치 하둡 프로젝트의 공식 답변 :

는 관리자로 다음 (일명 관리자로 실행를) c:/tmp/hive 디렉토리를 생성하고 실행합니다.

아래의 메시지는 무해하며 무시해도됩니다.

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform

+0

당신이있는 경우, 당신은 당신의 불꽃 스트리밍 응용 프로그램을 실행할 때, 스파크는 자신에 대한'winutils.exe'을 사용 그래서 당신은'제어판의 HADOOP_HOME'와'PATH' 환경 변수를 정의하는지 확인 낮은 수준의 물건. –

+0

사실 그것은 실제로 사용 권한을 변경했지만 스파크는 여전히 동일한 예외의 출력을 표시합니다 – MrRobot

+0

Spark 앱을 어떻게 실행합니까? Spark 앱을 예외로 시작한 후 처음부터 전체 출력을 붙여 넣을 수 있습니까? gist.github.com을 사용하여 전체 출력을 붙여 넣으십시오 (또는 충분히 짧으면 질문에 붙여 넣으십시오). –

관련 문제