Persyaratan penginstalan

Persyaratan hardware

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

Video berikut memberikan panduan penentuan ukuran tingkat tinggi untuk pemasangan 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 selain kapasitas hard disk yang dibutuhkan oleh sistem operasi. Bergantung pada aplikasi dan traffic jaringan Anda, 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 2000 IOPS
Pesan Pemroses/Router di mesin yang sama 16 GB 8 inti 100 GB
Pemroses Pesan (mandiri) 16 GB 8 inti 100 GB
Router (mandiri) 16 GB 8 inti 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 - Master atau standby postgres (mandiri) 16GB* 8 inti* Penyimpanan jaringan 500 GB - 1 TB*****, sebaiknya dengan backend SSD, yang mendukung 1.000 IOPS atau lebih tinggi*
Analytics - Qpid mandiri 8 GB 4 inti Penyimpanan lokal 30 GB - 50 GB dengan SSD

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

OpenLDAP/UI/Server Pengelolaan 8 GB 4 inti 60 GB
UI/Server Pengelolaan 4 GB 2 inti 60 GB
OpenLDAP (mandiri) 4 GB 2 inti 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, dan terkelola*** mendukung 1.000 IOPS atau lebih tinggi
  • Lebih dari 1.000 TPS: Penyimpanan jaringan terkelola 16 GB, 8 core, dan terkelola*** mendukung 2.000 IOPS atau lebih tinggi
  • Lebih dari 2.000 TPS: Penyimpanan jaringan terkelola 32 GB, 16 core, dan *** mendukung 2.000 IOPS atau lebih tinggi
  • Lebih dari 4.000 TPS: Penyimpanan jaringan terkelola 64 GB, 32 core, dan *** 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 juga harus ditingkatkan. Gunakan formula berikut untuk memperkirakan penyimpanan yang dibutuhkan:

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 meningkatkan skala 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, daftar berikut mencantumkan persyaratan hardware jika Anda ingin menginstal Layanan Monetisasi (tidak didukung di penginstalan All-in-One):

Komponen dengan Monetisasi RAM CPU {i>Hard disk<i}
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 - Master postgres atau standby mandiri 16 GB 8 inti 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 inti Penyimpanan lokal 40 GB - 500 GB dengan SSD atau HDD cepat

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

Persyaratan sistem operasi dan software pihak ketiga

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

Java

Anda perlu menginstal versi Java 1.8 yang didukung di setiap komputer sebelum melakukan penginstalan. JDK yang didukung tercantum di Software yang didukung dan versi yang didukung.

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

SELinux

Bergantung pada setelan Anda untuk SELinux, 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 Edge apigee untuk 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 dijalankan sebagai pengguna 'apigee'. Jika perlu, Anda dapat menjalankan komponen sebagai pengguna yang berbeda.

Direktori penginstalan

Secara default, penginstal akan 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 ini sebelum mendownload file bootstrap_4.52.02.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 yang diinginkan untuk file Edge.

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

Setelan jaringan

Apigee merekomendasikan agar 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 diberi alamat dari komputer lain.

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

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

ENABLE_DYNAMIC_HOSTIP=y

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

Wrapper TCP

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

iptable

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

sudo/etc/init.d/iptables stop

Di CentOS 7.x:

systemctl stop firewalld

Akses direktori

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

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

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

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

Anda dapat menetapkan izin ke 744 untuk memberikan 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 pembacaan, layanan Zookeeper mungkin gagal dijalankan.

Cassandra

Semua node Cassandra harus terhubung ke sebuah cincin. Cassandra menyimpan replika data pada beberapa node untuk memastikan keandalan dan fault tolerance. Strategi replikasi untuk setiap keyspace Edge menentukan node Cassandra tempat replika ditempatkan. Untuk informasi selengkapnya, lihat artikel Tentang faktor replikasi dan tingkat konsistensi Cassandra.

Cassandra 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 tinggi.

Setelah menginstal Edge untuk Private Cloud, Anda dapat memeriksa apakah Cassandra dikonfigurasi dengan benar dengan memeriksa file /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Misalnya, pastikan bahwa 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. Setel 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

Batas sistem

Pastikan Anda telah menetapkan batas sistem berikut pada node Cassandra dan Pemroses Pesan:

  • Pada node Cassandra, tetapkan batas memlock soft dan hard, nofile, dan ruang alamat (as) untuk pengguna penginstalan (default-nya adalah "apigee") di /etc/security/limits.d/90-apigee-edge-limits.conf seperti yang ditunjukkan di bawah ini:
    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 Pemroses Pesan, tetapkan jumlah maksimum deskriptor file yang terbuka ke 64K dalam /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 meningkatkan batas tersebut. Misalnya, jika Anda membuka banyak file sementara dalam satu waktu.

  • Jika Anda pernah melihat error berikut di system.log Router atau Pemroses Pesan, batas deskriptor file Anda mungkin telah ditetapkan 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 deskriptor file ke 100000, buka tiket dengan Dukungan Apigee Edge untuk pemecahan masalah lebih lanjut.

Layanan Keamanan Jaringan (NSS)

