하둡을 설치하는 방법은 인터넷에 정말 많이 나와있지만, 소스코드를 수정하고 빌드하는 방법은 생각보다 별로 없다.
따라서, 나를 포함하여 하둡의 소스코드를 수정하고 빌드하고 싶을 때 참고하면 좋다.
먼저 하둡의 소스코드를 빌드하기 위해서는 다음이 필요하다.
1. Hadoop Source Code
2. Maven
1. Hadoop Source Code
하둡 소스코드는 Github에서 다운받을 수 있다.
https://github.com/apache/hadoop
2. Maven
Maven 설치방법은 간단하게 다음 명령어를 실행하면 된다.
sudo apt update
sudo apt install maven
#maven 설치확인
mvn -version
Build
하둡을 빌드할 때는 반드시 "pom.xml" 파일이 있는곳에서 maven 명령어를 입력해야 한다.
예를들면, 아래 사진처럼 본인이 Hadoop의 Mapreduce examples 폴더에 있는 java 파일을 수정한다면,
해당 파일을 수정하고 "pom.xml" 파일이 있는 상위 폴더 "hadoop-mapreduce-examples" 에서 명령어를 실행시켜야 한다.
이제 소스코드를 수정했다면 다음과 같이 하면 된다.
1. 해당 "pom.xml" 파일이 있는 경로에서 터미널을 실행시킨다.
2. 아래의 명령어를 통해 컴파일 한다. (.Java 파일을 .Class로 패키징)
mvn compile
혹시 위와 같이 (허가 거부)가 뜬다면 명령어 앞에 "sudo"를 붙이면 해결된다.
아래와 같은 화면이 보인다면 패키징에 성공한거다.
만들어진 Class 파일은 target 폴더안에 있는 classes 폴더 안에 저장된다.
3. 아래의 명령어를 통해 패키징한다. (.Class 파일을 .Jar 파일로 컴파일)
mvn package
마찬가지로 "허가 거부"가 뜬다면 "sudo"를 붙여주면 된다.
위 사진과 같이 성공했다는 메시지가 뜨면 "target" 폴더에서 파일을 확인할 수 있다.
파일명 등 빌드에 있어 수정하고 싶은 부분이 있으면, "pom.xml" 파일을 수정하면 된다.
빌드가 끝났으면, 기존에 설치한 하둡에 적용을 시켜야 한다.
해당 파일 .jar 파일을 복사하고, 기존에 설치한 하둡 폴더에 붙여넣기를 하면 된다.
예를들어 지금 수정한 파일은 "hadoop-mapreduce-examples" 파일로 이 파일은 "share/hadoop/mapreduce" 폴더에 있다.
위 파일에 붙여넣으면, 최종적으로 빌드하고 적용까지 끝이다.
간단히 요약하면 다음과 같다.
1. 소스코드 수정
2. "pom.xml" 파일이 있는곳으로 이동
3. mvn compile #.java -> .class
4. mvn package #.class -> .jar
5. target 폴더로 이동 후 컴파일된 .jar 파일 복사
6. 기존에 설치한 하둡으로 이동 후 경로를 찾아 붙여넣기(원본 백업 필수)
제일 상위 폴더에 있는 "pom.xml"을 빌드하면 모든 소스코드를 컴파일하고 패키징해야 하므로, 컴퓨터 성능에 따라 다르지만, 1시간 이상이 걸릴 수 있습니다.
따라서, 원하는 기능만 수정하고 해당 java 파일이 있는곳의 "pom.xml" 파일을 빌드하기를 추천합니다.(대략 1분 내외 소요)
'Hadoop' 카테고리의 다른 글
[Hadoop] Yarn Architecture(State Machine) (0) | 2024.05.13 |
---|