Persyaratan penginstalan

Persyaratan hardware

Anda harus memenuhi persyaratan hardware minimum berikut untuk infrastruktur dengan ketersediaan tinggi di lingkungan tingkat produksi.

Video berikut memberikan panduan ukuran tingkat tinggi untuk penginstalan Anda:

Untuk semua skenario penginstalan yang dijelaskan dalam Topologi penginstalan, tabel berikut mencantumkan persyaratan hardware minimum untuk komponen penginstalan.

Dalam tabel ini, persyaratan hard disk adalah tambahan dari ruang hard disk yang diperlukan oleh sistem operasi. Bergantung pada aplikasi dan traffic jaringan, penginstalan Anda mungkin memerlukan lebih banyak atau lebih sedikit resource daripada yang tercantum di bawah.

Komponen Penginstalan RAM CPU Hard disk minimum
Cassandra 16 GB 8-core Penyimpanan lokal 250 GB dengan SSD yang mendukung 2.000 IOPS
Pemroses/Router Pesan di mesin yang sama 16 GB 8-core 100 GB
Message Processor (mandiri) 16 GB 8-core 100 GB
Router (mandiri) 16 GB 8-core 100 GB
Analytics - Postgres/Qpid di server yang sama 16GB* 8 core* Penyimpanan jaringan 500 GB - 1 TB*****, sebaiknya dengan backend SSD, yang mendukung 1.000 IOPS atau lebih tinggi*
Analytics - Postgres master atau standby (mandiri) 16GB* 8-core* Penyimpanan jaringan 500 GB - 1 TB*****, sebaiknya dengan backend SSD, yang mendukung 1.000 IOPS atau lebih tinggi*
Analytics - Qpid mandiri 8 GB 4 core Penyimpanan lokal 30 GB - 50 GB dengan SSD

Ukuran antrean Qpid default adalah 1 GB, yang dapat ditingkatkan menjadi 2 GB. Jika Anda memerlukan kapasitas lebih besar, tambahkan node Qpid tambahan.

Server OpenLDAP/UI/Pengelolaan 8 GB 4 core 60 GB
Server UI/Pengelolaan 4 GB 2 core 60 GB
OpenLDAP (mandiri) 4 GB 2 core 60 GB

* Sesuaikan persyaratan sistem Postgres berdasarkan throughput:

  • Kurang dari 250 TPS: 8 GB, 4 core dapat dipertimbangkan dengan penyimpanan jaringan terkelola*** yang mendukung 1.000 IOPS atau lebih tinggi
  • Lebih dari 250 TPS: Penyimpanan jaringan terkelola 16 GB, 8 core, *** yang mendukung 1.000 IOPS atau lebih tinggi
  • Lebih dari 1.000 TPS: Penyimpanan jaringan terkelola 16 GB, 8 core, *** yang mendukung 2.000 IOPS atau lebih tinggi
  • Lebih dari 2.000 TPS: Penyimpanan jaringan terkelola 32 GB, 16 core, *** yang mendukung 2.000 IOPS atau lebih tinggi
  • Lebih dari 4.000 TPS: Penyimpanan jaringan terkelola 64 GB, 32 core, *** yang mendukung 4.000 IOPS atau lebih tinggi

** Nilai hard disk Postgres didasarkan pada analisis siap pakai yang diambil oleh Edge. Jika Anda menambahkan nilai kustom ke data analisis, nilai ini harus ditingkatkan sebagaimana mestinya. Gunakan formula berikut untuk memperkirakan penyimpanan yang diperlukan:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

Contoh:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB of storage needed

*** Network Storage direkomendasikan untuk database Postgresql karena:

  • Hal ini memberikan kemampuan untuk menskalakan ukuran penyimpanan secara dinamis jika dan saat diperlukan.
  • IOPS jaringan dapat disesuaikan dengan cepat di sebagian besar subsistem lingkungan/Penyimpanan/Jaringan saat ini.
  • Snapshot tingkat penyimpanan dapat diaktifkan sebagai bagian dari solusi pencadangan dan pemulihan.

Selain itu, berikut adalah daftar persyaratan hardware jika Anda ingin menginstal Layanan Monetisasi (tidak didukung pada penginstalan All-in-One):