Layanan Keamanan Jaringan (NSS) adalah sekumpulan library yang mendukung pengembangan aplikasi klien dan server yang mendukung 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.

Nonaktifkan 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 membuat dua pencarian DNS: satu untuk IPv4 dan satu untuk IPv6. Anda harus menonaktifkan pencarian DNS pada IPv6 saat menggunakan NSCD.

Untuk menonaktifkan pencarian DNS di IPv6:

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

Nonaktifkan IPv6 di Google Cloud Platform untuk RedHat/CentOS 7

Jika menginstal Edge di RedHat 7 atau CentOS 7 di Google Cloud Platform, Anda harus menonaktifkan IPv6 di semua node Qpid.

Lihat dokumentasi RedHat atau CentOS versi OS tertentu untuk mendapatkan petunjuk tentang cara menonaktifkan IPv6. Misalnya, Anda dapat:

  1. Buka /etc/hosts di editor.
  2. Sisipkan karakter "#" di kolom salah satu baris berikut untuk menjadikan karakter tersebut sebagai komentar:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Simpan file.

AMI AWS

Jika menginstal Edge pada AWS Amazon Machine Image (AMI) untuk Red Hat Enterprise Linux 7.x, Anda harus menjalankan perintah berikut terlebih dahulu:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Tools

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

awk

expr

{i>libxslt<i}

npm

unzip

basename

grep

soket-lua

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 yum

date

libdb-cxx

ps

uuid

{i>chkconfig<i}

dirname libibverb pwd {i>uname<i}  
echo librdmacm python    

ntpdate

Apigee merekomendasikan agar waktu server Anda disinkronkan. Jika belum dikonfigurasi, utilitas ntpdate dapat memenuhi tujuan ini, yang memverifikasi apakah server disinkronkan waktu. Anda dapat menggunakan yum install ntp untuk menginstal utilitas. Hal ini sangat berguna untuk mereplikasi pengaturan OpenLDAP. Perhatikan bahwa Anda menyiapkan zona waktu server dalam UTC.

openldap 2.4

Penginstalan lokal memerlukan OpenLDAP 2.4. Jika server Anda memiliki koneksi Internet, skrip penginstalan Edge akan mendownload dan menginstal OpenLDAP. Jika server Anda tidak memiliki koneksi Internet, Anda harus memastikan bahwa OpenLDAP sudah diinstal sebelum menjalankan skrip penginstalan Edge. Di RHEL/CentOS, Anda dapat menjalankan yum install openldap-clients openldap-servers untuk menginstal OpenLDAP.

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

Firewall dan host virtual

Istilah virtual umumnya menjadi terlalu berlebihan di ranah IT, begitu juga dengan Apigee Edge untuk deployment 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 mereka. Host VM, seperti host fisik, dapat memiliki antarmuka jaringan dan firewall.
  • Host virtual: Endpoint web, setara dengan host virtual Apache.

Router di VM dapat mengekspos beberapa host virtual (selama alias host atau port antarmukanya berbeda satu sama lain).

Sebagai contoh penamaan, satu server fisik A mungkin menjalankan dua VM, yang bernama "VM1" dan "VM2". Anggaplah "VM1" menampilkan antarmuka Ethernet virtual, yang diberi nama "eth0" di dalam VM, dan yang 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 akan diberi alamat IP 111.111.111.222.

Kita mungkin memiliki router Apigee yang berjalan di masing-masing dari dua VM. Router mengekspos endpoint host virtual seperti dalam contoh hipotesis ini:

Router Apigee di VM1 mengekspos tiga host virtual pada antarmuka eth0-nya (yang memiliki beberapa alamat IP spesifik), 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 dengan yang diekspos oleh VM1).

Sistem operasi host fisik mungkin memiliki firewall jaringan. Jika ya, firewall tersebut harus dikonfigurasi untuk meneruskan traffic TCP untuk port yang diekspos pada antarmuka tervirtualisasi (111.111.111.111:{80, 443} dan 111.111.111.222:80). Selain itu, setiap sistem operasi VM dapat menyediakan firewall sendiri di antarmuka eth0-nya, dan firewall tersebut juga harus mengizinkan traffic port 80 dan 443 untuk terhubung.

Basepath adalah komponen ketiga yang terlibat dalam pemilihan rute panggilan API ke proxy API yang berbeda yang mungkin telah Anda deploy. Paket proxy API dapat berbagi endpoint jika memiliki jalur base yang berbeda. Misalnya, satu jalur basis dapat ditentukan sebagai http://api.mycompany.com:80/ dan jalur lain ditetapkan sebagai http://api.mycompany.com:80/salesdemo.

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

Jalur dasar disetel 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 basepath dalam deployment, maka router tidak mengetahui API mana yang akan dikirimi 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 perusahaansaya API dengan URL dasar /, pengguna Anda mengakses API melalui URL http://api.mycompany.com:80/.

Pemberian (hak) 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 Pemroses Pesan (MP) yang diizinkan. Jika salah satu setelan lisensi sudah tidak berlaku, 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 Sales Apigee.