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

 

centos linux java 환경변수설정

centos7 기준입니다. jdk8 버전 다운로드 후 /opt/apps/라는 디렉토리에 압축파일을 업로드 하였습니다. 추후 진행입니다. 1. 압축 해제 및 폴더명 변경 tar xvfz /opt/apps/[jdk8 TAR.GZ] mv /opt/apps/[압축해제된

developer-woong.tistory.com

 

maven 3.8.8 설치 (아래 가이드는 3.6.3버전입니다. 버전 변경 후 다운로드 해주시길 바랍니다.)

https://developer-woong.tistory.com/46

 

centos maven 설치

centos7 기준입니다. maven 3.6.3을 설치하도록 하겠습니다. - maven 압축 파일 다운로드 및 해제 cd /opt/apps # 경로에 source가 아닌 binaries 경로로 지정해주시길바랍니다! wget https://archive.apache.org/dist/maven/m

developer-woong.tistory.com

 

python 버전 변경

https://developer-woong.tistory.com/35

 

centos linux python 버전 변경

python 버전 변경법입니다. centos7 기준입니다. yum install -y python3 ls /bin | grep python update-alternatives --config python update-alternatives --install /bin/python python /bin/python2.7 1 update-alternatives --install /bin/python python /

developer-woong.tistory.com

 

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

 

[RANGER-4327] Make ranger2.4 hdfs plugin compatible with hadoop 3.3.5 + - ASF JIRA

hadoop 3.3.5 has upgraded its jackson dependency and removed all jackson 1.x packages, including the jackson-jaxrs jar. As a result, when starting with the Ranger plugin enabled, Hadoop namenode fails to start due to the inability to load jackson 1.x. To a

issues.apache.org

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 등

플러그인들을 설치해보겠습니다. 감사합니다.

반응형

+ Recent posts