Komponen dengan Monetisasi RAM CPU Hard disk
Server Pengelolaan (dengan Layanan Monetisasi) 8 GB 4 core 60 GB
Analytics - Postgres/Qpid di server yang sama 16 GB 8-core Penyimpanan jaringan 500 GB - 1 TB, sebaiknya dengan backend SSD, yang mendukung 1.000 IOPS atau lebih tinggi, atau gunakan aturan dari tabel di atas.
Analytics - Postgres master atau standby mandiri 16 GB 8-core Penyimpanan jaringan 500 GB - 1 TB, sebaiknya dengan backend SSD, yang mendukung 1.000 IOPS atau lebih tinggi, atau gunakan aturan dari tabel di atas.
Analytics - Qpid mandiri 8 GB 4 core Penyimpanan lokal 40 GB - 500 GB dengan SSD atau HDD cepat

Untuk penginstalan lebih dari 250 TPS, HDD dengan penyimpanan lokal yang mendukung 1.000 IOPS direkomendasikan.

Persyaratan bandwidth jaringan Cassandra

Cassandra menggunakan protokol Gossip untuk bertukar informasi dengan node lain tentang topologi jaringan. Penggunaan Gossip, yang dikombinasikan dengan sifat terdistribusi Cassandra—yang melibatkan komunikasi dengan beberapa node untuk operasi baca dan tulis—menghasilkan transfer data yang signifikan di seluruh jaringan.

Cassandra memerlukan bandwidth jaringan minimum 1 Gbps per node. Untuk penginstalan produksi, sebaiknya gunakan bandwidth yang lebih tinggi.

Latensi maksimum atau persentil ke-99 untuk Cassandra harus di bawah 100 milidetik.

Persyaratan sistem operasi dan software pihak ketiga

Petunjuk penginstalan ini dan file penginstalan yang disertakan telah diuji pada sistem operasi dan software pihak ketiga yang tercantum dalam Software yang didukung dan versi yang didukung.

Prasyarat: Mengaktifkan repo EPEL

Sebelum melanjutkan penginstalan, pastikan repositori EPEL (Extra Packages for Enterprise Linux) diaktifkan. Gunakan perintah berikut berdasarkan versi sistem operasi Anda:

  • Untuk Red Hat/CentOS/Oracle 8.X:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo rpm -ivh epel-release-latest-8.noarch.rpm
  • Untuk Red Hat/CentOS/Oracle 9.X:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo rpm -ivh epel-release-latest-9.noarch.rpm

Java

Anda memerlukan Java 1.8 versi yang didukung yang diinstal di setiap komputer sebelum penginstalan. JDK yang didukung tercantum dalam Software yang didukung dan versi yang didukung.

Pastikan variabel lingkungan JAVA_HOME mengarah ke root JDK untuk pengguna yang melakukan penginstalan.

SELinux

Bergantung pada setelan SELinux Anda, Edge dapat mengalami masalah saat menginstal dan memulai komponen Edge. Jika perlu, Anda dapat menonaktifkan SELinux atau menyetelnya ke mode permisif selama penginstalan, lalu mengaktifkannya kembali setelah penginstalan. Lihat Menginstal utilitas penyiapan apigee Edge untuk mengetahui informasi selengkapnya.

Membuat pengguna 'apigee'

Prosedur penginstalan membuat pengguna sistem Unix bernama 'apigee'. Direktori dan file Edge dimiliki oleh 'apigee', seperti halnya proses Edge. Artinya, komponen Edge berjalan sebagai pengguna 'apigee'. Jika perlu, Anda dapat menjalankan komponen sebagai pengguna lain.

Direktori penginstalan

Secara default, penginstal menulis semua file ke direktori /opt/apigee. Anda tidak dapat mengubah lokasi direktori ini. Meskipun tidak dapat mengubah direktori ini, Anda dapat membuat symlink untuk memetakan /opt/apigee ke lokasi lain, seperti yang dijelaskan dalam Membuat symlink dari /opt/apigee.

Dalam petunjuk dalam panduan ini, direktori penginstalan dicatat sebagai /opt/apigee.

Sebelum membuat symlink, Anda harus membuat pengguna dan grup bernama "apigee" terlebih dahulu. Ini adalah grup dan pengguna yang sama yang dibuat oleh penginstal Edge.

Untuk membuat symlink, lakukan langkah-langkah berikut sebelum mendownload file bootstrap_4.53.00.sh. Anda harus melakukan semua langkah ini sebagai root:

  1. Buat pengguna dan grup "apigee":
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Buat symlink dari /opt/apigee ke root penginstalan yang diinginkan:
    ln -Ts /srv/myInstallDir /opt/apigee

    Dengan /srv/myInstallDir adalah lokasi file Edge yang diinginkan.

  3. Ubah kepemilikan root penginstalan dan symlink ke pengguna "apigee":
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Setelan jaringan

