[HADOOP] Windows에서 Hadoop 빌드 실패 : native.sln에서 zconf.h가 누락 되었습니까?
HADOOPWindows에서 Hadoop 빌드 실패 : native.sln에서 zconf.h가 누락 되었습니까?
Windows 10 Home Edition이 설치된 개발 컴퓨터에서 다음과 같은 버전을 빌드하려고합니다.
hadoop-2.7.3-src
내 지역 개발 환경에 대한 자세한 내용은 다음과 같습니다.
-Windows 10 Home Edition
-Intel Core i5-6200U CPU @ 2.30GHz
-RAM 16GB
-64 비트 운영 체제, x64 기반 프로세서
-Microsoft Visual Studio 커뮤니티 2015 버전 14.0.25431.01 업데이트 3
또한 C : \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ amd64에 MSBUILD 위치를 Windows 시스템 환경 변수 경로에 추가했습니다.
- .NET Framework 4.6.01586
-cmake 버전 3.7.2
-CYGWIN_NT-10.0 LTPBCV82DUG 2.7.0 (0.306 / 5 / 3) 2017-02-12 13:18 x86_64 Cygwin
-java 버전 "1.8.0_121"
-Java (TM) SE 런타임 환경 (빌드 1.8.0_121-b13)
-Java HotSpot (TM) 64 비트 서버 VM (빌드 25.121-b13, 혼합 모드)
-Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11 : 41 : 47-05 : 00)
-Google 프로토콜 버퍼 protoc --version libprotoc 2.5.0
또한 Platform이라는 시스템 환경 변수를 생성하여 x64로 설정합니다.
Visual Studio 2015 (VS2015)에 대한 개발자 명령 프롬프트를 열었습니다.
c : \ hadoop \ hadoop-2.7.3-src> mvn 패키지 -Pdist, native-win -DskipTests -Dtar -X
불행히도 다음 오류가 발생합니다.
[C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj]
ZlibDecompressor.c
c:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\src\org\apache\hadoop\io\compress\zlib\org_apache_hadoop_io_compress_zlib.h(36): fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory [C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj]
Done Building Project "C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.sln" (default targets) -- FAILED.
Build FAILED.
"C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.sln" (default target) (1) ->
"C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj" (default target) (2) ->
(ClCompile target) ->
c:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\src\org\apache\hadoop\io\compress\zlib\org_apache_hadoop_io_compress_zlib.h(36): fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory [C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj]
c:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\src\org\apache\hadoop\io\compress\zlib\org_apache_hadoop_io_compress_zlib.h(36): fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory [C:\hadoop\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj]
0 Warning(s)
2 Error(s)
Time Elapsed 00:00:02.49
앞에서 언급 한 오류는 zlib 도구와 관련이 있습니다.
온라인으로 조사한 후에 누군가 다음 Visual Studio 솔루션 파일을 Visual Studio에서 성공적으로 빌드해야한다고 말했습니다.
.... \ hadoop-2.7.3-src \ hadoop-common-project \ hadoop-common \ src \ main \ native \ native.sln
관리자 모드에서 Visual Studio 2015를 사용하여 native.sln 파일을 열고 즉시 오류가 발생했습니다.
여기에 이미지 설명을 입력하십시오.
누군가가 오류를 해결하기 위해 취해야 할 조치를 알려주십시오.
해결법
-
==============================
1.그래서 문제를 해결하기 위해 취해야 할 조치가 꽤있었습니다.
그래서 문제를 해결하기 위해 취해야 할 조치가 꽤있었습니다.
.... \ hadoop-2.7.3-src \ hadoop-common-project \ hadoop-common \ src \ main \ winutils 디렉터리 내에서 Visual Studio 2015에서 다음 솔루션을 열었습니다.
winutils.sln
..... hadoop-2.7.3-src \ hadoop-common-project \ hadoop-common \ src \ main \ winutils \ libwinutils.c 내에서 다음 코드 줄을 주석 처리하고 그것은 다음과 같습니다 :
//const WCHAR* wsceConfigRelativePath = WIDEN_STRING(STRINGIFY(WSCE_CONFIG_DIR)) L"\\" WIDEN_STRING(STRINGIFY(WSCE_CONFIG_FILE)); const WCHAR* wsceConfigRelativePath = WIDEN_STRING("../etc/hadoop") L"\\" WIDEN_STRING("wsce-site.xml");
또한 winutils 솔루션의 속성 창에서 플랫폼 값을 x64로 설정해야합니다 (아래 스크린 샷 참조).
다음으로 Dos 명령 프롬프트를 열고 내 Windows OS의 정확한 버전을 확인했습니다.
참조
Microsoft Windows [버전 10.0.14393]
또한 libwinutils 프로젝트의 속성 창을 열고 다음 스냅 숏에 표시된 속성에 적절한 값이 있는지 확인했습니다.
또한 winutils 프로젝트의 속성에 대해 동일한 단계를 수행했습니다.
(죄송합니다, stackoverflow는 다른 사진 스냅 샷을 배치 할 수 없지만 기본적으로 winutils 프로젝트의 속성이 올바르게 설정되어 있는지 확인해야합니다)
zlib 버전 1.2.11 소스 코드를 다운로드했습니다. VS2015 용 개발자 명령 프롬프트 사용 (Visual Studio 2015) cmbl을 사용하여 zlib 버전 1.2.11 소스 코드에서 zlib을 빌드했습니다.
c:\zlib\zlib-1.2.11>cmake -G "Visual Studio 14 2015" -A x64 c:\zlib\zlib-1.2.11\ -- The C compiler identification is MSVC 19.0.24215.1 -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of off64_t -- Check size of off64_t - failed -- Looking for fseeko -- Looking for fseeko - not found -- Looking for unistd.h -- Looking for unistd.h - not found -- Configuring done -- Generating done -- Build files have been written to: C:/zlib/zlib-1.2.11
마지막으로 cmake로 빌드를 실행합니다.
c:\zlib\zlib-1.2.11>cmake --build .
Windows 시스템 변수에는 다음 변수가 정의되어 있습니다.
ZLIB_HOME이 C : \ zlib \ zlib-1.2.11로 설정되어 있습니다.
from https://stackoverflow.com/questions/42869261/hadoop-build-failing-in-windows-zconf-h-is-missing-from-native-sln by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark를 사용하여 디렉토리에서 여러 파일 읽기 (0) | 2019.06.27 |
---|---|
[HADOOP] ReduceByKey를 사용하여 값 목록 그룹화 (0) | 2019.06.27 |
[HADOOP] 내 시퀀스 파일이 내 하프 매퍼 클래스에서 두 번 읽히는 이유는 무엇입니까? (0) | 2019.06.27 |
[HADOOP] 오라클에서 BLOB (이미지)를 하이브로 가져 오기 (0) | 2019.06.27 |
[HADOOP] Rhadoop - rmr을 사용한 단어 수 (0) | 2019.06.27 |