Wymagania wstępne
Zanim będzie można umieszczać lub replikować dane, należy spełnić następujące wymagania wstępne:
-
Zainstaluj wymagany driver na serwerze bramy Brama danych ruchu danych
InformacjaJest to wymagane tylko wtedy, gdy pracujesz z bramą Brama danych ruchu danych. Informacje o zaletach bramy Brama danych ruchu danych i o okolicznościach, w których jest wymagana, zawiera temat Brama danych Qlik — ruch danych.
Brama Brama danych ruchu danych jest niedostępna z subskrypcją Qlik Talend Cloud Starter.
-
Przyznaj wymagane uprawnienia w źródle danych
-
Skonfiguruj łącznik źródła danych
Konfiguracja sterowników
Sterownik driver można zainstalować za pomocą Narzędzia do instalacji sterowników (zalecane) lub ręcznie. Instalacji ręcznej należy próbować tylko w mało prawdopodobnym przypadku wystąpienia problemu z Narzędziem do instalacji sterowników.
Używanie Narzędzia do instalacji sterowników w celu instalacji sterownika
W tej sekcji opisano, jak zainstalować wymagany driver. Proces ten obejmuje uruchomienie skryptu, który automatycznie pobierze, zainstaluje i skonfiguruje wymagany driver. W razie potrzeby można także uruchamiać skrypty, aby zaktualizować i odinstalować driver.
Przygotowanie instalacji
-
Na serwerze bramy Ruch danych musi być zainstalowane środowisko Python 3.6 lub nowsze.
Środowisko Python jest preinstalowane w większości dystrybucji systemu Linux. Aby sprawdzić, która wersja środowiska Pythona jest zainstalowana w Twoim systemie, uruchom następujące polecenie:
python3 --version
Instalowanie aplikacji driver
Aby pobrać i zainstalować driver:
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
Wykonaj następujące polecenie:
Składnia:
./install postgres
Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie install postgres.
W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.
-
Wykonaj jedną z poniższych czynności:
- Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
- Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
- Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
-
Wykonaj jedną z poniższych czynności:
- Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
- Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
-
Wpisz „v” i naciśnij klawisz [Enter], aby ponownie wyświetlić umowę licencyjną.
Zostanie zainstalowany driver.
driver — aktualizacja
Uruchom polecenie aktualizacji, jeśli chcesz odinstalować driver w poprzedniej wersji, zanim zainstalujesz dostarczony driver.
Aby pobrać i zaktualizować driver:
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
Wykonaj następujące polecenie:
Składnia:
./update postgres
Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie update postgres.
W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.
-
Wykonaj jedną z poniższych czynności:
- Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
- Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
- Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
-
Wykonaj jedną z poniższych czynności:
- Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
- Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
- Wpisz „v” i naciśnij klawisz [Enter], aby wyświetlić umowę licencyjną od początku.
Stary driver zostanie odinstalowany, a zainstalowany zostanie nowy driver.
driver — odinstalowywanie
Uruchom polecenie odinstalowania, jeśli chcesz odinstalować driver.
Aby odinstalować driver:
-
Zatrzymaj wszystkie zadania skonfigurowane do korzystania z tego łącznika.
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
Wykonaj następujące polecenie:
Składnia:
./uninstall postgres
Sterownik driverzostanie odinstalowany.
Instalowanie sterownika ręcznie
Sterownik driver należy instalować ręcznie tylko wtedy, gdy automatyczna instalacja nie zakończyła się pomyślnie.
Po zainstalowaniu Brama danych ruchu danych pobierz następujące pliki RPM. Łącza do bezpośredniego pobrania tych plików można znaleźć w sekcji binary-artifacts w pliku /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Po zakończeniu pobierania skopiuj pliki na komputer z Brama danych ruchu danych.
Kiedy brama Brama danych ruchu danych jest zainstalowana w systemie Red Hat 9.x:
- postgresql<wersja>-libs-<wersja>PGDG.rhel9.x86_64.rpm
- postgresql<wersja>-<wersja>PGDG.rhel8.x86_64.rpm
- postgresql<wersja>-odbc-<wersja>PGDG.rhel8.x86_64.rpm
Kiedy brama Brama danych ruchu danych jest zainstalowana w systemie Red Hat 8.x:
- 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
Na serwerze Data Movement gateway otwórz wiersz poleceń i wykonaj następujące czynności:
-
Zatrzymaj usługę Data Movement gateway:
sudo systemctl stop repagent
-
Opcjonalnie potwierdź, że usługa została zatrzymana:
sudo systemctl status repagent
Status powinien być następujący:
Active: inactive (dead) since <timestamp> ago
-
Zainstaluj pliki RPM.
-
Zmień katalog roboczy na <Data Movement gateway-Install-Dir>/bin.
-
Skopiuj lokalizację sterownika do pliku site_arep_login.sh w następujący sposób:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Spowoduje to dodanie sterownika do "LD_LIBRARY_PATH" i zaktualizuje lokalizację sterownika w pliku site_arep_login.sh.
-
Opcjonalnie potwierdź, że lokalizacja sterownika została skopiowana:
cat site_arep_login.sh
-
Upewnij się, że w pliku /etc/odbcinst.ini znajduje się wpis dotyczący PostgreSQL, jak w poniższym przykładzie:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Uruchom usługę Data Movement gateway:
sudo systemctl start repagent
-
Opcjonalnie potwierdź, że usługa została uruchomiona:
sudo systemctl status repagent
Status powinien być następujący:
Active: active (running) since <timestamp> ago
Port
Port 5432 musi być domyślnie otwarty dla komunikacji wychodzącej na serwerze Data Movement gateway. Można to zmienić w ustawieniach złącza.
Rejestrowanie zmian z zainstalowanej przez klienta bazy danych PostgreSQL
-
Adres IP komputera Data Movement gateway należy dodać do pliku konfiguracji pg_hba.conf ze słowem kluczowym „replication” w polu bazy danych.
Przykład:
host replication all 176.123.1.212/32 trust
-
Należy zainstalować wtyczkę danych wyjściowych test_decoding (która znajduje się w pakiecie postgresql12-contrib).
-
Użytkownik określony w ustawieniach połączenia musi mieć przyznane uprawnienia do zapisu i odczytu źródłowej bazy danych, aby umożliwić tworzenie „okien czasowych” w bazie danych. Okna czasowe są wymagane do odczytu zmian.
-
W pliku konfiguracji postgresql.conf należy ustawić następujące parametry i wartości.
wal_level = logicalmax_replication_slots = number of replication slotsGdzie number of replication slots musi być większa niż jeden oraz ustawiona zgodnie z liczbą uruchamianych zadań. Jeśli na przykład jest uruchamianych pięć zadań, należy ustawić max_replication_slots = 5. Okna czasowe otwierają się automatycznie przy rozpoczęciu zadania i pozostają otwarte, nawet jeśli zadanie już nie jest aktywne. Otwarte okna czasowe należy usuwać ręcznie.
max_wal_senders = number of concurrent tasks
Gdzie number of concurrent tasks musi być większa niż jeden oraz ustawiona zgodnie z liczbą zadań, które są wykonywane jednocześnie. Jeśli na przykład jednocześnie są wykonywane trzy zadania, należy ustawić max_wal_senders = 3.
-
Parametr wal_sender_timeout przerywa połączenia, które są nieaktywne dłużej niż od określonej liczby milisekund. Wartością domyślną limitu czasu jest 60 sekund. Aby wyłączyć mechanizm limitu czasu (opcjonalnie), należy ustawić parametr na zero.
InformacjaDomyślnie wartość wal_sender_timeout parametru jest interpretowana przez serwer jako milisekundy. Aby jawnie określić sekundy, należy do wartości dodać „s” zgodnie z poniższym przykładem:
wal_sender_timeout=60s
Aby uzyskać więcej informacji na temat parametrów konfiguracyjnych, zobacz sekcję Replikacja w sekcji Konfiguracja serwera w pomocy online PostgreSQL.
Rejestrowanie zmian z Amazon RDS for PostgreSQL
Głównego konta użytkownika AWS można użyć dla instancji bazy danych PostgreSQL jako użytkownika dla Amazon RDS dla punktu końcowego źródła PostgreSQL. Główne konto użytkownika ma wymagane role, które umożliwiają konfigurację Przechwytywania zmian danych (CDC).
Jeśli nie chcesz używać głównego konta użytkownika, to konto, którego zamierzasz użyć, musi mieć role rds_superuser i rds_replication. Rola rds_replication nadaje uprawnienia do zarządzania miejscami logicznymi oraz strumieniowania danych przy użyciu miejsc logicznych.
Aby włączyć replikację logiczną dla instancji bazy danych Amazon RDS PostgreSQL:
- Utwórz nową grupę parametrów o następującej konfiguracji:
- Ustaw parametr rds.logical_replication w grupie parametrów bazy danych na 1.
- max_wal_senders – liczba zadań, które mogą być uruchomione równolegle.
- max_replication_slots – każde połączenie (tj. zadanie) tworzy nowe miejsce. Ten parametr określa liczbę jednoczesnych połączeń z bazą danych.
-
Połącz instancję Amazon RDS z grupą parametrów.
Rejestrowanie zmian z Microsoft Azure for PostgreSQL
Aby móc przechwytywać zmiany z bazy danych Microsoft Azure for PostgreSQL, należy ustawić własność "replication" na wartość "logical" zgodnie z poniższym opisem.
-
Otwórz wiersz poleceń Azure i wykonaj następujące polecenie:
InformacjaMożesz pobrać wiersz poleceń lub możesz połączyć się przez polecenie powłoki w portalu Azure.
Składnia:
az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical
Przykład:
az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical
- Uruchom ponownie bazę danych (za pomocą wiersza poleceń lub przez portal).
Rejestrowanie zmian z Google Cloud SQL for PostgreSQL
Aby móc przechwytywać zmiany z bazy danych, należy skonfigurować replikację logiczną.
Aby skonfigurować replikację logiczną:
-
Na platformie Google Cloud ustaw następujące flagi w ustawieniach PostgreSQL:
- cloudsql.logical_decoding=on
- max_replication_slots: Każde połączenie (tj. zadanie) tworzy nowe miejsce. Ten parametr określa liczbę jednoczesnych połączeń z bazą danych. Jeśli wystąpią problemy z wydajnością, może pomóc zwiększenie tej wartości.
- max_wal_senders: Liczba zadań, które mogą być uruchomione równolegle. Jeśli wystąpią problemy z wydajnością, może pomóc zwiększenie tej wartości.
Aby uzyskać więcej informacji na temat tych parametrów, zobacz https://www.postgresql.org/docs/current/runtime-config-replication.html
-
W bazie danych zmień użytkownika określonego w ustawieniach connector (username), aby obsługiwał replikację:
ALTER USER username WITH REPLICATION;