4.2.4. Causal 클러스 시드 Enterprise Edition
이 장에서는 기존 데이터로 새 Neo4j Causal 클러스터를 시드하는 방법에 대해 설명합니다.
4.2.3장, "새로운 Causal 클러스터 생성"에서 우리는 빈 저장소가 있는 클러스터 생성하는 방법을 배웠습니다. 그러나 우리가 단지 Neo4j를 가지고 놀고 있거나 생산 환경을 설정하고 있더라도 관계없이 클러스터에 전송하길 원하는 약간의 기존 데이터가 있을 수 있습니다. 이 장에서는 클러스터를 시드하는 세 가지 다른 방법을 설명합니다:
데이터베이스를 전송하고 시드하기 위해, 내부 데이터 디렉토리를 이동하려고 복사 및 붙여 넣기를 사용하는 것은 지원되지 않습니다. 새 클러스터에서 사용하길 원하는 데이터가 있는 기존 Neo4j 데이터베이스를 가지는 경우, 이 장에서 설명하는 프로세스 중 하나를 수행하십시오.
이 장에서는 기존 온라인 또는 오프라인 Neo4j 데이터베이스에서 시드되거나 가져오기 툴을 사용하여 다른 데이터 소스에서 가져온 데이터를 포함하는 Causal 클러스터를 만드는 방법에 대해 설명합니다. 클러스터를 시드하는 일반적인 단계는 데이터의 형식에 관계없이 동일한 패턴을 따릅니다:
- 새로운 Neo4j 코어 전용 클러스터 생성
- 클러스터 시드
- 클러스터 시작
4.2.4.1. 온라인 백업의 시드
이 예제의 경우, 실행중인 Neo4j 인스턴스의 온라인 백업의 결과로 기존 Neo4j 데이터베이스의 정상적인 백업이 이미 있다고 가정합니다(온라인 백업에 대한 자세한 내용은 6장, 백업을 참조하십시오). 이것은 독립 실행형 Neo4j 인스턴스, Neo4j 고 가용성 클러스터 또는 또다른 Neo4j Causal 클러스터의 실행중인 인스턴스가 될 수 있습니다. 여기에서 설명되는 프로세스는 또한 기존 Read Replica에서 새로운 Causal 클러스터를 시드하기 위하여 사용될 수도 있습니다. 예를 들어, 이것은 재해 발생 시 일부 서버가 작동성을 유지하는 재해 복구에서 유용할 수 있습니다.
새로운 Neo4j 코어 전용 클러스터 생성
4.2.3.1장, "코어 전용 클러스터 구성"에서 설명한대로 새로운 Neo4j 코어 전용 클러스터를 생성하십시오. 클러스터가 작동하는지 테스트하기 위해 클러스터를 시작하는 경우, 클러스터를 중지 한 다음 각 인스턴스에서 neo4j-admin unbind를 수행해야합니다.
클러스터 시드
클러스터의 모든 코어 인스턴스에 있는 백업된 데이터베이스에서 시드 저장소를 복원하려면 neo4j-admin의 restore 명령어를 사용하십시오. 모든 인스턴스가 저장소에 시드되므로 인스턴스가 시작되면 즉시 클러스터를 완전히 사용할 수 있습니다.
예제 4.2. 모든 코어 구성원을 시드하기 위한 백업 복원
이 예제에서는 데이터베이스 이름이 기본 graph.db이고 seed-dir 디렉토리 아래에 유효한 백업이 있다고 가정합니다. 다른 설정이 있는 경우, 그에 따라 명령줄 인수를 변경하십시오.
neo4j-01$ ./bin/neo4j-admin restore --from=seed-dir --database=graph.db
neo4j-02$ ./bin/neo4j-admin restore --from=seed-dir --database=graph.db
neo4j-03$ ./bin/neo4j-admin restore --from=seed-dir --database=graph.db
클러스터 시작
이 시점에서 코어 클러스터의 모든 인스턴스에는 우리의 그래프 데이터가 포함된 저장소가 있습니다. 그들 사이에 코어 서버는 클러스터를 형성하는 데 필요한 모든 것을 갖추고 있습니다. 우리는 모든 인스턴스를 시작할 준비가 되었습니다. 클러스터가 형성되고 데이터가 인스턴스 간에 복제될 것입니다.
예제 4.3. 각 코어 인스턴스 시작
neo4j-01$ ./bin/neo4j start
neo4j-02$ ./bin/neo4j start
neo4j-03$ ./bin/neo4j start
4.2.4.2. 오프라인 백업의 시드
Neo4j Community에서 Enterprise로 업그레이드 하거나 데이터베이스를 한 Enterprise 사이트에서 또다른 사이트로 이식하려는 경우와 같이 오프라인 방식으로 데이터베이스를 시드하려는 경우가 있습니다. 오프라인 백업을 처리하기 위해서는 neo4j-admin의 dump 및 load 명령어를 사용합니다. 이에 대한 더 자세한 지침은 10.3장, "데이터베이스 덤프 및로드"를 참조하십시오.
오프라인 백업에서 시드를 위한 전반적인 프로세스는 온라인 백업의 경우와 동일하며, 백업을 모든 코어 구성원에게 복원해야 한다는 차이점이 있습니다.
새로운 Neo4j 코어 전용 클러스터 생성
4.2.3.1장, "코어 전용 클러스터 구성"에서 설명한대로 새로운 Neo4j 코어 전용 클러스터를 생성하십시오. 클러스터가 작동하는지 테스트하기 위해 클러스터를 시작하는 경우, 클러스터를 중지 한 다음 각 인스턴스에서 neo4j-admin unbind를 수행해야합니다.
클러스터 시드
neo4j-admin의 load 명령어를 사용하여 새로 생성 된 각 코어 구성원에 덤프 파일을 로드하여 클러스터를 시드하십시오.
예제 4.4. 각 클러스터 구성원에 데이터베이스 로드
이 예제에서는 neo4j-admin의 dump 명령어를 사용한 결과로 Neo4j 데이터베이스의 오프라인 백업이 있다고 가정합니다. 데이터베이스 이름은 기본 graph.db이며 seed-dir 디렉토리에 graph.dump라는 덤프 파일이 있습니다. 다른 설정이 있는 경우, 그에 따라 명령줄 인수를 변경하십시오.
neo4j-01$ ./bin/neo4j-admin load --from=seed-dir/graph.dump --database=graph.db
neo4j-02$ ./bin/neo4j-admin load --from=seed-dir/graph.dump --database=graph.db
neo4j-03$ ./bin/neo4j-admin load --from=seed-dir/graph.dump --database=graph.db
클러스터 시작
이 시점에서 코어 클러스터의 모든 인스턴스에는 우리의 그래프 데이터가 포함된 저장소가 있습니다. 예제 4.3, "각 코어 인스턴스 시작"에서 설명한 것과 같은 방법으로 모든 인스턴스를 시작할 준비가 되었습니다.
4.2.4.3. 가져오기 툴을 사용하는 시드
가져온 데이터를 기반으로 클러스터를 만들려는 경우, 오프라인 백업에서 시드하는 것과 매우 유사한 절차를 따릅니다.
새로운 Neo4j 코어 전용 클러스터 생성
4.2.3.1장, "코어 전용 클러스터 구성"에서 설명한대로 새로운 Neo4j 코어 전용 클러스터를 생성하십시오. 클러스터가 작동하는지 테스트하기 위해 클러스터를 시작하는 경우, 클러스터를 중지 한 다음 각 인스턴스에서 neo4j-admin unbind를 수행해야합니다.
클러스터 시드
가져오기 툴을 사용하여 새로 만든 각 코어 구성원에 데이터를 가져와서 로드하여 클러스터에 시드하십시오.
클러스터 시작
이 시점에서 코어 클러스터의 모든 인스턴스에는 우리의 그래프 데이터가 포함된 저장소가 있습니다. 예제 4.3, "각 코어 인스턴스 시작"에서 설명한 것과 같은 방법으로 모든 인스턴스를 시작할 준비가 되었습니다.
만일 클러스터가 예상대로 형성되지 않으면, 로그에 운영자가 문제점을 확인하기에 충분한 정보가 포함될 것입니다.