centos7 기준입니다. 호스트명이 mast02인 서버에서 진행하였습니다.
ranger 설치 전 환경에 맞게 우선 빌드해보도록 하겠습니다.
jdk8, maven 3.8.8, python 3.6.8
이 설치되어있음을 가정합니다.
maven 3.6.3버전으로 빌드 시 schema-registry-plugin 부분에서 에러가 발생하여
3.8.8버전을 꼭 사용해주시길 바랍니다.
jdk8 설치
https://developer-woong.tistory.com/38
maven 3.8.8 설치 (아래 가이드는 3.6.3버전입니다. 버전 변경 후 다운로드 해주시길 바랍니다.)
https://developer-woong.tistory.com/46
python 버전 변경
https://developer-woong.tistory.com/35
1. 필요패키지 설치
action server: mast02
user: root
pwd: -
cmd:
# 필요 패키지를 우선적으로 설치합니다.
yum install git gcc python3 python3-devel
yum install -y epel-release
yum install -y npm nodejs
npm install node-ranger
pip3 install requests
2. ranger 파일 다운로드
action server: mast02
user: root
pwd: -
cmd:
# 경로 이동
cd /opt/apps/
# ranger 소스파일을 클론합니다.
git clone https://github.com/apache/ranger.git
# 경로 이동
cd ranger
# 태그를 변경합니다.
git checkout tags/release-ranger-2.4.0
# 아래 파일들을 수정합니다.
vi ./distro/src/main/assembly/hdfs-agent.xml
84 <fileMode>644</fileMode>
85 <includes>
86 <include>commons-lang:commons-lang</include>
<!-- 해당 줄을 추가해줍니다. -->
87 <include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
88 <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
89 <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
90 <include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}</include>
91 <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
vi ./distro/src/main/assembly/plugin-yarn.xml
54 <fileMode>644</fileMode>
55 <includes>
56 <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
<!-- 해당 줄을 추가해줍니다. -->
57 <include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
58 <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
59 <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
60 <include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}</include>
61 <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
62 <include>org.noggit:noggit:jar:${noggit.version}</include>
* https://issues.apache.org/jira/browse/RANGER-4327
hdfs-agent.xml, plugin-yarn.xml을 수정하는 이유는, 현재 tags/release-ranger-2.4.0 태그에서 빌드를 진행중인데,
hadoop 3.3.5부터 jackson 종속성을 업그레이드하여, jackson-jaxrs jar를 포함한 모든 jackson 1.x 패키지를 제거했다라고 나옵니다. 이에 기존 빌드 후, HDFS와 ragner 플러그인 통합 후, namenode 실행 시,
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.jaxrs.JacksonJsonProvider
라는 에러와 함께 namenode가 실행되지않았습니다.
이에 위 두 파일에 jackson-jaxrs를 추가로 패키징하는 줄을 추가하였습니다.
tags/release-ranger-2.4.0에는 위 커밋이 반영되어있지 않아 수동으로 변경하였습니다.
3. ranger 빌드
action server: mast02
user: root
pwd: /opt/apps/apache-ranger-2.4.0
cmd:
mvn clean compile package install -DskipTests=true
다음 포스팅부터 ranger-admin, ranger-usersync, ranger-hdfs, ranger-kafka, ranger-hive, ranger-hbase, ranger-yarn 등
플러그인들을 설치해보겠습니다. 감사합니다.