Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
1. 방화벽 신청
Cluster의 모든 노드에서 DB로의 방화벽을 오픈 신청/오픈 필요함..
2. Oracle DB 계정 관련 작업 (필요시)
- DB계정 신규신청
- 서비스계정 관리자지정
- 서비스게정 비밀번호변경
- 서비스계정 접속신청(
3. sqoop용 jdbc driver 설정.
- /user/oozie/share/lib/lib_20220122153205/sqoop에 현재 ojdbc6.jar, ojdbc8-12.2.0.1.jar 가 있음(불필요시 삭제할것)
- Oracle19c용 .jar을 lib에 넣고 oozie 서비스 restart하여 반영해줌.
4. odbc driver설정 준비(goopmngt01에 stgclient sftp로 /home/hadoop/ojdbc19.24.0.0.jar를 upload 후 pscp.pssh로 데이터 노드에 복사해줌하)
- sudo pscp.pssh -h /root/allnodes /home/hadoop/ojdbc19.24.0.0.0.jar /home/hadoop/ojdbc19.24.0.0.0.jar
5. oracle-connector-java.jar 설정/배포 (모든 노드)
가. 이전의 Oracle 12c버젼 백업
sudo pssh -h /root/allnodes "mv /usr/share/java/oracle-connector-java.jar /usr/share/java/oracle-connector-java.jar.12c"
나. Oracle 19c버젼으로 oracle-connector-java.jar 설정(/home/hadoop/ojdbc19.24.0.0.0.jar를 upload후 진행할것)
- sudo pssh -h /root/allnodes "cp -p /home/hadoop/ojdbc19.24.0.0.0.jar /usr/share/java/oracle-connector-java.jar"
- sudo pssh -h /root/allnodes "chown root:root /usr/share/java/oracle-connector-java.jar"
4. instantclient 설정 (Hue가 설치된 노드만 수행)
*필요한 파일(예시, Oracle 12c) : instantclient-basic-linux.x64-12.2.0.1.0.zip, instantclient-sdk-linux.x64-12.2.0.1.0.zip
미리 /home/hadoop에 필요할 파일을 업로드 먼저 해둔다.(instantclient-basic-linux.x64-19.23.0.0.0dbru.zip, instantclient-sdk-linux.x64-19.23.0.0.0dbru.zip)
가. sudo mkdir /root/downloads/oracle19c/
나. sudo cp /home/hadoop/*.zip /root/downloads/oracle19c
다. 기존 설정 백업(Oracle12c용 설정 백업)
- sudo mv /usr/share/oracle/instantclient /usr/share/oracle/instantclient12c
라. sudo mkdir /usr/share/oracle/instantclient
마. sudo mkdir -pm 755 /usr/share/oracle/instantclient/lib/
바. 압축파일 해제
- sudo unzip '/root/downloads/oracle19c/*.zip' -d /usr/share/oracle/instantclient/
사. lib파일 이동
- sudo mv /usr/share/oracle/instantclient/`ls -l /usr/share/oracle/instantclient/ | grep instantclient_ | awk '{print $9}'`/lib* /usr/share/oracle/instantclient/lib/
- sudo mv /usr/share/oracle/instantclient/`ls -l /usr/share/oracle/instantclient/ | grep instantclient_ | awk '{print $9}'`/* /usr/share/oracle/instantclient/
아. symbolic link 생성 (필요시)
cd /usr/share/oracle/instantclient/lib
ln -s libclntsh.so.19.1 libclntsh.so
ln -s libocci.so.19.1 libocci.so
5. /etc/cloudera-scm-server/db.properties의 DB정보 변경/저장 후 restart
* 참고 : 운영은 Hue "Hue Service Advanced Configuration Snippet (Safety Valve) for hue_safety_valve.ini"에 설정된 DB정보도 변경할것.
6. CM에서 DB repository관련 정보 모두 변경후 전체 restart
* 참고 : Hue Database Name : DEV1, Ranger Database Name : DEV1 로 지정하고 나머지 서비스는 Database Name을 DEV로 지정할것.
7. Windows서버(AD)에 있는 계정관리 배치의 DB정보 변경할것.
8. workflow수정(필요시)
*참고 #1
[hadoop@goopmngp01:/usr/share/oracle/instantclient/lib]$ls -al
total 212328
drwxr-xr-x 2 root root 259 Sep 14 2022 .
drwxr-xr-x 5 root root 154 Sep 14 2022 ..
-rw-r--r-- 1 root root 8033199 Jan 26 2017 libclntshcore.so.12.1
lrwxrwxrwx 1 root root 17 Sep 14 2022 libclntsh.so -> libclntsh.so.12.1
-rw-r--r-- 1 root root 71638263 Jan 26 2017 libclntsh.so.12.1
-r--r--r-- 1 root root 2981501 Jan 26 2017 libipc1.so
-r--r--r-- 1 root root 539065 Jan 26 2017 libmql1.so
-r--r--r-- 1 root root 6568149 Jan 26 2017 libnnz12.so
lrwxrwxrwx 1 root root 15 Sep 14 2022 libocci.so -> libocci.so.12.1
-rw-r--r-- 1 root root 2218687 Jan 26 2017 libocci.so.12.1
-rw-r--r-- 1 root root 124771800 Jan 26 2017 libociei.so
-r--r--r-- 1 root root 158543 Jan 26 2017 libocijdbc12.so
-r--r--r-- 1 root root 380996 Jan 26 2017 libons.so
-rw-r--r-- 1 root root 116563 Jan 26 2017 liboramysql12.so
*참고 #2
[hadoop@goopcltt01:/usr/share/oracle/instantclient]$ls -al
total 4360
drwxr-xr-x 5 root root 154 Sep 5 2022 .
drwxr-xr-x 3 root root 27 Sep 6 2022 ..
-rw-r--r-- 1 root root 44220 Jan 26 2017 adrci
-rw-r--r-- 1 root root 363 Jan 26 2017 BASIC_README
-rw-r--r-- 1 root root 57272 Jan 26 2017 genezi
drwxrwxr-x 2 root root 6 Sep 5 2022 instantclient_12_2
drwxr-xr-x 2 root root 259 Sep 5 2022 lib
-r--r--r-- 1 root root 4036257 Jan 26 2017 ojdbc8.jar
drwxrwxr-x 5 root root 97 Jan 26 2017 sdk
-rw-r--r-- 1 root root 240476 Jan 26 2017 uidrvci
-rw-r--r-- 1 root root 74230 Jan 26 2017 xstreams.jar
[hadoop@goopcltt01:/usr/share/oracle/instantclient]$echo $ORACLE_HOME
* 참고 #3
[hadoop@goopmngt01:/usr/share/java]$ls -al
total 8384
drwxr-xr-x. 2 root root 106 Nov 12 15:15 .
drwxr-xr-x. 254 root root 8192 Dec 20 2022 ..
lrwxrwxrwx. 1 root root 22 Aug 5 2019 jna.jar -> ../../lib/java/jna.jar
lrwxrwxrwx. 1 root root 21 Aug 5 2019 jna.pom -> ../maven-poms/jna.pom
-rw-r--r-- 1 root root 4532367 Nov 12 15:09 oracle-connector-java.jar
-rw-r--r-- 1 root root 4036257 Sep 1 2022 oracle-connector-java.jar.12c