Apigee merekomendasikan agar Anda memeriksa setelan jaringan sebelum penginstalan. Penginstal mengharapkan semua mesin memiliki alamat IP tetap. Gunakan perintah berikut untuk memvalidasi setelan:

  • hostname menampilkan nama mesin
  • hostname -i menampilkan alamat IP untuk nama host yang dapat ditangani dari komputer lain.

Bergantung pada jenis dan versi sistem operasi, Anda mungkin perlu mengedit /etc/hosts dan /etc/sysconfig/network jika nama host tidak disetel dengan benar. Lihat dokumentasi untuk sistem operasi tertentu Anda guna mendapatkan informasi selengkapnya.

Jika server memiliki beberapa kartu antarmuka, perintah "hostname -i" akan menampilkan daftar alamat IP yang dipisahkan spasi. Secara default, penginstal Edge menggunakan alamat IP pertama yang ditampilkan, yang mungkin tidak benar dalam semua situasi. Atau, Anda dapat menetapkan properti berikut dalam file konfigurasi penginstalan:

ENABLE_DYNAMIC_HOSTIP=y

Dengan menetapkan properti tersebut ke "y", penginstal akan meminta Anda untuk memilih alamat IP yang akan digunakan sebagai bagian dari penginstalan. Nilai defaultnya adalah "n". Lihat Referensi File Konfigurasi Edge untuk mengetahui informasi selengkapnya.

Wrapper TCP

Wrapper TCP dapat memblokir komunikasi beberapa port dan dapat memengaruhi penginstalan OpenLDAP, Postgres, dan Cassandra. Di node tersebut, periksa /etc/hosts.allow dan /etc/hosts.deny untuk memastikan tidak ada batasan port pada port OpenLDAP, Postgres, dan Cassandra yang diperlukan.

iptables

Validasi bahwa tidak ada kebijakan iptables yang mencegah konektivitas antar-node di port Edge yang diperlukan. Jika perlu, Anda dapat menghentikan iptables selama penginstalan menggunakan perintah:

sudo/etc/init.d/iptables stop

Akses direktori

Tabel berikut mencantumkan direktori di node Edge yang memiliki persyaratan khusus dari proses Edge:

Layanan Direktori Deskripsi
Router /etc/rc.d/init.d/functions

Edge Router menggunakan router Nginx dan memerlukan akses baca ke /etc/rc.d/init.d/functions.

Jika proses keamanan mengharuskan Anda menetapkan izin di /etc/rc.d/init.d/functions, jangan tetapkan ke 700. Jika tidak, Router akan gagal dimulai.

Anda dapat menetapkan izin ke 744 untuk mengizinkan akses baca ke /etc/rc.d/init.d/functions.

Zookeeper /dev/random Library klien Zookeeper memerlukan akses baca ke generator angka acak /dev/random. Jika /dev/random diblokir saat dibaca, layanan Zookeeper mungkin gagal dimulai.

Cassandra

Semua node Cassandra harus terhubung ke ring. Cassandra menyimpan replika data di beberapa node untuk memastikan keandalan dan toleransi error. Strategi replikasi untuk setiap keyspace Edge menentukan node Cassandra tempat replika ditempatkan. Untuk mengetahui informasi selengkapnya, lihat Tentang faktor replikasi dan tingkat konsistensi Cassandra.

Cassandra secara otomatis menyesuaikan ukuran heap Java-nya berdasarkan memori yang tersedia. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan resource Java jika terjadi penurunan performa atau konsumsi memori yang tinggi.

Setelah menginstal Edge for Private Cloud, Anda dapat memeriksa apakah Cassandra dikonfigurasi dengan benar dengan memeriksa file /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Misalnya, pastikan skrip penginstalan Edge for Private Cloud menetapkan properti berikut:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

Database PostgreSQL

Setelah menginstal Edge, Anda dapat menyesuaikan setelan database PostgreSQL berikut berdasarkan jumlah RAM yang tersedia di sistem Anda:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

Untuk menetapkan nilai ini:

  1. Edit file postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Jika file tidak ada, buat file tersebut.

  2. Tetapkan properti yang tercantum di atas.
  3. Simpan hasil editan Anda.
  4. Mulai ulang database PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Konfigurasi lokalitas untuk Rocky 9.X

Jika Anda menggunakan Rocky 9.X, pastikan sistem Anda dikonfigurasi dengan LANG=en_US.utf8 di setelan lokalitas seluruh sistem. Untuk mengonfigurasinya, jalankan perintah berikut:

dnf -y -q install langpacks-en
localectl set-locale LANG=en_US.utf8
reboot

