Önkoşullar
Verileri yerleştirebilmeniz veya çoğaltabilmeniz için önce aşağıdaki önkoşulları yerine getirdiğinizden emin olun:
-
Gerekli driver öğesini Veri Hareketi ağ geçidi sunucusuna yükleyin
Bilgi notuBu yalnızca Veri Hareketi ağ geçidi ile çalışmayı seçtiyseniz gereklidir. Veri Hareketi ağ geçidi avantajları ve ne zaman gerekli olduğu zaman hakkında bilgiler için bkz. Qlik Data Gateway - Veri Hareketi.
Unutmayın: Veri Hareketi ağ geçidi, Qlik Talend Cloud Başlangıç Kılavuzu aboneliğiyle kullanılamaz.
-
Veri kaynağında gerekli izinleri verin
-
Veri kaynağı bağlayıcısını yapılandırma
Sürücü kurulumu
driver öğesini, sürücü yükleme yardımcı programını kullanarak (önerilir) veya manuel olarak yükleyebilirsiniz. Manuel yükleme, nadir görülen şekilde sürücü yükleme yardımcı programında bir sorunla karşılaşmanız durumunda denenmelidir.
Sürücüyü yüklemek için sürücü yükleme yardımcı programı kullanma
Bu bölümde, gerekli driver öğesinin nasıl yükleneceği açıklanmıştır. Sürece, gerekli driver öğesini otomatik olarak indirecek, yükleyecek ve yapılandıracak bir komut dosyası çalıştırma işlemi dahildir. Gerektiğinde driver öğesini güncellemek ve kaldırmak için de komut dosyaları çalıştırabilirsiniz.
Yüklemeyi hazırlama
-
Python 3.6 veya daha yeni bir sürümünün Veri Hareketi ağ geçidi sunucusunda yüklü olduğundan emin olun.
Python, çoğu Linux dağıtımında önceden yüklenmiş şekilde sunulur. Aşağıdaki komutu çalıştırarak sisteminizde yüklü olan Python sürümünü öğrenebilirsiniz:
python3 --version
driver uygulamasını yükleme
driver öğesini indirip yüklemek için:
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./install postgres
driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra install postgres komutunu tekrar çalıştırın.
Aksi durumda, driver öğesinin EULA'sı görünür.
-
Şunlardan birini yapın:
- EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
- EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
- Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
-
Şunlardan birini yapın:
- EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
- EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
-
EULA'yı tekrar görüntülemek için "v" yazıp [Enter] tuşuna basın.
driver yüklenir.
driver öğesini güncelleme
Sağlanan driver öğesini yüklemeden önce driver öğesinin eski sürümlerini kaldırmak istiyorsanız güncelleme komutunu çalıştırın.
driver öğesini indirip güncellemek için:
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./update postgres
driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra update postgres komutunu tekrar çalıştırın.
Aksi durumda, driver öğesinin EULA'sı görünür.
-
Şunlardan birini yapın:
- EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
- EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
- Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
-
Şunlardan birini yapın:
- EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
- EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
- EULA'yı baştan incelemek için "v" yazıp [Enter] tuşuna basın.
Eski driver kaldırılacak ve yeni driver yüklenecektir.
driver öğesini kaldırma
driver öğesini kaldırmak istiyorsanız kaldırma komutunu çalıştırın.
driver öğesini kaldırmak için:
-
Bu bağlayıcıyı kullanmak için yapılandırılan tüm görevleri durdurun.
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./uninstall postgres
driver kaldırılacaktır.
Sürücüyü manuel olarak yükleme
driver öğesini manuel olarak yüklemeyi yalnızca otomatik sürücü yükleme başarıyla tamamlanmadığında denemelisiniz.
Veri Hareketi ağ geçidi yüklendikten sonra aşağıdaki RPM dosyalarını indirin. Dosyaların doğrudan indirme bağlantılarını /opt/qlik/gateway/movement/drivers/manifests/postgres.yamliçinde binary-artifacts altında bulabilirsiniz. İndirme tamamlandığında dosyaları Veri Hareketi ağ geçidi makinesine kopyalayın.
Veri Hareketi ağ geçidi uygulaması Red Hat 9.x üzerine yüklendiğinde:
- postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.
Veri Hareketi ağ geçidi uygulaması Red Hat 8.x üzerine yüklendiğinde:
- postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm
Veri Hareketi ağ geçidi sunucusunda bir kabuk istemi açıp şunu yapın:
-
Veri Hareketi ağ geçidi hizmetini durdurun:
sudo systemctl stop repagent
-
İsteğe bağlı olarak hizmetin durduğunu doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: inactive (dead) since <timestamp> ago
-
RPM dosyalarını yükleyin.
-
<Veri Hareketi ağ geçidi-Yukleme-Dizini>/bin dizinine geçin.
-
Sürücü konumunu site_arep_login.sh dosyasına aşağıdaki gibi kopyalayın:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Bu, sürücüyü "LD_LIBRARY_PATH" değişkenine ekler ve site_arep_login.sh dosyasında sürücü konumunu günceller.
-
İsteğe bağlı olarak sürücü konumunun kopyalandığını doğrulayın:
cat site_arep_login.sh
-
/etc/odbcinst.ini dosyasının aşağıdaki örnekteki gibi PostgreSQL için bir giriş içerdiğinden emin olun:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Veri Hareketi ağ geçidi hizmetini başlatın:
sudo systemctl start repagent
-
İsteğe bağlı olarak hizmetin başladığını doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: active (running) since <timestamp> ago
Bağlantı noktası
Veri Hareketi ağ geçidi sunucusunda 5432 numaralı bağlantı noktasının giden iletişim için varsayılan olarak açılması gerekir. Bunu bağlayıcı ayarlarında değiştirebilirsiniz.
Müşteri tarafından yüklenmiş bir PostgreSQL veritabanından değişiklik yakalama
-
Data Movement gateway makinesinin IP adresi pg_hba.conf yapılandırma dosyasına, veritabanı alanında "replication" anahtar sözcüğü ile eklenmelidir.
Örnek:
host replication all 176.123.1.212/32 trust
-
test_decoding çıktı eklentisinin (postgresql12-contrib paketinde bulunur) yüklendiğinden emin olun.
-
Veritabanında "yuva" oluşturmaya izin vermek için bağlantı ayarlarında belirtilen kullanıcıya kaynak veritabanında okuma-yazma izinleri verilmelidir. Yuvalar, değişiklikleri okumak için gereklidir.
-
Aşağıdaki parametreler ve değerler postgresql.conf yapılandırma dosyasında ayarlanmalıdır.
wal_level = logicalmax_replication_slots = number of replication slotsBurada number of replication slots birden büyük olmalı ve çalıştırmak istediğiniz görevlerin sayısına göre ayarlanmalıdır. Örneğin beş görev çalıştırmak için max_replication_slots = 5 değerini ayarlamalısınız. Görev çalışmaya başlar başlamaz yuvalar otomatik olarak açılır ve görevin çalışması bittikten sonra da açık kalır. Açık yuvaların manuel olarak silinmesi gerektiğini unutmayın.
max_wal_senders = number of concurrent tasks
Burada number of concurrent tasks birden büyük olmalı ve eşzamanlı olarak çalıştırmakta olduğunuz görev sayısına göre ayarlanmalıdır. Örneğin, üç görevi eş zamanlı olarak çalıştırmak için max_wal_senders = 3 değerini ayarlamalısınız.
-
wal_sender_timeout parametresi, belirtilen sayıda milisaniyeden daha uzun süre eylemsiz kalan bağlantıları sonlandırır. Varsayılan zaman aşımı 60 saniyedir. Zaman aşımı mekanizmasını devre dışı bırakmak için (isteğe bağlı), bu parametreyi sıfıra ayarlayın.
Bilgi notuVarsayılan olarak wal_sender_timeout parametresinin değeri sunucu tarafından milisaniye olarak yorumlanır. Saniyeleri açık olarak belirtmek için aşağıdaki örnekte olduğu gibi değerin arkasına bir "s" ekleyin.
wal_sender_timeout=60s
Yapılandırma parametreleriyle ilgili daha fazla bilgi edinmek için PostgreSQL çevrimiçi yardımındaki Sunucu Yapılandırması kısmında yer alan Replication bölümüne bakın.
Amazon RDS for PostgreSQL'dan değişiklik yakalama
PostgreSQL için Amazon RDS kaynak uç noktası kullanıcısı olarak PostgreSQL veritabanı örneğinin AWS ana kullanıcı hesabını kullanabilirsiniz. Ana kullanıcı hesabı, Değişim Verisi Yakalama (CDC) özelliğini ayarlamasını sağlayacak gerekli rollere sahiptir.
Ana kullanıcı hesabını kullanmamayı tercih ediyorsanız kullanmak istediğiniz hesabın rds_superuser rolü ve rds_replication rolü olmalıdır. rds_replication role, mantıksal yuvaları yönetme ve mantıksal yuvaları kullanarak veri akışı yapma izinleri verir.
Amazon RDS PostgreSQL veritabanı örneğinde mantıksal çoğaltmayı etkinleştirmek için:
- Aşağıdaki yapılandırmaya sahip yeni bir parametre grubu oluşturun:
- Veritabanı parametre grubunda rds.logical_replication parametresini 1 olarak ayarlayın.
- max_wal_senders – Paralel çalıştırılabilecek görevlerin sayısı.
- max_replication_slots – Her bağlantı (yani görev) yeni bir yuva oluşturur; bu parametre, veritabanıyla kurulabilecek eşzamanlı bağlantı miktarını yapılandırır.
-
Amazon RDS örneğini parametre grubuna bağlayın.
Microsoft Azure for PostgreSQL'dan değişiklik yakalama
PostgreSQL için Microsoft Azure'dan değişiklikleri yakalamak için aşağıdaki adımlarda açıklandığı gibi "replication" özelliğini "logical" olarak ayarlamanız gerekir.
-
Azure CLI'yi açın ve aşağıdaki komutu çalıştırın:
Bilgi notuCLI'yi indirebilir veya Azure portalında bir kabuk komutuyla bağlanabilirsiniz.
Söz Dizimi:
az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical
Örnek:
az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical
- Veritabanını yeniden başlatın (komut satırını kullanarak veya portal yoluyla).
Google Cloud SQL for PostgreSQL'den değişiklik yakalama
Veritabanındaki değişiklikleri yakalayabilmek için mantıksal çoğaltmayı ayarlamanız gerekir.
Mantıksal çoğaltmayı ayarlamak için:
-
Google Cloud platformunda, PostgreSQL ayarlarında aşağıdaki bayrakları ayarlayın:
- cloudsql.logical_decoding=on
- max_replication_slots: Her bağlantı yeni bir yuva oluşturur; bu parametre, veritabanıyla kurulabilecek eşzamanlı bağlantı miktarını yapılandırır. Performans sorunlarıyla karşılaşırsanız bu değeri artırmak yardımcı olabilir.
- max_wal_senders: Paralel olarak çalışabilen görev sayısı. Performans sorunlarıyla karşılaşırsanız bu değeri artırmak yardımcı olabilir.
Bu parametreler hakkında daha fazla bilgi için bk. https://www.postgresql.org/docs/current/runtime-config-replication.html
-
Veritabanında, connector ayarlarında (username) belirtilen kullanıcıyı çoğaltmayı destekleyecek şekilde değiştirin:
ALTER USER username WITH REPLICATION;