[Infra Solr] Ranger index 파일 용량 이슈
1. 현상 및 원인
Infra Solr는 주로 Ranger/HDFS/Yarn의 audit로그를 저장하기 위해 사용된다.
우리는 Ranger의 audit로그를 위해서 사용중이다.
하지만 ranger audit로그가 많이 쌓이다보니 infra solr의 data dir가 너무 용량을 많이 차지하는 이슈가 있었다.
설정이름: infra_solr_datadir
방법은 두 가지가 있다.
1) infra_solr_datadir해당 경로를 디스크 공간이 많은 곳으로 옮겨준다.
2) Ranger에서 ranger_audit_max_retention_days 기간을 줄여준 뒤 Lucene API로 직접 데이터 삭제한다.
2. 해결
2.1. infra_solr_datadir 경로 변경
아래 순서로 진행
-Infra Solr 중지
-infra_solr_datadir 값 변경
-실제 infra solr instance 설치된 서버에서(Ambari server와 같이 사용한다면 보통 같은 서버) 기존 경로에서 변경된 경로로 디렉터리 mv
mv /var/lib/ambari-infra-solr/data {새로운 경로}/data
-소유권 및 퍼미션 확인
-Infra Solr 재기동
2.2. Ranger에서 ranger_audit_max_retention_days 기간수정 후 Lucene API로 직접 데이터 삭제
아래 순서로 진행한다.
-ranger_audit_max_retention_days 기간 변경 (기본값은 90일)
15로 줄여본다.
하지만 보통 운영환경에서 audit로그는 보안감사 등의 점검시에 중요하게 사용될 수도 있으므로 적절한 값을 유지해야 한다.
-Ranger, Infra Solr 재기동
-이제부터 Infra Solr에 쓰여지는 데이터들은 모두 15일의 유지 기간을 갖게 된다.
하지만 기존 데이터는 여전히 90일로 쓰여져 있으므로 Lucene API를 호출하여 수동 삭제해주어야 한다.
-아래 curl 명령어 호출
#오늘로부터 30일 이전의 데이터들 모두 삭제 curl "http://localhost:8886/solr/ranger_audits/update" \ -H 'Content-Type: application/json' \ -d '{ "delete": { "query": "evtTime:[* TO NOW-30DAYS/DAY]" } }' |