Batas sistem

Pastikan Anda telah menetapkan batas sistem berikut pada node Cassandra dan Message Processor:

  • Di node Cassandra, tetapkan batas memlock, nofile, dan ruang alamat (as) soft dan hard untuk pengguna penginstalan (defaultnya adalah "apigee") di /etc/security/limits.d/90-apigee-edge-limits.conf seperti yang ditunjukkan di bawah:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
    apigee soft nproc 32768
    apigee hard nproc 65536
  • Pada node Message Processor, tetapkan jumlah maksimum deskriptor file terbuka ke 64K di /etc/security/limits.d/90-apigee-edge-limits.conf seperti yang ditunjukkan di bawah ini:
    apigee soft nofile 32768
    apigee hard nofile 65536

    Jika perlu, Anda dapat menaikkan batas tersebut. Misalnya, jika Anda memiliki banyak file sementara yang terbuka dalam satu waktu.

  • Jika Anda pernah melihat error berikut di system.log Router atau Message Processor, batas deskripsi file Anda mungkin disetel terlalu rendah:

    "java.io.IOException: Too many open files"
    

    Anda dapat memeriksa batas pengguna dengan menjalankan:

    # su - apigee
    $ ulimit -n
    100000
    

    Jika Anda masih mencapai batas file terbuka setelah menetapkan batas deskripsi file ke 100000, buka tiket dengan Dukungan Apigee Edge untuk pemecahan masalah lebih lanjut.

Layanan Keamanan Jaringan (NSS)

Network Security Services (NSS) adalah kumpulan library yang mendukung pengembangan aplikasi klien dan server yang mengaktifkan keamanan. Anda harus memastikan bahwa Anda telah menginstal NSS v3.19, atau yang lebih baru.

Untuk memeriksa versi saat ini:

yum info nss

Untuk mengupdate NSS:

yum update nss

Lihat artikel ini dari RedHat untuk mengetahui informasi selengkapnya.

Menonaktifkan pencarian DNS di IPv6 saat menggunakan NSCD (Name Service Cache Daemon)

Jika Anda telah menginstal dan mengaktifkan NSCD (Name Service Cache Daemon), Message Processors akan melakukan dua pencarian DNS: satu untuk IPv4 dan satu untuk IPv6. Anda harus menonaktifkan pencarian DNS di IPv6 saat menggunakan NSCD.

Untuk menonaktifkan pencarian DNS di IPv6:

  1. Di setiap node Message Processor, edit /etc/nscd.conf
  2. Tetapkan properti berikut:
    enable-cache hosts no

Menonaktifkan IPv6 di RHEL 8 dan yang lebih baru

Jika menginstal Edge di RHEL 8 atau versi yang lebih baru di Google Cloud Platform, Anda harus menonaktifkan IPv6 di semua node Qpid.

Untuk petunjuk cara menonaktifkan IPv6, lihat dokumentasi yang disediakan oleh vendor OS Anda. Misalnya, Anda dapat menemukan informasi yang relevan di Dokumentasi Red Hat Enterprise Linux.

Alat

Penginstal menggunakan alat UNIX berikut dalam versi standar seperti yang disediakan oleh EL5 atau EL6.

awk

expr

libxslt

npm

unzip

basename

grep

lua-socket

rpm2cpio

useradd

bash

hostname

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

libaio

perl (dari procps)

tar

xerces-c

cyrus-sasl libdb4 pgrep (dari procps) tr enak

tanggal

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
echo librdmacm python    

Sinkronisasi waktu

Apigee merekomendasikan agar waktu server Anda disinkronkan. Jika belum dikonfigurasi, utilitas ntpdate atau alat yang setara dapat memenuhi tujuan ini dengan memverifikasi apakah server disinkronkan waktunya. Misalnya, Anda dapat menggunakan yum install ntp atau perintah yang setara untuk menginstal utilitas. Hal ini sangat berguna untuk mereplikasi penyiapan OpenLDAP. Perhatikan bahwa Anda harus menetapkan zona waktu server ke UTC.

openldap 2.4

Penginstalan on-premise memerlukan OpenLDAP 2.4, yang disertakan dalam repo apigee-thirdparty-opdk. Untuk memudahkan penginstalan, hapus library openldap-compat.

Untuk penginstalan 13 host, dan penginstalan 12 host dengan dua pusat data, replikasi OpenLDAP diperlukan karena ada beberapa node yang menghosting OpenLDAP.

Firewall dan host virtual

