하둡 버전에 따라 맵리듀스 인터페이스가 다르기 때문에 Mongo Hadoop Connector 의 경우에도 컴파일을 별도로 해야만 한다. 아래에서는 최신버전을 가져왔기 때문에 SNAPSHOT 버전으로 빌드가 되었으나, tag 버전을 가져와서 빌드하는 것을 추천한다.
gradle 이라는 조금은 특별한 빌드 도구를 사용해야 하는데, 윈도우 버전을 별도로 설치 후, github 을 통해서 connector 코드를 내려 받은 후, jar 파일을 build 한다.
D:\workspace\mongo\mongo-hadoop> gradlew -Phadoop_version=0.23 jar
D:\workspace\mongo\mongo-hadoop\core\build\libs
mongo-hadoop-core-1.4.0-SNAPSHOT.jar
이제 위의 파일을 이용해서 Hadoop v1 기준으로 MongoDB Connector 사용이 가능하다.
단, tag 버전으로 빌드를 하는 경우 0.23 버전으로 빌드가 되지 않으므로 유의해야 한다.
더불어 java-mongo-driver 를 컴파일 할 차례인데, 메모리는 충분한 것 같은데 아래와 같은 오류로 빌드가 안 되며, Java 는 1.7 이상이시란다.
* Error:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
* Warning:
JDK 1.7 is minimal requirement for building the driver. You have 1.6.
gradle docs 페이지를 참고하여 gradle.properties 파일을 아래와 같이 변경 후 빌드 시도
gradle.properties
org.gradle.daemon=true
org.gradle.java.home=D:\\Program Files\\Java\\jdk1.8.0_40
org.gradle.jvmargs=-Xms256m -Xmx512m
D:\workspace\mongo\mongo-java-driver> gradlew check
check 는 말 그대로 빌드가 아니라 체크임... 아래의 오류를 뱉어냄
* What went wrong:
Execution failed for task ':bson:checkstyleMain'.
> Checkstyle rule violations were found. See the report at: file:///D:/workspace/mongo/mongo-java-driver/bson/build/reports/checkstyle/main.xml
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
그냥 gradlew -q jar 실행하면 됨
D:\workspace\mongo\mongo-java-driver> gradlew check
D:\workspace\mongo\mongo-java-driver\mongo-java-driver\build\libs
mongo-java-driver-3.1.0-SNAPSHOT.jar
'오픈소스 > mongodb' 카테고리의 다른 글
Mongo-Hadoop Integration (0) | 2015.07.28 |
---|---|
문서의 크기가 작으면 집계함수 성능이 올라갈까? (0) | 2015.06.29 |
몽고디비 궁금한 점들 (0) | 2015.06.03 |