다음을 통해 공유


빠른 시작: 클라이언트 구성기를 사용하여 Apache Cassandra용 Azure Managed Instance를 사용하여 하이브리드 클러스터 구성

Azure 클라이언트 구성기는 하이브리드 클러스터를 구성하고 Apache Cassandra용 Azure Managed Instance로 마이그레이션 프로세스를 간소화하는 데 도움이 되도록 설계된 도구입니다. 현재 온-프레미스 데이터 센터가 있거나 자체 호스팅 환경에서 운영하는 경우 Azure Managed Instance for Apache Cassandra를 사용하여 다른 데이터 센터를 사용자 클러스터에 원활하게 통합하면서 효과적으로 유지 관리할 수 있습니다.

중요합니다

클라이언트 구성 도구는 공개 미리 보기로 제공됩니다. 해당 기능은 별도의 서비스 수준 규약 없이 사용할 수 있습니다. 프로덕션 워크로드에는 권장하지 않습니다.

자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

필수 구성 요소

  • 이 문서에는 Azure CLI 버전 2.30.0 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

  • 자체 호스팅 또는 온-프레미스 환경에 연결된 Azure 가상 네트워크를 사용합니다. 온-프레미스 환경을 Azure에 연결하는 방법에 대한 자세한 내용은 Azure에 온-프레미스 네트워크 연결을 참조하세요.

  • Python 설치가 필요합니다. Python이 설치되어 있는지 확인하려면 터미널에서 실행 python --version 합니다.

  • Apache Cassandra용 Azure Managed Instance 클러스터와 온-프레미스 Cassandra 클러스터가 모두 동일한 가상 네트워크에 있는지 확인합니다. 그렇지 않은 경우 네트워크 피어링 또는 다른 연결 수단을 설정해야 합니다. 예를 들어 Azure ExpressRoute를 사용합니다.

  • 관리형 클러스터와 로컬 클러스터의 클러스터 이름은 동일해야 합니다.

    파일에서 cassandra.yaml 스토리지 포트가 7001로 설정되고 클러스터 이름이 관리되는 클러스터와 동일한지 확인합니다.

    cluster_name: managed_cluster-name
    storage_port: 7001
    
    UPDATE system.local SET cluster_name = 'managed_cluster-name' where key='local';
    

설치

  1. 클라이언트 구성기 폴더를 다운로드하여 이동합니다.

  2. Python 스크립트를 실행하도록 가상 환경을 설정합니다.

    python3 -m venv env
    source env/bin/activate
    python3 -m pip install -r requirements.txt
    
  3. Azure CLI az login에 로그인합니다.

  4. 기존(온-프레미스) 클러스터의 정보를 사용하여 클라이언트 폴더 내에서 Python 스크립트를 실행합니다.

    python3 client_configurator.py --subscription-id <subcriptionId> --cluster-resource-group <clusterResourceGroup> --cluster-name <clusterName> --initial-password <initialPassword> --vnet-resource-group <vnetResourceGroup> --vnet-name <vnetName> --subnet-name <subnetName> --location <location> --seed-nodes <seed1 seed2 seed3> --mi-dc-name <managedInstanceDataCenterName> --dc-name <onPremDataCenterName> --sku <sku>
    
    매개 변수 설명
    subscription-ID Azure 구독 ID
    cluster-resource-group 클러스터가 있는 리소스 그룹
    cluster-name Azure Managed Instance for Apache Cassandra 클러스터 이름
    initial-password Apache Cassandra 클러스터용 Azure Managed Instance에 대한 암호
    vnet-resource-group 가상 네트워크에 연결된 리소스 그룹
    vnet-name 클러스터에 연결된 가상 네트워크의 이름
    subnet-name Cassandra 클러스터에 할당된 IP 주소의 이름
    location 클러스터가 배포되는 위치
    seed-nodes 온프레미스 또는 자체 호스팅 Cassandra 클러스터의 기존 데이터센터에 있는 시드 노드
    mi-dc-name Apache Cassandra 클러스터용 Azure Managed Instance의 데이터 센터 이름
    dc-name 온-프레미스 클러스터의 데이터 센터 이름
    sku 가상 머신 제품 계층 크기
  5. Python 스크립트는 install_certs.tar.gz이라는 tar 보관 계층을 생성합니다. 각 노드에서 이 폴더를 /etc/cassandra/에 압축 해제하십시오.

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  6. /etc/cassandra/ 폴더 내에서 sudo ./install_certs.sh을(를) 실행합니다.

    • sudo chmod +x install_certs.sh을(를) 실행하여 스크립트가 실행 가능한지 확인합니다.

    • 이 스크립트는 Cassandra를 설치하고 Apache Cassandra용 Azure Managed Instance 클러스터에 연결하는 데 필요한 새 인증서를 가리킵니다.

    • 그런 다음 사용자에게 Cassandra를 다시 시작하라는 메시지를 표시합니다.

      스크립트 실행 결과를 보여 주는 스크린샷

  7. 모든 노드에서 Cassandra가 재시작을 마친 후 nodetool status을(를) 확인하십시오. 두 데이터 센터 모두의 노드는 UN (Up/Normal) 상태에 있고, 해당 데이터 센터들이 상태 목록에 표시되어야 합니다.

  8. Apache Cassandra용 Azure Managed Instance 인스턴스에서 AllKeyspaces을(를) 선택하여 키스페이스 스키마의 복제 설정을 변경하고 Cassandra용 Azure Managed Instance 클러스터로의 마이그레이션 프로세스를 시작할 수 있습니다.

  9. autoReplicate ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 설정을 활성화합니다. ARM 템플릿에는 다음이 포함되어야 합니다.

    "properties":{
    ...
    "externalDataCenters": ["dc-name-1","dc-name-2"],
    "autoReplicate": "AllKeyspaces",
    ...
    }
    

    모든 키스페이스 정의가 WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }를 포함하도록 변경됩니다. 이 토폴로지를 원하지 않는 경우 조정하고 Apache Cassandra용 Azure Managed Instance 클러스터에서 nodetool rebuild를 수동으로 실행합니다.

    자동 업데이트에 대해 자세히 알아봅니다.

  10. 데이터 센터 창을 선택하여 데이터 복제 진행률을 업데이트하고 모니터링합니다.

    복제 진행률을 보여 주는 스크린샷.

다음 단계