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

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

Important

클라이언트 구성 도구는 공개 미리 보기로 제공됩니다. 해당 기능은 별도의 Service Level Agreement(서비스 수준 규약) 없이 제공되며, 프로덕션 작업에는 사용하지 않는 것이 좋습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

사전 요구 사항

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

  • 자체 호스팅 또는 온-프레미스 환경에 연결된 Azure Virtual Network . 온-프레미스 환경을 Azure에 연결하는 방법에 대한 자세한 내용은 Azure에 온-프레미스 네트워크 연결 문서를 참조하세요.

  • Python 설치가 필요합니다. 터미널에서 실행 python --version 하여 python이 설치되어 있는지 검사 수 있습니다.

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

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

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

설치

  • 클라이언트 구성기 폴더다운로드하고 탐색합니다.
  • Python 스크립트를 실행하도록 가상 환경을 설정합니다.
python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txt
  • Azure CLI에 로그인 az login
  • 기존(온-프레미스) 클러스터의 정보를 사용하여 클라이언트 폴더 내에서 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 클러스터 이름입니다.
  • 초기 암호: Apache Cassandra 클러스터용 Azure Managed Instance의 암호입니다.
  • vnet-resource-group: 가상 네트워크에 연결된 리소스 그룹입니다.
  • vnet-name: 클러스터에 연결된 가상 네트워크의 이름입니다.
  • 서브넷 이름: Cassandra 클러스터에 할당된 주소가 지정된 IP의 이름입니다.
  • 위치: 클러스터가 배포되는 위치입니다.
  • 시드 노드: 온-프레미스 또는 자체 호스팅 Cassandra 클러스터에 있는 기존 데이터 센터의 시드 노드입니다.
  • mi-dc-name: Azure Managed Instance 클러스터의 데이터 센터 이름입니다.
  • dc-name: 온-프레미스 클러스터의 데이터 센터 이름입니다.
  • sku: 가상 머신 SKU 크기입니다.
  • Python 스크립트는 라는 install_certs.tar.gztar 보관 파일을 생성합니다. * 각 노드에서 이 폴더의 압축을 /etc/cassandra/

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  • 폴더 내에서 .를 /etc/cassandra/ 실행 sudo ./install_certs.sh합니다. *스크립트를 실행 sudo chmod +x install_certs.sh하여 실행할 수 있는지 확인합니다. *스크립트는 Cassandra를 설치하고 Azure Managed Instance 클러스터에 연결하는 데 필요한 새 인증서를 가리킵니다. *그런 다음 사용자에게 Cassandra를 다시 시작하라는 메시지를 표시합니다. Screenshot of the result of running the script.

  • Cassandra가 모든 노드에서 다시 시작을 마치면 검사nodetool status. 두 데이터 센터가 모두 목록에 표시되어야 하며 해당 노드는 UN(Up/Normal) 상태입니다.

  • Apache Cassandra용 Azure Managed Instance에서 Keyspace 스키마의 복제본(replica)tion 설정을 변경하고 Cassandra Managed Instance 클러스터로 마이그레이션 프로세스를 시작할 수 AllKeyspaces 있습니다.

    Screenshot of selecting all key spaces.

Warning

이렇게 하면 모든 키스페이스 정의가 포함 WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }되도록 변경됩니다. 원하는 토폴로지가 아닌 경우 이를 조정하고 Cassandra Managed Instance 클러스터에서 수동으로 실행 nodetool rebuild 해야 합니다. 자동 복제에 대해 자세히 알아보기

  • 창을 선택하여 Data Center 데이터 복제본(replica) 진행률 업데이트 및 모니터링

    Screenshot showing replication progress.

다음 단계

이 빠른 시작에서는 Apache Cassandra 클라이언트 구성기용 Azure Managed Instance를 사용하여 하이브리드 클러스터를 만드는 방법을 알아보았습니다. 이제 클러스터 작업을 시작할 수 있습니다.