Penginstalan BaaS API

Edge untuk Private Cloud v4.18.01

Ringkasan penginstalan

Setelah Anda menginstal utilitas apigee-setup pada Edge pada sebuah node, gunakan utilitas tersebut untuk menginstal satu atau beberapa komponen BaaS pada node tersebut.

Utilitas apigee-setup memiliki bentuk:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

Teruskan file konfigurasi ke utilitas apigee-setup yang berisi informasi tentang penginstalan. Jika file konfigurasi tidak memiliki informasi yang diperlukan, utilitas apigee-setup akan meminta Anda untuk memasukkannya pada command line.

Satu-satunya persyaratan adalah file konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

Misalnya, gunakan perintah berikut untuk menginstal API BaaS Stack:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Menentukan komponen yang akan diinstal

Utilitas setup.sh Apigee mendukung beberapa opsi untuk menginstal komponen BaaS API. Petunjuk di bawah ini menggunakan opsi mandiri (c, e, b, dan p), tetapi Anda dapat menggunakan opsi yang berbeda berdasarkan konfigurasi node Anda:

Opsi

Deskripsi

e

Instal ElasticSearch saja.

b

Instal API BaaS Stack saja, yang juga menginstal Tomcat.

p

Instal Portal BaaS API saja, yang juga menginstal router Nginx untuk digunakan sebagai server web.

c

Instal Cassandra saja.

eb

Instal ElasticSearch, API BaaS Stack, dan Tomcat di node.

penurunan

Instal ElasticSearch, API BaaS Portal, API BaaS Stack, dan Tomcat tetapi tidak Cassandra. Portal ini sangat ringan sehingga tidak perlu sumber daya tambahan untuk ini.

Asa

Instal semua komponen BaaS API pada satu node (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat). Gunakan opsi ini hanya untuk pengembangan dan pengujian, bukan untuk produksi.

Membuat file konfigurasi

File konfigurasi berisi semua informasi yang diperlukan untuk menginstal API BaaS. Anda sering kali dapat menggunakan file konfigurasi yang sama untuk menginstal semua komponen dalam penginstalan BaaS.

Setiap topologi penginstalan yang dijelaskan di bawah ini menunjukkan contoh file konfigurasi untuk topologi tersebut. Untuk referensi lengkap terkait file konfigurasi, lihat Referensi File Konfigurasi BaaS.

Menginstal API BaaS pada satu node

Di bawah ini adalah file konfigurasi untuk menginstal API BaaS pada satu node. Edit file ini sesuai kebutuhan untuk konfigurasi Anda. Untuk referensi lengkap terkait file konfigurasi, lihat Referensi File Konfigurasi BaaS.

IP1=192.168.56.101   # IP address of single node

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

