Edge for Private Cloud v4.18.01
Dokumen ini menjelaskan cara menambahkan pusat data (juga disebut region) ke pusat data yang ada.
Pertimbangan sebelum menambahkan pusat data
Sebelum menginstal pusat data, Anda harus memahami cara mengonfigurasi server OpenLDAP, ZooKeeper, Cassandra, dan Postgres di seluruh pusat data. Anda juga harus memastikan bahwa port yang diperlukan terbuka di antara node di dua pusat data.
- OpenLDAP
Setiap pusat data memiliki server OpenLDAP sendiri yang dikonfigurasi dengan replikasi diaktifkan. Saat menginstal pusat data baru, Anda harus mengonfigurasi OpenLDAP untuk menggunakan replikasi, dan Anda harus mengonfigurasi ulang server OpenLDAP di pusat data yang ada untuk menggunakan replikasi. - ZooKeeper
Untuk properti ZK_HOSTS untuk kedua pusat data, tentukan alamat IP atau nama DNS dari semua node ZooKeeper dari kedua pusat data, dalam urutan yang sama, dan tandai node apa pun dengan pengubah “:observer”. Node tanpa pengubah “:observer” disebut "voters". Anda harus memiliki jumlah "pemilih" yang ganjil dalam konfigurasi.
Dalam topologi ini, host ZooKeeper pada host 9 adalah observer:
Dalam contoh file konfigurasi yang ditunjukkan di bawah, node 9 diberi tag dengan pengubah “:observer” sehingga Anda memiliki lima pemilih: Node 1, 2, 3, 7, dan 8.
Untuk properti ZK_CLIENT_HOSTS untuk setiap pusat data, tentukan alamat IP atau nama DNS hanya untuk node ZooKeeper di pusat data, dalam urutan yang sama, untuk semua node ZooKeeper di pusat data. - Cassandra
Semua pusat data harus memiliki jumlah node Cassandra yang sama.
Untuk CASS_HOSTS untuk setiap pusat data, pastikan Anda menentukan semua alamat IP Cassandra (bukan nama DNS) untuk kedua pusat data. Untuk pusat data 1, cantumkan node Cassandra di pusat data tersebut terlebih dahulu. Untuk pusat data 2, cantumkan node Cassandra di pusat data tersebut terlebih dahulu. Cantumkan node Cassandra dalam urutan yang sama untuk semua node Cassandra di pusat data.
Semua node Cassandra harus memiliki akhiran ':<d>,<r>', misalnya '<ip>:1,1 = pusat data 1 dan zona rak/ketersediaan 1 serta '<ip>:2,1 = pusat data 2 dan zona rak/ketersediaan 1.
Misalnya, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"
Node pertama di rak/zona ketersediaan 1 di setiap pusat data akan digunakan sebagai server seed. Dalam model deployment ini, penyiapan Cassandra akan terlihat seperti ini:
-
Postgres
Secara default, Edge menginstal semua node Postgres dalam mode master. Namun, jika memiliki beberapa pusat data, Anda dapat mengonfigurasi node Postgres untuk menggunakan replikasi master-standby sehingga jika node master gagal, node standby dapat terus melayani traffic server. Biasanya, Anda mengonfigurasi server Postgres master di satu pusat data, dan server standby di pusat data kedua.
Jika data center yang ada sudah dikonfigurasi agar memiliki dua node Postgres yang berjalan dalam mode master/standby, sebagai bagian dari prosedur ini, batalkan pendaftaran node standby yang ada dan ganti dengan node standby di data center baru.
Tabel berikut menunjukkan konfigurasi Postgres sebelum dan sesudah untuk kedua skenario:
Sebelum
Setelah
Satu node Master Postgres di dc-1
Node Postgres master di dc-1
Node Postgres standby di dc-2
Node Postgres master di dc-1
Node Postgres standby di dc-1
Node Postgres master di dc-1
Node Postgres standby di dc-2
Membatalkan pendaftaran node Standby Postgres lama di dc-1
- Persyaratan port
Anda harus memastikan bahwa port yang diperlukan terbuka di antara node di dua pusat data. Untuk diagram port, lihat Persyaratan Penginstalan.
Memperbarui pusat data yang ada
Untuk menambahkan pusat data, Anda harus melakukan langkah-langkah untuk menginstal dan mengonfigurasi node pusat data baru, tetapi Anda juga harus mengupdate node di pusat data asli. Modifikasi ini diperlukan karena Anda menambahkan node Cassandra dan ZooKeeper baru di pusat data baru yang harus dapat diakses oleh pusat data yang ada, dan Anda harus mengonfigurasi ulang OpenLDAP untuk menggunakan replikasi.
Membuat file konfigurasi
Berikut adalah file konfigurasi senyap untuk dua pusat data, dengan setiap pusat data memiliki 6 node seperti yang ditunjukkan dalam Topologi Penginstalan. Perhatikan bahwa file konfigurasi untuk dc-1 menambahkan setelan tambahan ke:
- Mengonfigurasi OpenLDAP dengan replikasi di dua node OpenLDAP.
- Tambahkan node Cassandra dan ZooKeeper baru dari dc-2 ke file konfigurasi untuk dc-1.
# Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
Prosedur untuk menambahkan pusat data baru
Dalam prosedur ini, pusat data diberi nama:
- dc-1: pusat data yang ada
- dc-2: pusat data baru
- Di dc-1, jalankan kembali setup.sh di node Cassandra asli dengan file konfigurasi dc-1 baru
yang menyertakan node Cassandra dari dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1 - Di dc-1, jalankan kembali setup.sh di node Server Pengelolaan:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 - Di dc-2, instal apigee-setup di semua node. Lihat Menginstal utilitas penyiapan apigee Edge untuk mengetahui informasi selengkapnya.
- Di dc-2, instal Cassandra dan ZooKeeper di node yang sesuai:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 - Di dc-2, jalankan perintah build ulang di semua node Cassandra, dengan menentukan
nama region dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1 - Di dc-2, instal Server Pengelolaan di node yang sesuai:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 - Di node Server Pengelolaan di dc-2, instal
apigee-provision, yang menginstal
utilitas apigee-adminapi.sh:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision install - Di dc-2, instal Routes dan Message Processor di node yang sesuai:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 - Di dc-2, instal Qpid di node yang sesuai:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 - Di dc-2, instal Postgres di node yang sesuai:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 - Menyiapkan master/standby Postgres untuk node Postgres. Node Postgres di dc-1 adalah master, dan node Postgres di dc-2 adalah server standby.
Catatan: Jika dc-1 sudah dikonfigurasi agar memiliki dua node Postgres yang berjalan dalam mode master/standby, sebagai bagian dari prosedur ini, gunakan node master Postgres yang ada di dc-1 sebagai master, dan node Postgres di dc-2 sebagai server standby. Nantinya dalam prosedur ini, Anda akan membatalkan pendaftaran server standby Postgres yang ada di dc-1.- Pada node master di dc-1, edit file konfigurasi untuk menetapkan:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Aktifkan replikasi di master baru:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle - Di node standby di dc-2, edit file konfigurasi untuk menetapkan:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Pada node standby di dc-2, hentikan server, lalu hapus semua data Postgres yang sudah ada:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
> rm -rf /opt/apigee/data/apigee-postgresql/
Catatan yang diperlukan sebelum Anda menghapus data cadangan. - Konfigurasikan node standby di dc-2:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Pada node master di dc-1, edit file konfigurasi untuk menetapkan:
- Di dc-1, perbarui konfigurasi analisis dan konfigurasikan organisasi.
- Di node Server Pengelolaan dc-1, dapatkan UUID node Postgres:
> apigee-adminapi.sh domains list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost
UUID akan muncul di akhir data yang ditampilkan. Simpan nilai tersebut.
Catatan: Jika dc-1 dikonfigurasi agar memiliki dua node Postgres yang berjalan dalam mode master/standby, Anda akan melihat dua alamat IP dan UUID dalam output. Simpan kedua UUID. Dari IP, Anda akan dapat menentukan UUID mana yang ditujukan untuk master dan mana yang ditujukan untuk node standby. - Di node Server Pengelolaan dc-2, dapatkan UUID node Postgres seperti yang ditunjukkan pada langkah sebelumnya. Simpan nilai tersebut.
- Di node Server Pengelolaan dc-1, tentukan nama grup konsumen dan analitik. Banyak perintah di bawah memerlukan informasi tersebut.
Secara default, nama grup analisis adalah axgroup-001, dan nama grup konsumen adalah consumer-group-001. Di file konfigurasi senyap untuk suatu region, Anda dapat menetapkan nama grup analisis menggunakan properti AXGROUP.
Jika Anda tidak yakin dengan nama grup analisis dan konsumen, gunakan perintah berikut untuk menampilkannya:
> apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost
Perintah ini menampilkan nama grup analisis di kolom nama, dan nama grup konsumen di kolom grup konsumen. - Di node Server Pengelolaan dc-1, hapus server Postgres yang ada dari grup analisis:
- Hapus node Postgres dari grup konsumen:
> apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost
Jika dc-1 dikonfigurasi agar memiliki dua node Postgres yang berjalan dalam mode master/standby, hapus keduanya:
> apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost - Hapus node Postgres dari grup analisis:
> apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost
Jika dc-1 dikonfigurasi agar memiliki dua node Postgres yang berjalan dalam mode master/standby, hapus keduanya:
> apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
- Hapus node Postgres dari grup konsumen:
-
Di node Server Pengelolaan dc-1, tambahkan server Postgres
master/standby baru ke grup analisis:
- Tambahkan kedua server Postgres ke grup analisis:
> apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
dengan UUID_1 sesuai dengan node Postgres master di dc-1, dan UUID_2 sesuai dengan node Postgres standby di dc-2. - Tambahkan server PG ke grup konsumen sebagai master/standby:
> apigee-adminapi.sh analytics groups consumer_groups datastores add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
- Tambahkan kedua server Postgres ke grup analisis:
- Tambahkan server Qpid dari dc-2 ke grup analisis:
- Pada node Server Pengelolaan dc-1, dapatkan UUID node Qpid
di dc-2:
> apigee-adminapi.sh server list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost
Simpan nilai-nilai tersebut. - Pada node Server Pengelolaan Server dari dc-1, tambahkan node Qpid ke grup analisis ke grup analisis (jalankan kedua perintah berikut ke grup analisis (jalankan kedua perintah):
>apigee-adminapi.sh. analytics groups qpid_server add -g axgroup-001 -. - Di node Server Pengelolaan dc-1, tambahkan node Qpid ke grup konsumen (jalankan kedua perintah):
> apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_1" --admin adminEmail --pwd adminPword --host localhost
> apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_2" --admin adminEmail --pwd adminPword --host localhost
- Pada node Server Pengelolaan dc-1, dapatkan UUID node Qpid
di dc-2:
- Batalkan pendaftaran dan hapus server standby Postgres lama dari dc-1:
- Batalkan pendaftaran server standby Postgres dc-1 yang ada:
> apigee-adminapi.sh servers deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost
dengan UUID adalah node Postgres standby lama di dc-1. - Hapus server standby Postgres dc-1 yang ada:
Catatan: Perintah ini tidak meng-uninstal node server Postgres. Tindakan ini hanya menghapusnya dari daftar node Edge. Anda dapat meng-uninstal Postgres pada lain waktu dari node, jika diperlukan.
> apigee-adminapi.sh servers delete -u UUID --admin adminEmail --pwd adminPword --host localhost
- Batalkan pendaftaran server standby Postgres dc-1 yang ada:
- Di node Server Pengelolaan dc-1, dapatkan UUID node Postgres:
- Perbarui keyspace Cassandra dengan faktor replikasi yang benar untuk kedua pusat data tersebut. Anda
hanya perlu menjalankan langkah ini satu kali di server Cassandra di salah satu pusat data:
Catatan: Perintah di bawah ini menetapkan semua faktor replikasi ke "3", yang menunjukkan tiga node Cassandra di cluster. Ubah nilai ini sesuai kebutuhan untuk penginstalan Anda.- Mulai utilitas cqlsh Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Jalankan perintah CQL berikut di prompt "cqlsh>" guna menetapkan tingkat replikasi untuk keyspace Cassandra:
- cqlsh> ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Lihat ruang kunci menggunakan perintah:
cqlsh> select * from system.schema_keyspaces; - Keluar dari cqlsh:
cqlsh> exit
- Mulai utilitas cqlsh Cassandra:
- Jalankan perintah nodetool berikut di semua node Cassandra di dc-1 untuk mengosongkan memori:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup - Untuk setiap organisasi dan untuk setiap lingkungan yang ingin Anda dukung di seluruh pusat data:
- Di node Server Pengelolaan dc-1, tambahkan MP_POD baru ke Organisasi:
> apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
dengan gateway-2 adalah nama pod gateway seperti yang ditentukan oleh properti MP_POD dalam file konfigurasi dc-2. - Tambahkan Pemroses Pesan baru ke organisasi dan lingkungan:
- Di node Server Pengelolaan dc-2, dapatkan UUID node Message Processor di dc-2:
> apigee-adminapi.sh servers list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost
UUID muncul di akhir data yang ditampilkan. Simpan nilai tersebut. - Di node Server Pengelolaan dc-1, untuk setiap Message Processor di dc-2, tambahkan Message Processor ke lingkungan untuk organisasi:
> apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
- Di node Server Pengelolaan dc-2, dapatkan UUID node Message Processor di dc-2:
- Di node Server Pengelolaan dc-1, periksa organisasi:
> apigee-adminapi.sh orgs apis deployment -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost
dengan apiProxyName adalah nama proxy API yang di-deploy di organisasi.
- Di node Server Pengelolaan dc-1, tambahkan MP_POD baru ke Organisasi: