Bu codelab hakkında
1. Giriş
Bigtable, büyük analitik ve operasyonel iş yükleri için tasarlanmış, tamamen yönetilen, yüksek performanslı bir NoSQL veritabanı hizmetidir. Apache Cassandra gibi mevcut veritabanlarından Bigtable'a geçiş, genellikle kapalı kalma süresini ve uygulama üzerindeki etkiyi en aza indirmek için dikkatli bir planlama gerektirir.
Bu kod laboratuvarında, proxy araçlarının bir kombinasyonu kullanılarak Cassandra'dan Bigtable'a taşıma stratejisi gösterilmektedir:
- Cassandra-Bigtable Proxy: Cassandra istemcilerinin ve araçlarının (
cqlsh
veya sürücüler gibi), sorguları çevirerek Cassandra Sorgu Dili (CQL) protokolünü kullanarak Bigtable ile etkileşime geçmesine olanak tanır. - Datastax Zero Downtime Migration (ZDM) Proxy: Uygulamanız ile veritabanı hizmetleriniz (Cassandra-Bigtable Proxy aracılığıyla kaynak Cassandra ve hedef Bigtable) arasında bulunan açık kaynak bir proxy. Çift yazma işlemlerini düzenler ve trafik yönlendirmesini yönetir. Böylece, uygulama değişiklikleri ve kapalı kalma süresi en aza indirilerek taşıma işlemi gerçekleştirilir.
- Cassandra Veri Taşıyıcısı (CDM): Geçmiş verileri kaynak Cassandra kümesinden hedef Bigtable örneğine toplu olarak taşımak için kullanılan açık kaynak bir araçtır.
Neler öğreneceksiniz?
- Compute Engine'de temel bir Cassandra kümesi oluşturma.
- Bigtable örneği oluşturma.
- Cassandra şemasını Bigtable ile eşlemek için Cassandra-Bigtable Proxy'yi dağıtma ve yapılandırma.
- Çift yazma için Datastax ZDM Proxy'yi dağıtma ve yapılandırma.
- Mevcut verileri toplu olarak taşımak için Cassandra Veri Taşıma Aracı'nı kullanma.
- Proxy tabanlı Cassandra'dan Bigtable'a taşıma işlemi için genel iş akışı.
İhtiyacınız olanlar
- Faturalandırma özelliği etkinleştirilmiş bir Google Cloud projesi. Yeni kullanıcılar ücretsiz denemeden yararlanabilir.
- Projeler, Compute Engine, VPC ağları ve güvenlik duvarı kuralları gibi Google Cloud kavramlarıyla ilgili temel düzeyde bilgi sahibi olma Linux komut satırı araçlarına aşina olmanız gerekir.
gcloud
KSA'nın yüklü ve yapılandırılmış olduğu bir makineye erişin veya Google Cloud Shell'i kullanın.
Bu kod laboratuvarında, ağ oluşturmayı basitleştirmek için öncelikle Compute Engine'de aynı VPC ağında ve bölgedeki sanal makineleri (VM'ler) kullanacağız. Dahili IP adreslerinin kullanılması önerilir.
2. Ortamınızı ayarlama
1. Google Cloud projesi seçin veya oluşturun
Google Cloud Console'a gidin ve mevcut bir projeyi seçin veya yeni proje oluşturun. Proje kimliğinizi not edin.
2. Gerekli API'leri etkinleştirme
Projeniz için Compute Engine API ve Bigtable API'nin etkinleştirildiğinden emin olun.
gcloud services enable compute.googleapis.com bigtable.googleapis.com bigtableadmin.googleapis.com --project=<your-project-id>
yerine gerçek proje kimliğinizi yazın.
3. Bölge ve alt bölge seçin
Kaynaklarınız için bir bölge ve alt bölge seçin. Örnek olarak us-central1 ve us-central1-c bölgelerini kullanacağız. Kolaylık sağlamak için bunları ortam değişkenleri olarak tanımlayın:
export PROJECT_ID="<your-project-id>" export REGION="us-central1" export ZONE="us-central1-c" gcloud config set project $PROJECT_ID gcloud config set compute/region $REGION gcloud config set compute/zone $ZONE
4. Güvenlik duvarı kurallarını yapılandırma
Varsayılan VPC ağındaki sanal makinelerimiz arasında çeşitli bağlantı noktalarında iletişime izin vermemiz gerekir:
- Cassandra/Proxies CQL Bağlantı Noktası: 9042
- ZDM Proxy Durum Denetimi Bağlantı Noktası: 14001
- SSH: 22
Bu bağlantı noktalarında dahili trafiğe izin vermek için bir güvenlik duvarı kuralı oluşturun. Bu kuralı ilgili sanal makinelere kolayca uygulamak için cassandra-migration
etiketini kullanacağız.
gcloud compute firewall-rules create allow-migration-internal \ --network=default \ --action=ALLOW \ --rules=tcp:22,tcp:9042,tcp:14001 \ --source-ranges=10.128.0.0/9 # Adjust if using a custom VPC/IP range \ --target-tags=cassandra-migration
3. Cassandra kümesini dağıtma (Kaynak)
Bu codelab'de, Compute Engine'de basit bir tek düğümlü Cassandra kümesi oluşturacağız. Gerçek hayattan bir senaryoda, mevcut kümenize bağlanırsınız.
1. Cassandra için GCE sanal makinesi oluşturma
gcloud compute instances create cassandra-origin \ --machine-type=e2-medium \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=20GB
2. Cassandra'yı yükleme
# Install Java (Cassandra dependency) sudo apt-get update sudo apt-get install -y openjdk-11-jre-headless # Add Cassandra repository echo "deb [https://debian.cassandra.apache.org](https://debian.cassandra.apache.org) 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list curl [https://downloads.apache.org/cassandra/KEYS](https://downloads.apache.org/cassandra/KEYS) | sudo apt-key add - # Install Cassandra sudo apt-get update sudo apt-get install -y cassandra
3. Anahtar alanı ve tablo oluşturma
Bir çalışan tablosu örneği kullanacağız ve "zdmbigtable" adlı bir anahtar alanı oluşturacağız.
cd ~/apache-cassandra bin/cqlsh <your-localhost-ip? 9042 #starts the cql shell
cqlsh'de:
-- Create keyspace (adjust replication for production) CREATE KEYSPACE zdmbigtable WITH replication = {'class':'SimpleStrategy', 'replication_factor':1}; -- Use the keyspace USE zdmbigtable; -- Create the employee table CREATE TABLE employee ( name text PRIMARY KEY, age bigint, code int, credited double, balance float, is_active boolean, birth_date timestamp ); -- Exit cqlsh EXIT;
SSH oturumunu açık bırakın veya bu sanal makinenin IP adresini (ana makine adı -I) not edin.
4. Bigtable'ı (hedef) ayarlama
Süre 0:01
Bigtable örneği oluşturun. Örnek kimliği olarak zdmbigtable değerini kullanacağız.
gcloud bigtable instances create zdmbigtable \ --display-name="ZDM Bigtable Target" \ --cluster=bigtable-c1 \ --cluster-zone=$ZONE \ --cluster-num-nodes=1 # Use 1 node for dev/testing; scale as needed
Bigtable tablosu, Cassandra-Bigtable Proxy kurulum komut dosyası tarafından daha sonra oluşturulur.
5. Cassandra-Bigtable Proxy'yi ayarlama
1. Cassandra-Bigtable Proxy için Compute Engine sanal makinesi oluşturma
gcloud compute instances create bigtable-proxy-vm \ --machine-type=e2-medium \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=20GB
bigtable-proxy-vm sanal makinesine SSH ile bağlanın:
gcloud compute ssh bigtable-proxy-vm
Sanal makine içinde:
# Install Git and Go sudo apt-get update sudo apt-get install -y git golang-go # Clone the proxy repository # Replace with the actual repository URL if different git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-ecosystem.git cd cassandra-to-bigtable-proxy/ # Set Go environment variables export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
2. Proxy'yi yapılandırma
nano config.yaml
Aşağıdaki değişkenleri güncelleyin. Daha gelişmiş yapılandırma için GitHub'da sağlanan bu örneği kullanın.
#!/bin/bash
cassandraToBigtableConfigs:
# Global default GCP Project ID
projectId: <your-project-id>
listeners:
- name: cluster1
port: 9042
bigtable:
#If you want to use multiple instances then pass the instance names by comma seperated
#Instance name should not contain any special characters except underscore(_)
instanceIds: zdmbigtable
# Number of grpc channels to be used for Bigtable session.
Session:
grpcChannels: 4
otel:
# Set enabled to true or false for OTEL metrics/traces/logs.
enabled: False
# Name of the collector service to be setup as a sidecar
serviceName: cassandra-to-bigtable-otel-service
healthcheck:
# Enable the health check in this proxy application config only if the
# "health_check" extension is added to the OTEL collector service configuration.
#
# Recommendation:
# Enable the OTEL health check if you need to verify the collector's availability
# at the start of the application. For development or testing environments, it can
# be safely disabled to reduce complexity.
# Enable/Disable Health Check for OTEL, Default 'False'.
enabled: False
# Health check endpoint for the OTEL collector service
endpoint: localhost:13133
metrics:
# Collector service endpoint
endpoint: localhost:4317
traces:
# Collector service endpoint
endpoint: localhost:4317
#Sampling ratio should be between 0 and 1. Here 0.05 means 5/100 Sampling ratio.
samplingRatio: 1
loggerConfig:
# Specifies the type of output, here it is set to 'file' indicating logs will be written to a file.
# Value of `outputType` should be `file` for file type or `stdout` for standard output.
# Default value is `stdout`.
outputType: stdout
# Set this only if the outputType is set to `file`.
# The path and name of the log file where logs will be stored. For example, output.log, Required Key.
# Default `/var/log/cassandra-to-spanner-proxy/output.log`.
fileName: output/output.log
# Set this only if the outputType is set to `file`.
# The maximum size of the log file in megabytes before it is rotated. For example, 500 for 500 MB.
maxSize: 10
# Set this only if the outputType is set to `file`.
# The maximum number of backup log files to keep. Once this limit is reached, the oldest log file will be deleted.
maxBackups: 2
# Set this only if the outputType is set to `file`.
# The maximum age in days for a log file to be retained. Logs older than this will be deleted. Required Key.
# Default 3 days
maxAge: 1
# Set this only if the outputType is set to `file`.
# Default value is set to 'False'. Change the value to 'True', if log files are required to be compressed.
compress: True
Dosyayı kaydedip kapatın (nano'da Ctrl+X, ardından Y, ardından Enter).
3. Cassandra-Bigtable proxy'sini başlatma
Proxy sunucusunu başlatın.
# At the root of the cassandra-to-bigtable-proxy directory go run proxy.go
Proxy, gelen CQL bağlantıları için 9042 numaralı bağlantı noktasında başlatılır ve dinlemeye başlar. Bu terminal oturumunu çalışır durumda tutun. Bu sanal makinenin IP adresini not edin (ana makine adı -I)
4. CQL ile tablo oluşturma
cqlsh
'ü Cassandra-Bigtable Proxy sanal makinesinin IP adresine bağlayın.
cqlsh
içinde aşağıdaki komutu çalıştırın
-- Create the employee table CREATE TABLE zdmbigtable.employee ( name text PRIMARY KEY, age bigint, code int, credited double, balance float, is_active boolean, birth_date timestamp );
Google Cloud Console'da, çalışan tablosunun ve meta veri tablosunun Bigtable örneğinizde bulunduğunu doğrulayın.
6. ZDM proxy'sini ayarlama
ZDM Proxy için en az iki makine gerekir: Trafikle ilgilenen bir veya daha fazla proxy düğümü ve Ansible aracılığıyla dağıtım ve orkestrasyon için kullanılan bir "Jumphost".
1. ZDM Proxy için Compute Engine sanal makineleri oluşturma
İki sanal makineye ihtiyacımız var: zdm-proxy-jumphost ve zdm-proxy-node-1
# Jumphost VM gcloud compute instances create zdm-jumphost \ --machine-type=e2-medium \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=20GB # Proxy Node VM gcloud compute instances create zdm-proxy-node-1 \ --machine-type=e2-standard-8 \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=20GB
Her iki sanal makinenin IP adreslerini not edin.
2. Jumphost'u hazırlama
zdm-jumphost'a SSH ile bağlanın
gcloud compute ssh zdm-jumphost
# Install Git and Ansible
sudo apt-get update
sudo apt-get install -y git ansible
Atlama ana makinesinin içinde
git clone https:\/\/github.com/datastax/zdm-proxy-automation.git
cd zdm-proxy-automation/ansible/
Ana yapılandırma dosyasını (vars/zdm_proxy_cluster_config.yml) düzenleyin:
origin_contact_points ve target_contact_points değerlerini sırasıyla Cassandra sanal makinenizin ve Cassandra-Bigtable Proxy sanal makinenizin dahili IP adresleriyle güncelleyin. Kurulumunu yapmadığımız için kimlik doğrulamayı yorum satırı içine alın.
##############################
#### ORIGIN CONFIGURATION ####
##############################
## Origin credentials (leave commented if no auth)
# origin_username: ...
# origin_password: ...
## Set the following two parameters only if Origin is a self-managed, non-Astra cluster
origin_contact_points: <Your-Cassandra-VM-Internal-IP> # Replace!
origin_port: 9042
##############################
#### TARGET CONFIGURATION ####
##############################
## Target credentials (leave commented if no auth)
# target_username: ...
# target_password: ...
## Set the following two parameters only if Target is a self-managed, non-Astra cluster
target_contact_points: <Your-Bigtable-Proxy-VM-Internal-IP> # Replace!
target_port: 9042
# --- Other ZDM Proxy settings can be configured below ---
# ... (keep defaults for this codelab)
Bu dosyayı kaydedip kapatın.
3. Ansible'yi kullanarak ZDM Proxy'yi dağıtma
Ansible başucu kitabını, atlama ana makinesindeki ansible dizininden çalıştırın:
ansible-playbook deploy_zdm_proxy.yml -i zdm_ansible_inventory
Bu komut, proxy düğümüne (zdm-proxy-node-1) gerekli yazılımı (Docker gibi) yükler, ZDM Proxy Docker görüntüsünü alır ve proxy kapsayıcısını sağladığınız yapılandırmayla başlatır.
4. ZDM Proxy'nin durumunu doğrulama
Atlama ana makinesinden zdm-proxy-node-1 (14001 numaralı bağlantı noktası) üzerinde çalışan ZDM proxy'sinin hazırlık uç noktasını kontrol edin:
# Replace <zdm-proxy-node-1-internal-ip> with the actual internal IP.
curl -G http://<zdm-proxy-node-1-internal-ip>:14001/health/readiness
Hem Kaynak (Cassandra) hem de Hedef'in (Cassandra-Bigtable Proxy) UYGUN olduğunu belirten şuna benzer bir çıkış görürsünüz:
{
"OriginStatus": {
"Addr": "<Your-Cassandra-VM-Internal-IP>:9042",
"CurrentFailureCount": 0,
"FailureCountThreshold": 1,
"Status": "UP"
},
"TargetStatus": {
"Addr": "<Your-Bigtable-Proxy-VM-Internal-IP>:9042",
"CurrentFailureCount": 0,
"FailureCountThreshold": 1,
"Status": "UP"
},
"Status": "UP"
}
7. Uygulamayı yapılandırma ve ikili yazma işlemini başlatma
Süre 0:05
Gerçek bir taşıma işleminin bu aşamasında, uygulamalarınızı ZDM Proxy düğümünün IP adresine (ör. :9042) kullanabilirsiniz.
Uygulama ZDM Proxy'sine bağlandıktan sonra: Okuma işlemleri varsayılan olarak Kaynak'tan (Cassandra) sunulur. Yazma işlemleri hem Kaynak'a (Cassandra) hem de Hedef'e (Cassandra-Bigtable Proxy aracılığıyla Bigtable) gönderilir. Bu sayede, uygulamanız normal şekilde çalışmaya devam ederken yeni verilerin her iki veritabanına da aynı anda yazılmasını sağlayabilirsiniz. Atlama ana makinesinden veya ağdaki başka bir sanal makineden ZDM Proxy'ye yönlendirilen cqlsh'yi kullanarak bağlantıyı test edebilirsiniz:
Cqlsh <zdm-proxy-node-1-ip-address> 9042
Veri eklemeyi deneyin:
INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Alice', 30, true); SELECT * FROM employee WHERE name = 'Alice';
Bu veriler hem Cassandra'ya hem de Bigtable'a yazılmalıdır. Bunu Bigtable'de doğrulamak için Google Cloud Console'a gidip örneğinizin Bigtable Sorgu Düzenleyicisi'ni açın. "SELECT * FROM employee" sorgusunu çalıştırdığınızda, en son eklenen veriler görünür olmalıdır.
8. Cassandra Data Migrator'ı kullanarak geçmiş verileri taşıma
Çift yazma özelliği yeni veriler için etkinleştirildiğine göre, Cassandra'daki mevcut geçmiş verileri Bigtable'a kopyalamak için Cassandra Veri Taşıma Aracı'nı (CDM) kullanın.
1. CDM için Compute Engine sanal makinesi oluşturma
Bu sanal makinenin Spark için yeterli belleğe ihtiyacı vardır.
gcloud compute instances create cdm-migrator-vm \ --machine-type=e2-medium \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=40GB
2. Gerekli ön koşulları yükleme (Java 11, Spark)
cdm-migrator-vm sanal makinesine SSH ile bağlanın:
gcloud compute ssh cdm-migrator-vm
Sanal makine içinde:
# Install Java 11
sudo apt-get update
sudo apt-get install -y openjdk-11-jdk
# Verify Java installation
java -version
# Download and Extract Spark (Using version 3.5.3 as requested)
# Check the Apache Spark archives for the correct URL if needed
wget [https://archive.apache.org/dist/spark/spark-3.5.3/spark-3.5.3-bin-hadoop3-scala2.13.tgz](https://archive.apache.org/dist/spark/spark-3.5.3/spark-3.5.3-bin-hadoop3-scala2.13.tgz) tar -xvzf spark-3.5.3-bin-hadoop3-scala2.13.tgz
export SPARK_HOME=$PWD/spark-3.5.3-bin-hadoop3-scala2.13
export PATH=$PATH:$SPARK_HOME/bin
3. Cassandra Veri Taşıyıcı'yı indirme
CDM aracı jar dosyasını indirin. İstediğiniz sürümün doğru URL'si için Cassandra Data Migrator GitHub sürüm sayfasını kontrol edin.
# Example using version 5.2.2 - replace URL if needed
wget https://github.com/datastax/cassandra-data-migrator/releases/download/v5.2.2/cassandra-data-migrator-5.2.2.jar)
4. CDM'yi yapılandırma
cdm.properties adlı bir properties dosyası oluşturun
Nano cdm.properties
Aşağıdaki yapılandırmayı yapıştırın. IP adreslerini değiştirin ve TTL/Writetime özelliklerini devre dışı bırakın. Bu özellikler Bigtable tarafından doğrudan aynı şekilde desteklenmez. Kimlik doğrulamayı yoruma alınmış halde bırakın.
# Origin Cassandra Connection
spark.cdm.connect.origin.host <Your-Cassandra-VM-IP-Address> # Replace!
spark.cdm.connect.origin.port 9042
spark.cdm.connect.origin.username cassandra # Leave default, or set if auth is enabled #
spark.cdm.connect.origin.password cassandra # Leave default, or set if auth is enabled #
# Target Bigtable (via Cassandra-Bigtable Proxy)
Connection spark.cdm.connect.target.host <Your-Bigtable-Proxy-VM-IP-Address> # Replace!
spark.cdm.connect.target.port 9042
spark.cdm.connect.target.username cassandra # Leave default, or set if auth is enabled #
spark.cdm.connect.target.password cassandra # Leave default, or set if auth is enabled #
# Disable TTL/Writetime features (Important for Bigtable compatibility via Proxy)
spark.cdm.feature.origin.ttl.automatic false
spark.cdm.feature.origin.writetime.automatic false
spark.cdm.feature.target.ttl.automatic false
spark.cdm.feature.target.writetime.automatic false
Dosyayı kaydedip kapatın.
5. Taşıma işini çalıştırma
spark-submit kullanarak taşıma işlemini yürütün. Bu komut, Spark'a özellik dosyanızı kullanarak ve taşınacak anahtar alanını ve tabloyu belirterek CDM jar'ını çalıştırmasını söyler. Bellek ayarlarını (–driver-memory, –executor-memory) sanal makine boyutunuza ve veri hacminize göre ayarlayın.
CDM jar dosyasını ve properties dosyasını içeren dizinde olduğunuzdan emin olun. Farklı bir sürüm indirdiyseniz "cassandra-data-migrator-5.2.2.jar" dosyasını değiştirin.
./spark-3.5.3-bin-hadoop3-scala2.13/bin/spark-submit \ --properties-file cdm.properties \ --master "local[*]" \ --driver-memory 4G \ --executor-memory 4G \ --class com.datastax.cdm.job.Migrate \ cassandra-data-migrator-5.2.2.jar &> cdm_migration_$(date +%Y%m%d_%H%M).log
Taşıma işlemi arka planda çalışır ve günlükler cdm_migration_... .log. İlerleme durumu ve hatalar için günlük dosyasını izleyin:
tail -f cdm_migration_*.log
6. Veri taşıma işlemini doğrulama
CDM işi başarıyla tamamlandıktan sonra geçmiş verilerin Bigtable'de bulunduğunu doğrulayın. Cassandra-Bigtable Proxy, CQL okumalarına izin verdiğinden, verileri sorgulamak için ZDM Proxy'ye (taşıma işleminden sonra okumaları hedefe yönlendiren veya bu şekilde yapılandırılabilen) bağlı cqlsh'yi veya doğrudan Cassandra-Bigtable Proxy'yi tekrar kullanabilirsiniz. ZDM Proxy'si üzerinden bağlanma:
cqlsh <zdm-proxy-node-1-ip-address> 9042
cqlsh'de:
SELECT COUNT(*) FROM zdmbigtable.employee; -- Check row count matches origin SELECT * FROM employee LIMIT 10; -- Check some sample data
Alternatif olarak, verileri doğrudan Bigtable'de aramak için cbt aracını (CDM sanal makinesine veya Cloud Shell'e yüklüyse) kullanın:
# First, install cbt if needed
# gcloud components update
# gcloud components install cbt
# Then lookup a specific row (replace 'some_employee_name' with an actual primary key)
cbt -project $PROJECT_ID -instance zdmbigtable lookup employee some_employee_name
9. Geçiş (kavramsal)
Cassandra ile Bigtable arasındaki veri tutarlılığını ayrıntılı bir şekilde doğruladıktan sonra son geçişe geçebilirsiniz.
ZDM proxy'sinde geçiş, proxy'nin kaynak (Cassandra) yerine öncelikle hedeften (Bigtable) okuması için yeniden yapılandırılmasını içerir. Bu işlem genellikle ZDM Proxy'nin yapılandırması aracılığıyla yapılır ve uygulamanızın okuma trafiğini Bigtable'e etkili bir şekilde aktarır.
Bigtable'ın tüm trafiği doğru şekilde yayınladığından emin olduktan sonra şunları yapabilirsiniz:
- ZDM Proxy'yi yeniden yapılandırarak çift yazma işlemlerini durdurun.
- Orijinal Cassandra kümesini kullanımdan kaldırın.
- ZDM Proxy'yi kaldırın ve uygulamanın doğrudan Cassandra-Bigtable Proxy'ye bağlanmasını sağlayın veya Java için yerel Bigtable CQL istemcisini kullanın.
Geçiş için ZDM Proxy'nin yeniden yapılandırılmasına ilişkin ayrıntılar bu temel kod laboratuvarının kapsamı dışındadır ancak Datastax ZDM dokümanlarında ayrıntılı olarak açıklanmıştır.
10. Temizleme
Ödeme alınmaması için bu kod laboratuvarı sırasında oluşturulan kaynakları silin.
1. Compute Engine sanal makinelerini silme
gcloud compute instances delete cassandra-origin-vm zdm-proxy-jumphost zdm-proxy-node-1 bigtable-proxy-vm cdm-migrator-vm --zone=$ZONE --quiet
2. Bigtable örneğini silme
gcloud bigtable instances delete zdmbigtable
3. Güvenlik duvarı kurallarını silme
gcloud compute firewall-rules delete allow-migration-internal
4. Cassandra veritabanını silme (yerel olarak yüklüyse veya kalıcıysa)
Cassandra'yı burada oluşturulan bir Compute Engine sanal makinesinin dışında yüklediyseniz verileri kaldırmak veya Cassandra'yı kaldırmak için uygun adımları uygulayın.
11. Tebrikler!
Apache Cassandra'dan Bigtable'a proxy tabanlı bir taşıma yolu oluşturma işlemini başarıyla tamamladınız.
Aşağıdaki işlemleri yapmayı öğrendiniz:
Cassandra ve Bigtable'ı dağıtın.
- CQL uyumluluğu için Cassandra-Bigtable Proxy'yi yapılandırın.
- Çift yazma işlemlerini ve trafiği yönetmek için Datastax ZDM Proxy'yi dağıtın.
- Geçmiş verileri taşımak için Cassandra Veri Taşıma Aracı'nı kullanın.
Bu yaklaşım, proxy katmanından yararlanarak minimum kesinti süresi ve kod değişikliği olmadan taşıma yapılmasına olanak tanır.
Sonraki adımlar
- Bigtable belgelerini keşfetme
- Gelişmiş yapılandırmalar ve geçiş prosedürleri için Datastax ZDM Proxy belgelerine bakın.
- Daha fazla bilgi için Cassandra-Bigtable Proxy deposunu inceleyin.
- Gelişmiş kullanım için Cassandra Data Migrator deposunu kontrol edin.
- Diğer Google Cloud Codelab'leri deneyin