Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
consensus데이터가 잘못되거나 data파일이 지워지거나 wal정보가 잘못되는등의 다양한 원인에 의해서 kudu tablet server의 서비스가 되지 않는 경우가 있는데
이런경우 다음과 같이 data데이터및 wal디렉토리의 데이터를 모두 삭제하여 kudu로 하여금 재구성 하면서 복구하도록 해야 한다.
(TS03가 문제이며 경로는 wal : /kudu/tablet/wal, data : /data01/kudu/data, /data02/kudu/data, /data03/kudu/data인 경우임)
* 주의할점은 kudu cluster ksck를 통하여 각 테이블의 RF(replication factor가 3이상인지 반드시 확인해야 하며 1인 경우 해당 테이블의 데이터가 소실될 수 있으니 반드시 확인할것)
1. TS03의 kudu tablet service stop
2. backup 수행(필요시)
- sudo mv /kudu/tablet/wal /kudu/tablet/wal_backup
- sudo mv /data01/kudu/data /data01/kudu/data_backup
- sudo mv /data02/kudu/data /data02/kudu/data_backup
- sudo mv /data03/kudu/data /data03/kudu/data_backup
3. Kudu 전체 restart해준다. (필용한 폴더가 자동으로 생성되면서 복구된다)
4. 상태 확인(테이블및 TS등의 상태을 확인할 수 있음)
- sudo -u kudu kinit -kt /run/cloudera-scm-agent/process/....-kudu-KUDU_MASTER/kudu.keytab kudu/master01.gooper.com@GOOPER.COM
- sudo -u kudu kudu cluster ksck master01.gooper.com:7051,master02.gooper.com:7051,master03.gooper.com:7051
*참고 : 데이터 복구
1. TS03의 kudu tablet service stop
2. 기존데이터 삭제
- sudo rm -r /kudu/tablet/wal
- sudo rm -r /data01/kudu/data
- sudo rm -r /data02/kudu/data
- sudo rm -r /data03/kudu/data
3. 백업데이터를 이용하여 데이터 복구
- sudo mv /kudu/tablet/wal_backup /kudu/tablet/wal
- sudo mv /data01/kudu/data_backup /data01/kudu/data
- sudo mv /data02/kudu/data_backup /data02/kudu/data
- sudo mv /data03/kudu/data_backup /data03/kudu/data
4. Kudu 전체 restart해준다. (필용한 폴더가 자동으로 생성되면서 복구된다)
5. 상태 확인(테이블및 TS등의 상태을 확인할 수 있음)
- sudo -u kudu kinit -kt /run/cloudera-scm-agent/process/....-kudu-KUDU_MASTER/kudu.keytab kudu/master01.gooper.com@GOOPER.COM
- sudo -u kudu kudu cluster ksck master01.gooper.com:7051,master02.gooper.com:7051,master03.gooper.com:7051