[HADOOP] Windows 구축 / 설치 오류 Hadoop
HADOOPWindows 구축 / 설치 오류 Hadoop
Windows x64 (8.1 및 Server 2012 R2)에 Apache Hadoop 2.7.1을 설치하려고하는데 목표를 달성하지 못했습니다.
[INFO] Apache Hadoop Common ............................... FAILURE [ 37.925 s]
과거에는 HadoopOnWindows 또는이 튜토리얼의 모든 단계를 따랐습니다. 나는 모든 전제 조건을 수행했지만, 내가 인터넷 검색으로, 내 문제에 대한 관련 것들은 다음과 같습니다 :
기타 ppl, 비슷한 문제 내가 따라하는 유사한 주제 중 일부는 1, 2, 3, 4입니다. 나는 주로 모든 제안을 시도했지만 여전히 깨졌습니다.
오류
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:11 min
[INFO] Finished at: 2015-07-08T15:18:29+02:00
[INFO] Final Memory: 69M/269M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.1:exec (c
ompile-ms-winutils) on project hadoop-common: Command execution failed. Process
exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-common
도움 다음에 무엇을해야할지 모르겠다. 나는 모든 것을 시도한 것처럼 느낀다. 이 오류를 해결하고 Windows에서 Hadoop 설치를 계속 도와주세요.
업데이트 1 오류 스택을 자세히 살펴보면 Microsoft.Cpp.props 파일을 찾을 수 없습니다. 또한 전체 폴더 Program Files (x86) / MSBuild가 누락되었습니다. 따라서 Visual Studio 2010을 설치하고이 문제를 해결했습니다.
물론 새로운 문제가 발생합니다. libwinutils를 빌드 할 수 있지만 winutils는 빌드 할 수 없습니다. 많은 LNK2001 오류가 발생합니다.
Error 48 error LNK1120: 18 unresolved externals C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\x64\Release\winutils.exe winutils
Error 36 error LNK2001: unresolved external symbol BuildServiceSecurityDescriptor C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 32 error LNK2001: unresolved external symbol ChownImpl C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 40 error LNK2001: unresolved external symbol CreateEnvironmentBlock C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 44 error LNK2001: unresolved external symbol CreateLogonTokenForUser C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 41 error LNK2001: unresolved external symbol DestroyEnvironmentBlock C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 37 error LNK2001: unresolved external symbol EnableImpersonatePrivileges C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 34 error LNK2001: unresolved external symbol GetSecureJobObjectName C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 38 error LNK2001: unresolved external symbol KillTask C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 43 error LNK2001: unresolved external symbol LoadUserProfileForLogon C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 35 error LNK2001: unresolved external symbol LogDebugMessage C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 46 error LNK2001: unresolved external symbol LookupKerberosAuthenticationPackageId C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 31 error LNK2001: unresolved external symbol MIDL_user_allocate C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\hadoopwinutilsvc_s.obj winutils
Error 30 error LNK2001: unresolved external symbol MIDL_user_free C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\hadoopwinutilsvc_s.obj winutils
Error 47 error LNK2001: unresolved external symbol RegisterWithLsa C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 33 error LNK2001: unresolved external symbol SplitStringIgnoreSpaceW C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
Error 42 error LNK2001: unresolved external symbol UnloadProfileForLogon C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 45 error LNK2001: unresolved external symbol UnregisterWithLsa C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\task.obj winutils
Error 39 error LNK2001: unresolved external symbol wsceConfigRelativePath C:\hdfs\hadoop-common-project\hadoop-common\src\main\winutils\service.obj winutils
업데이트 2 @tiho의 대답은 위에서 언급 한 문제를 해결했습니다 (그리고 이미 4 일이 걸렸으므로 매우 감사합니다). 이제 새로운 목표 인 새로운 문제가 생겼습니다.
[INFO] Apache Hadoop KMS .................................. FAILURE [ 1.531 s]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (dist) on project hadoop-kms: An Ant BuildException has occured: java.net.UnknownHostException: archive.apache.org
[ERROR] around Ant part ...<get dest="downloads/apache-tomcat-6.0.41.tar.gz" skipexisting="true" verbose="true" src="http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.41/bin/apache tomcat-6.0.41.tar.gz"/>... @ 5:182 in C:\hadoop-2.7.1-src\hadoop-common project\hadoop-kms\target\antrun\build-main.xml: Unknown host archive.apache.org.
위의 문제에 대한 절박한 해결책을 찾았습니다. 수동으로 다운로드하여 폴더에 추가했습니다.
C : \ hadoop-2.7.1-src \ hadoop-common-project \ hadoop-kms \ downloads C : \ hadoop-2.7.1-src \ hadoop-hdfs-project \ hadoop-hdfs-httpfs \ downloads 파일에서 삭제됩니다. C : \ hadoop-2.7.1-src \ hadoop-common-project \ hadoop-kms \ target \ antrun \ build-main.xml C : \ hadoop-2.7.1-src \ hadoop-hdfs-project \ hadoop-hdfs-httpfs \ target \ antrun \ build-main.xml 다음 코드 행 :
<mkdir dir="downloads"/>
<get dest="downloads/apache-tomcat-6.0.41.tar.gz" skipexisting="true" verbose="true" src="http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.41/bin/apache-tomcat-6.0.41.tar.gz"/>
나는 또한 프록시를 사용하고 있습니다. settings.xml에 프록시를 설정하고 PATH를 MAVEN_OPTS로 설정하면 @tiho와 동일한 대답으로 제안됩니다. 이게 문제 야? 거기에 제안 된 옵션 외에도 MAVEN_OPTS에 암호와 사용자 이름을 추가했습니다.
브라우저를 사용하여 http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.41/bin/apache-tomcat-6.0.41.tar.gz에 액세스 할 수 있습니다.
그러나이 문제가 계속 나타나기 때문에이 문제를 올바르게 해결하는 방법에 대해 계속 궁금해하며 같은 해결 방법을 다시해야합니다.
업데이트 3 그것이 이번 주 가장 행복했던 순간이었습니다.
[INFO] ------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------
[INFO] Total time: 21:05 min
[INFO] Finished at: 2015-07-10T11:33:17+02:00
[INFO] Final Memory: 228M/672M
[INFO] ------------------------------------------------
해결법
-
==============================
1.하루 종일 그것을 만들 수 있었다. 마이크로 소프트는 분명히 이전 버전과의 호환성에 많은 문제가있다. Hadoop이 최신 툴 체인으로 이동하면 도움이됩니다.
하루 종일 그것을 만들 수 있었다. 마이크로 소프트는 분명히 이전 버전과의 호환성에 많은 문제가있다. Hadoop이 최신 툴 체인으로 이동하면 도움이됩니다.
다음은 수행해야 할 핵심 단계입니다 (문서에서 언급 한 것 이상). VS 2010보다는 Windows SDK 컴파일러를 사용하고 있습니다 (VS 2010에서는 가능할 것으로 예상되지만 시도하지는 않았습니다).
내 PATH (Windows SDK 셸의)에 Git 설치의 bin 폴더 (GNU 도구 용), CMake의 bin 폴더 및 protoc.exe가 들어있는 폴더를 추가했습니다. 또한 (대부분의 사람들은 그것을 필요로하지 않아야 함), Maven의 설명서에 표시된대로 settings.xml을 먼저 편집하면서 내 HTTP 프록시를 사용하도록 Maven을 설정해야했지만 MAVEN_OPTS = -Dmy.proxy.host - Dhttp.proxyPort = my.proxy.port. 그렇지 않은 경우 빌드 중 어느 시점에서 시간 초과가 발생했습니다.
빌드 중에 경고 메시지가 나타났습니다. 1.7 대신 Java SDK 1.8을 사용하여 발생하는 것으로 의심됩니다. 그러나 마침내 빌드 성공을보고 난 후에 1.7으로 다시 시도하는 기분이 들지 않았습니다.
-
==============================
2.저는 Visual Studio 2015 커뮤니티 에디션으로 제작했습니다.
저는 Visual Studio 2015 커뮤니티 에디션으로 제작했습니다.
내가 만든 방법은 다음과 같습니다.
내 환경
여기 쇼핑 목록이 있습니다.
Windows 시스템 환경 변수
(위에서 JDK 버전과 Maven 설치를 가리켜 야 함)
내 Windows 시스템 환경에 다음을 추가했습니다. 경로 변수 :
별난 "C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319"경로는 빌드 프로세스 중에 필요한 MSBuild.exe의 위치입니다.
프로토콜 버퍼 2.5.0
아뇨, 다른 유닉스 / 리눅스 빌드 만할까요? protoc-2.5.0-win32.zip이라는 Google 패키지를 다운로드했습니다. 그런 다음 이진 파일 (protoc.exe)을 c : \ windows \ system32에 압축을 풀어 경로에 넣을 수 있습니다.
나는이 win64 빌드를 위해 win32 구성 요소를 사용하는 효과를 100 % 확신하지 못합니다. 그러나: "Hadoop 0.23+에서는 프로토콜 버퍼 JAR (protobufs.jar)이 클라이언트와 서버의 클래스 경로에 있어야하며 기본 바이너리는이 버전과 이후 버전의 Hadoop을 컴파일해야합니다." - http://wiki.apache.org/hadoop/ProtocolBuffers.
그래서 Win32 실행 파일은 빌드 프로세스 중에 만 사용된다는 것을 알고 있습니다. (Jar 파일은 빌드에 패키지되어 있어야합니다).
네이티브 코드를 컴파일하는 데 어떤 방식 으로든 사용되는 경우, 우리는 순서가 잘못된 포인터를 남겼을 수 있습니다. 나는 할 수있을 때 다시 돌아올거야.
Hadoop 소스 조정하기
글쎄, 이것은 실행할 수 있도록하기 위해 필요했다. 빌드 자체의 품질에 영향을 주어서는 안되지만 결과는 비공식적이고 지원되지 않으며 개발 환경을위한 위험 부담으로 사용하십시오.
VS 프로젝트 마이그레이션
Visual Studio 2015에서 다음 파일을 열어야합니다.
\ hadoop-common-project \ hadoop-common \ src \ main \ winutils \ winutils.vcxproj \ hadoop-common-project \ hadoop-common \ src \ main \ native \ native.vcxproj
Visual Studio는 이전 버전 인 것으로 불평 할 것입니다. 모두 저장하고 닫는 것뿐입니다.
hdfs에 대한 cmake VS 2015 프로젝트 생성 활성화
\ hadoop-hdfs-project \ hadoop-hdfs \ pom.xml의 441 줄에서 else 값을 다음과 같이 편집하십시오.
( "value"값은 win32에 적용됩니다 - win32 용으로 만들면이 값을 편집 할 수 있습니다).
그것을 구축
"VS2015 용 개발 명령 프롬프트"창에서 찾아야합니다. 나는 아직도 이것에 관해서 무엇이 특별한지 궁금해하고있다. 그러나 사실은 그것만으로 작동 할 것이다.
기타 환경 변수 명령 프롬프트에서 수행해야합니다.
마지막으로 그것을 구축
hadoop 소스 폴더로 이동하여 다음을 실행하십시오 :
다음은?
공식 문서에 따라 hadoop 인스턴스를 설정하고 실행하십시오.
내 블로그에 바이너리 링크를 유지하려고합니다 :
-
==============================
3.Windows 10에서 Visual Studio 2017을 사용하여 Hadoop 3.0.2를 성공적으로 구축했습니다.
Windows 10에서 Visual Studio 2017을 사용하여 Hadoop 3.0.2를 성공적으로 구축했습니다.
내 설정은 다음과 같습니다.
먼저 VS 2017에서이 두 솔루션 파일을 열고 저장합니다.
hadoop-3.0.2-src\hadoop-common-project\hadoop-common\src\main\winutils\winutils.sln
과
hadoop-3.0.2-src\hadoop-common-project\hadoop-common\src\main\native\native.sln
그러면 VS 2010에서 VS 2017로 두 프로젝트가 마이그레이션됩니다.
둘째, POM 파일의 141 번 줄을 변경해야합니다.
D:\hadoop-3.0.2-src\hadoop-hdfs-project\hadoop-hdfs-native-client\pom.xml
에
<condition property="generator" value="Visual Studio 10" else="Visual Studio 15 2017 Win64">
이렇게하면 VS 2017이 건축 과정에서 사용될 수 있습니다.
또한 MSBuild가 명령이 오랫동안 작동을 멈춘다 고 불평하는 문제가 발생했습니다. Maven 기본 저장소 위치와 관련이 있다고 생각합니다. 이 문제를 해결하기 위해 다음 줄을 추가했습니다.
<localRepository>D:/maven_repo</localRepository>
내 친구
apache-maven-3.5.0\conf\settings.xml
Maven 저장소를 새로운 위치로 이동합니다 (이 경우 D : / maven_repo).
마지막으로 VS 2017에 대한 x64 네이티브 도구 명령 프롬프트를 열고 hadoop 원본 폴더로 이동하여 다음 명령을 실행했습니다.
mvn clean package -Pdist,native-win -DskipTests -Dtar -Dmaven.repo.local=D:\maven_repo
나는 모든 문제를 해결하기 위해 10 시간 이상을 보내고, 잘하면 내 해결책은 다른 사람들을 도울 것입니다.
from https://stackoverflow.com/questions/31295963/hadoop-on-windows-building-installation-error by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 프로그래밍 세계의 키워드 문맥은 무엇입니까? (0) | 2019.06.01 |
---|---|
[HADOOP] Apache Pig의 연결 오류 (0) | 2019.06.01 |
[HADOOP] hadoop에서 jar 파일을 실행하는 방법? (0) | 2019.06.01 |
[HADOOP] 스파크가 더 이상 사용하지 않을 것임을 깨달을 때 RDD 자체를 unpersist할까요? (0) | 2019.06.01 |
[HADOOP] 감속기의 기본 개수 (0) | 2019.06.01 |