복붙노트

[REDIS] 여러 데이터베이스가있는 인스턴스에서 하나의 레디 스 데이터베이스를 복제

REDIS

여러 데이터베이스가있는 인스턴스에서 하나의 레디 스 데이터베이스를 복제

나는 두 개의 데이터베이스를 가지고 하나 개의 레디 스 인스턴스가 있습니다. 지금은 두 번째 인스턴스를 설정하고 첫 번째 인스턴스를 복제 할,하지만 두 번째 인스턴스는 하나 개의 데이터베이스를 가지고 첫 번째 인스턴스에서 0dB로 만 복제합니다. 나는 (두 번째 예를 들어 ... 세트 slaveof)을 할 때 나는 레디 스 로그 파일에 다음과 같은 오류 메시지가 나타납니다 :

FATAL: Data file was created with a Redis server configured to handle more than 1 databases. Exiting

나는 레디 스 덤프를 사용하여 시도하지만 새로운 인스턴스로 생성 된 덤프를 가져올 때 오류가 발생합니다. 내가 생각하는 DB를 (알파 아직 레디 스 덤프에, 1 대 2 DBS에 오히려 버그 관련이 없습니다.

무엇을 할까?

해결법

  1. ==============================

    1.나는 (Gurpartap 싱의 도움으로) 그것을 달성하는 방법이다 :

    나는 (Gurpartap 싱의 도움으로) 그것을 달성하는 방법이다 :

    이 시점에서 당신은 하나의 DB (원본 레디 스 인스턴스의 DB 0)로 실행중인 레디 스 인스턴스를 가져야한다

    열쇠는 여기에 우리가 두 번째 DB의 모든 키를 삭제 한 다음 디스크에 데이터 집합을 저장할 때, 결과 덤프가 하나의 DB를 가지고 있다는 것입니다. (Gurpartap 싱에 대한 힌트를 주셔서 감사합니다)

  2. ==============================

    2.(-하지만 중요하지 않습니다 가능성이 별도의 시스템에) 내가 이해에서, 당신은 당신이 다른 인스턴스 B에 걸쳐 0 DB를 복제 할 0 DB 및 1 DB를 가지고 레디 스 예 A를 보유하고 있습니다. 레디 스 크게 대신 별도의 데이터베이스의 완전한 인스턴스 복제에 집중한다.

    (-하지만 중요하지 않습니다 가능성이 별도의 시스템에) 내가 이해에서, 당신은 당신이 다른 인스턴스 B에 걸쳐 0 DB를 복제 할 0 DB 및 1 DB를 가지고 레디 스 예 A를 보유하고 있습니다. 레디 스 크게 대신 별도의 데이터베이스의 완전한 인스턴스 복제에 집중한다.

    당신은 여전히 ​​0 DB를 복제 할 경우에 따라서, 1이 아닌 DB를, 난 당신이 별도의 인스턴스에 DB 중 하나 마이그레이션하는 것이 좋습니다. 마찬가지로, 개별 인스턴스 마이그레이션 DB (1)이 복제도 무관. 그리고 당신은 단지 0 (인스턴스 A) DB를 가지고있는 인스턴스에 대한 마스터 슬레이브 복제를 설정할 수 있습니다.

    여기 레디 스 복제가 구현 될 수있는 방법에 대한 자세한 설명입니다 : http://redis.io/topics/replication

    slaveof redis-master.webapp.com 6379 인스턴스 A에 주소와 포트 포인트 그것은거야 : 간단히, 당신은 당신이 노예를 만들고 싶어하는 신선한 새로운 인스턴스 (B)에 연결하고 명령을 실행해야 다음 데이터를 동기화하고 마스터 인스턴스에서 모든 업데이트를 수행합니다.

    당신이 데이터를 동기화되지 않는 경우에는 정보 명령으로의 동기화 상태에 대해 검사 할 수 있습니다. 마스터에 그것을 시도뿐만 아니라. 로그도 도움이됩니다.

    희망이 도움이. 당신은 레디 스 복제를 설정하는 방법에 대한 자세한 정보가 필요하면 알려주세요.

  3. from https://stackoverflow.com/questions/11819387/replicate-a-single-redis-database-from-an-instance-that-has-multiple-databases by cc-by-sa and MIT license