/var/log 아래 Cloudera 컴포넌트 로그(hdfs · yarn · impala · hbase · hive · kudu · kafka · solr · zookeeper · nifi · atlas · ranger · spark3 · livy3, cloudera-scm-agent/server 등) 가 OS 디스크를 채우지 않도록 별도 디스크의 /logs 로 옮기고 /var/log/<comp> 를 심볼릭 링크로 남긴다. 기존 로그는 /logs/bak/<comp> 로 대피시키고 새 라이브 경로는 빈 디렉터리로 시작한다.
대화에서 만든 migrate_cdp_logs.sh 는 다음 순서로 동작한다.
COMPONENTS=( ... ) allowlist 에 있고 실제 존재하는 /var/log/<comp> 만 대상으로 한다. OS · k8s 계열(audit · sssd · rhsm · harbor · calico · containers · docker_server · fluentd · pods) 은 제외한다./var/log/<comp> 를 /logs/bak/<comp> 로 mv 한다./logs/<comp> 를 빈 디렉터리로 만들고 원본의 uid:gid · mode · SELinux 컨텍스트(chcon --reference) 를 그대로 매핑한다./var/log/<comp> → /logs/<comp> 심볼릭 링크를 만든다.옵션은 --dry-run(변경 없이 미리보기), --components hadoop-hdfs,hive,impala(일부만), --force-same-fs(/var/log 와 /logs 가 같은 디바이스일 때 강행) 다. /logs 디스크가 마운트되지 않은 상태를 막기 위해 같은 디바이스면 기본적으로 중단한다.
sudo ./migrate_cdp_logs.sh --dry-run
sudo ./migrate_cdp_logs.sh
sudo ./migrate_cdp_logs.sh --components hadoop-hdfs,hive,impala
여러 노드에 배포할 때는 hosts.txt 를 읽어 scp 후 sudo -n 으로 실행하는 래퍼를 두고 passwordless sudo 를 준비한다. 실행 로그는 호스트별로 남긴다.
/logs 마운트의 라벨 정책에 따라 일부 서비스는 semanage fcontext 가 따로 필요할 수 있다./logs/<comp> 로 바꾸는 편이 명확하다.