Istilah virtual biasanya kelebihan beban di ranah IT, begitu juga dengan deployment Apigee Edge untuk Private Cloud dan host virtual. Untuk memperjelas, ada dua penggunaan utama istilah virtual:

  • Virtual machine (VM): Tidak diperlukan, tetapi beberapa deployment menggunakan teknologi VM untuk membuat server terisolasi bagi komponen Apigee-nya. Host VM, seperti host fisik, dapat memiliki antarmuka jaringan dan firewall.
  • Host virtual: Endpoint web, yang mirip dengan host virtual Apache.

Router di VM dapat mengekspos beberapa host virtual (asalkan berbeda satu sama lain dalam alias host atau port antarmuka).

Sama seperti contoh penamaan, satu server fisik A mungkin menjalankan dua VM, bernama "VM1" dan "VM2". Anggap "VM1" mengekspos antarmuka Ethernet virtual, yang diberi nama "eth0" di dalam VM, dan diberi alamat IP 111.111.111.111 oleh mesin virtualisasi atau server DHCP jaringan; lalu asumsikan VM2 mengekspos antarmuka Ethernet virtual yang juga bernama "eth0" dan diberi alamat IP 111.111.111.222.

Kita mungkin memiliki router Apigee yang berjalan di setiap dua VM. Router mengekspos endpoint host virtual seperti dalam contoh hipotetis ini:

Router Apigee di VM1 mengekspos tiga host virtual di antarmuka eth0-nya (yang memiliki beberapa alamat IP tertentu), api.mycompany.com:80, api.mycompany.com:443, dan test.mycompany.com:80.

Router di VM2 mengekspos api.mycompany.com:80 (nama dan port yang sama seperti yang diekspos oleh VM1).

Sistem operasi host fisik mungkin memiliki firewall jaringan; jika demikian, firewall tersebut harus dikonfigurasi untuk meneruskan traffic TCP yang terikat ke port yang ditampilkan di antarmuka virtual (111.111.111.111:{80, 443} dan 111.111.111.222:80). Selain itu, setiap sistem operasi VM dapat menyediakan firewallnya sendiri di antarmuka eth0 dan ini juga harus mengizinkan traffic port 80 dan 443 untuk terhubung.

Jalur dasar adalah komponen ketiga yang terlibat dalam merutekan panggilan API ke berbagai proxy API yang mungkin telah Anda deploy. Paket proxy API dapat berbagi endpoint jika memiliki jalur dasar yang berbeda. Misalnya, satu jalur dasar dapat ditentukan sebagai http://api.mycompany.com:80/ dan jalur dasar lainnya ditentukan sebagai http://api.mycompany.com:80/salesdemo.

Dalam hal ini, Anda memerlukan load balancer atau traffic director yang memisahkan traffic http://api.mycompany.com:80/ antara dua alamat IP (111.111.111.111 di VM1 dan 111.111.111.222 di VM2). Fungsi ini khusus untuk penginstalan tertentu, dan dikonfigurasi oleh grup jaringan lokal Anda.

Jalur dasar ditetapkan saat Anda men-deploy API. Dari contoh di atas, Anda dapat men-deploy dua API, mycompany dan testmycompany, untuk organisasi mycompany-org dengan host virtual yang memiliki alias host api.mycompany.com dan port yang disetel ke 80. Jika Anda tidak mendeklarasikan jalur dasar dalam deployment, router tidak akan mengetahui API mana yang akan menerima permintaan masuk.

Namun, jika Anda men-deploy API testmycompany dengan URL dasar /salesdemo, pengguna akan mengakses API tersebut menggunakan http://api.mycompany.com:80/salesdemo. Jika Anda men-deploy API mycompany dengan URL dasar /, pengguna akan mengakses API dengan URL http://api.mycompany.com:80/.

Pemberian Lisensi

Setiap penginstalan Edge memerlukan file lisensi unik yang Anda dapatkan dari Apigee. Anda harus memberikan jalur ke file lisensi saat menginstal server pengelolaan, misalnya /tmp/license.txt.

Penginstal akan menyalin file lisensi ke /opt/apigee/customer/conf/license.txt.

Jika file lisensi valid, server pengelolaan akan memvalidasi masa berlaku dan jumlah Message Processor (MP) yang diizinkan. Jika salah satu setelan lisensi telah habis masa berlakunya, Anda dapat menemukan log di lokasi berikut: /opt/apigee/var/log/edge-management-server/logs. Dalam hal ini, Anda dapat menghubungi Dukungan Apigee Edge untuk mengetahui detail migrasi.

Jika Anda belum memiliki lisensi, hubungi Penjualan Apigee.