메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


consensus데이터가 잘못되거나 data파일이 지워지거나 wal정보가 잘못되는등의 다양한 원인에 의해서 kudu tablet server의 서비스가 되지 않는 경우가 있는데

이런경우 다음과 같이 해당 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. TS03서버의 Kudu tablet server 서비스 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. TS03서버의 Kudu tablet server 서비스 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


   

  

위로