Untuk menginstal API BaaS pada node-nya sendiri:

  1. Instal utilitas apigee-setup Edge pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas apigee-setup Edge untuk mengetahui informasi selengkapnya.
  2. Pada command prompt, jalankan skrip penyiapan:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    Opsi “-p asa” menentukan untuk menginstal semua komponen API BaaS pada satu node (Cassandra, Elasticsearch, API BaaS Stack, Tomcat).
    File konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".
  3. Karena Anda menginstal ElasticSearch pada node mandiri, sesuaikan opsi memori default untuk meningkatkan memori yang dialokasikan untuk ElasticSearch dari 4 GB menjadi 6 GB:
    1. Buka /opt/apigee/customer/application/elasticsearch.properties di editor. Jika file ini tidak ada, buatlah file tersebut.
    2. Tetapkan properti setenv_elasticsearch_max_mem_size ke 6g (defaultnya adalah 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Simpan file.
    4. Jalankan perintah berikut:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
  4. ? Lakukan aktivasi organisasi seperti yang dijelaskan di bawah dalam Melakukan orientasi organisasi baru.

Konfigurasi berhasil menyelesaikan penyiapan pada node.

Menginstal API BaaS pada 7 atau 10 node

Prosedur untuk menginstal versi node 7 atau 10 dari API BaaS sangat mirip. Satu-satunya perbedaan adalah untuk:

  • Saat menginstal 10 node, Anda akan menginstal tiga komponen ElasticSearch dan tiga komponen BaaS Stack API pada node terpisah, dengan total enam node. Ini adalah konfigurasi yang direkomendasikan untuk mendapatkan performa tertinggi karena ElasticSearch memerlukan I/O dan memori disk dalam jumlah besar.
  • 7, Anda menginstal tiga komponen ElasticSearch dan tiga komponen BaaS API pada node yang sama, dengan total tiga node.

Untuk versi node 7 dan 10 dari API BaaS, Anda harus terhubung ke cluster Cassandra. Jika sudah menginstal Edge, Anda dapat terhubung ke cluster Cassandra-nya, yang berarti Anda tidak perlu menginstal Cassandra sebagai bagian dari penginstalan API BaaS.

Berikut adalah contoh file konfigurasi senyap untuk penginstalan BaaS API 10 node. Jika Anda menginstal komponen ElasticSearch dan API BaaS Stack pada tiga node yang sama, edit file tersebut sehingga:

  • IP1 dan IP4 disetel ke alamat IP yang sama
  • IP2 dan IP5 disetel ke alamat IP yang sama
  • IP3 dan IP6 disetel ke alamat IP yang sama

Edit file ini seperlunya untuk konfigurasi Anda. Untuk referensi lengkap terkait file konfigurasi, lihat Referensi File Konfigurasi BaaS.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

Opsional - Instal Cassandra: Mesin 8, 9, dan 10

Anda dapat menghubungkan API BaaS ke cluster Cassandra yang sama seperti yang digunakan oleh Edge. Jika belum menginstal Edge, Anda dapat menginstal Cassandra secara opsional untuk digunakan oleh API BaaS.

Cluster Cassandra dapat menggunakan autentikasi, atau autentikasi Cassandra dapat dinonaktifkan. Lihat Mengaktifkan autentikasi Cassandra untuk mengetahui informasi selengkapnya.

  1. Instal utilitas apigee-setup Edge pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas apigee-setup Edge untuk mengetahui informasi selengkapnya.
  2. Pada command prompt, jalankan skrip penyiapan:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    Opsi “-p c” menentukan untuk menginstal Cassandra.
    File konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

Konfigurasi berhasil menyelesaikan penyiapan datastore pada node.

Perhatikan bahwa JMX diaktifkan secara default untuk Cassandra. Akses jarak jauh JMX ke Cassandra tidak memerlukan sandi. Anda dapat mengonfigurasi Cassandra agar menggunakan autentikasi untuk JMX. Untuk mengetahui informasi selengkapnya, lihat Cara Memantau.

Menyiapkan cron job Cassandra

Jika Anda harus menginstal Cassandra, siapkan cron job yang menggunakan nodetool untuk mengosongkan kunci agar berjalan setiap jam di setiap node Cassandra.

Jika Anda memiliki beberapa node Cassandra, offset cron job di setiap server selama lima menit agar semua node tidak melakukan flush secara bersamaan.

cron job harus menjalankan perintah berikut:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

dengan IP_address adalah alamat IP node Cassandra.

Menginstal ElasticSearch: Mesin 1, 2, dan 3

Untuk menginstal ElasticSearch pada node-nya sendiri:

  1. Instal utilitas penyiapan Edge apigee pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas apigee-setup Edge untuk mengetahui informasi selengkapnya.
  2. Pada command prompt, jalankan skrip penyiapan:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    Opsi “-p e” menentukan untuk menginstal ElasticSearch.
    File konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".
  3. (Opsional) Jika Anda menginstal ElasticSearch pada node mandiri, yang berarti bahwa ElasticSearch tidak diinstal dengan API BaaS Stack, maka sesuaikan opsi memori default untuk meningkatkan memori yang dialokasikan untuk ElasticSearch dari 4 GB menjadi 6 GB:
    1. Buka /opt/apigee/customer/application/elasticsearch.properties di editor. Jika file ini tidak ada, buatlah file tersebut.
    2. Tetapkan properti setenv_elasticsearch_max_mem_size ke 6g (defaultnya adalah 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Simpan file.
    4. Jalankan perintah berikut:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

Konfigurasi berhasil menyelesaikan penyiapan pada node.

Menginstal API BaaS Stack: Mesin 4, 5, dan 6

Untuk menginstal API BaaS Stack pada node-nya sendiri:

  1. Instal utilitas penyiapan Edge apigee pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas apigee-setup Edge untuk mengetahui informasi selengkapnya.
  2. Pada command prompt, jalankan skrip penyiapan:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    Opsi “-p b” menentukan untuk menginstal API BaaS Stack.
    File konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

Setelah mengambil kredensial admin yang benar, penginstal akan menginstal Tomcat, membuat keyspace BaaS API, dan menyiapkan BaaS Stack API di server. SMTP juga dikonfigurasi untuk mengizinkan UI mengirim email konfirmasi sandi.

Menginstal Portal API BaaS: Mesin 7

Untuk menginstal Portal BaaS API:

  1. Instal utilitas penyiapan Edge apigee pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas apigee-setup Edge untuk mengetahui informasi selengkapnya.
  2. Pada command prompt, jalankan skrip penyiapan:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    Opsi “-p p” menentukan untuk menginstal Portal BaaS API.
    File konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

    Penginstal memulai server web Nginx, lalu menyelesaikan konfigurasi Portal BaaS API.
  3. ?Langkah berikutnya bergantung pada penginstalan Anda.
    1. Jika Anda memiliki load balancer di depan node Stack Portalor, bagian berikutnya akan menjelaskan cara mengonfigurasi BaaS API untuk load balancer.
    2. Jika Anda tidak memiliki load balancer di depan node Stack Portalor, lakukan aktivasi organisasi seperti yang dijelaskan di bawah dalam Aktivasi organisasi baru.

Catat URL Portal BaaS API. Ini adalah URL yang Anda masukkan ke browser untuk mengakses antarmuka pengguna Portal BaaS API.

Mengonfigurasi node BaaS API untuk load balancer Stack atau Portal

Jika Anda menyertakan load balancer di depan node Stack atau Portal, Anda harus mengonfigurasi node dengan URL load balancer yang benar. Misalnya, node Stack memerlukan informasi ini saat:

  • Menyertakan URL dalam respons di permintaan BaaS API.
  • Menambahkan link dalam template email saat mereset sandi, atau mengirim notifikasi lainnya.
  • Mengalihkan pengguna ke halaman Portal tertentu.

Jika Anda menggunakan load balancer di depan node Stack, tetapkan properti berikut di /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

Ganti http://localhost:8080 dengan URL load balancer. Jika load balancer dikonfigurasi untuk menggunakan TLS, gunakan protokol HTTPS. Anda hanya perlu menyertakan port jika menggunakan port non-standar, artinya sesuatu selain port 80 untuk HTTP dan port 443 untuk HTTPS.

Anda juga harus menetapkan properti berikut di /opt/apigee/customer/application/portal.properties jika Anda menggunakan load balancer di depan node Stack:

baas.portal.config.overrideUrl=http://localhost:8080

Ganti http://localhost:8080 dengan URL load balancer untuk Stack.

Jika Anda menggunakan load balancer di depan node Portal, tetapkan properti berikut di usergrid.properties:

usergrid-deployment_portal.url=http://localhost:9000

Ganti http://localhost:9000 dengan URL load balancer. Jika load balancer dikonfigurasi untuk menggunakan TLS, gunakan protokol HTTPS. Anda hanya perlu menyertakan port jika menggunakan port non-standar, artinya selain port 80 untuk HTTP dan port 443 untuk HTTPS.

Setelah mengedit usergrid.properties dan portal.properties:

  1. Konfigurasikan node Stack:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. Mulai ulang BaaS Stack:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart

    Catatan: Saat memulai ulang node BaaS Stack, mulai ulang node tersebut dalam urutan yang sama dengan yang tercantum di BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS mencantumkan maksimal dua node Stack. Setelah memulai ulang kedua node tersebut secara berurutan, Anda dapat memulai ulang node yang tersisa dalam urutan apa pun.

  3. Jika Anda mengubah portal.properties, konfigurasi node Portal:?
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal Configure
  4. Mulai ulang Portal BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal mulai ulang

Orientasi organisasi baru

Orientasi adalah proses pembuatan organisasi dan administrator organisasi. Setelah membuat administrator organisasi dan organisasi, Anda dapat login ke UI Portal BaaS API dan membuat permintaan ke REST API BaaS API.

Saat Anda membuat organisasi, alamat email administrator organisasi tersebut:

  • Harus berbeda dari alamat email administrator sistem.
  • Harus unik di antara organisasi lainnya. Artinya, Anda tidak dapat membuat dua organisasi dengan alamat email yang sama untuk administrator organisasi. Namun, setelah membuat organisasi, Anda dapat menambahkan administrator lain yang dapat diduplikasi di beberapa organisasi.

Untuk melakukan orientasi, gunakan skrip Python create_org_and_user.py. Memanggil skrip ini tanpa argumen command line akan menyebabkannya meminta semua informasi Anda:

> python create_org_and_user.py

Atau, Anda dapat meneruskan salah satu atau semua opsi sebagai argumen command line. Anda akan diminta untuk memasukkan informasi apa pun yang dihapus dari command line:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

Untuk membuat organisasi:

  1. Ubah direktori menjadi /opt/apigee/baas-usergrid/bin.
  2. Panggil skrip Python create_org_and_user.py.
    Anda akan diminta untuk memasukkan nama pengguna dan sandi administrator sistem BaaS sehingga hanya admin sistem yang dapat menjalankannya.
  3. Login ke API BaaS Portal di browser web menggunakan URL yang Anda catat di akhir penginstalan URL Portal BaaS API. Untuk mengakses portal, masukkan URL Portal BaaS API dalam formulir:
    http://{portalExternalIP}:9000/

    Catatan: IP adalah alamat IP eksternal/nama host mesin Portal. Pastikan port terbuka.
  4. Saat layar login portal muncul, Anda dapat:
    • Login menggunakan nama pengguna dan sandi administrator organisasi.
    • Masuk menggunakan nama pengguna dan sandi administrator sistem.

Mengakses API BaaS REST API

Untuk mengakses API BaaS REST API, gunakan URL dengan format:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

Dalam lingkungan pengembangan, Anda dapat menginstal semua komponen BaaS API pada satu node, yang berarti Anda memiliki satu BaaS Stack API. Atau, Anda mungkin memiliki lingkungan kecil dengan satu node BaaS Stack API dan tanpa load balancer. Dalam jenis lingkungan berikut, Anda dapat melakukan panggilan API langsung ke node BaaS Stack API:

curl -v "http://portalExternalIP:8080/status"

Untuk informasi selengkapnya tentang cara memulai Portal BaaS API, lihat dokumentasi Apigee di: http://apigee.com/docs/content/build-apps-home.