2013-10-10 2 views
2

카산드라를 다시 설치하려고했습니다. 이제 데이터가 누락되었습니다! SSTables가 여전히 남아 있고 디스크의 많은 공간을 사용하고 있음을 발견했습니다. 나는 카산드라에 다시 데이터를 얻을 수 있습니다 어떻게 SSTables에서 Cassandra로 데이터를 복구하는 방법은 무엇입니까?

sudo apt-get --purge remove cassandra 
sudo apt-get install dsc20 

을 한 일

.

답변

2

이것은 일종의 해킹이지만 도구는 의도 한대로 사용되지 않지만 sstable2json을 사용하여 이전 sstables의 데이터를 json으로 내 보낸 다음 새 C 설치로 다시 가져올 수 있습니다. 당신이 있어야합니다 이렇게하려면 다음을 수행 sstable2json

  • 이전에했던 CF (동일한 구조)
  • 를 다시 생성 이전 sstables에서

    1. 내보내기 데이터를 사용하여 새로 만든 동일한 CF를 플러시 (./nodetool flush)
    2. cassandra를 중지하십시오.
    3. json2sstable을 사용하여 이전에 내 보낸 json을 새로 생성 된 sstables로 가져옵니다.

    json2sstable 및 sstable2json이 내보내기/가져 오기 도구가 아닌 디버그 도구이기 때문에 이것은 해커입니다.

  • 관련 문제