افزودن مرکز داده

این سند نحوه افزودن یک مرکز داده (که منطقه نیز نامیده می شود) را به یک مرکز داده موجود توضیح می دهد.

ملاحظات قبل از افزودن مرکز داده

قبل از نصب افزودن یک مرکز داده، باید نحوه پیکربندی سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres را در مراکز داده بدانید. همچنین باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند.

  • OpenLDAP

    هر مرکز داده سرور OpenLDAP مخصوص به خود را دارد که با قابلیت تکرار پیکربندی شده است. هنگامی که مرکز داده جدید را نصب می کنید، باید OpenLDAP را برای استفاده از Replication پیکربندی کنید، و باید سرور OpenLDAP را در مرکز داده موجود دوباره پیکربندی کنید تا از Replication استفاده کند.

  • باغ وحش

    برای ویژگی ZK_HOSTS برای هر دو مرکز داده، آدرس‌های IP یا نام‌های DNS همه گره‌های ZooKeeper از هر دو مرکز داده را به یک ترتیب مشخص کنید و هر گره‌ای را با اصلاح‌کننده “:observer” علامت‌گذاری کنید. گره های بدون اصلاح کننده :observer "رای دهنده" نامیده می شوند. شما باید تعداد فرد "رای دهنده" را در پیکربندی خود داشته باشید.

    در این توپولوژی، میزبان ZooKeeper در میزبان 9 ناظر است:

    در فایل پیکربندی مثالی که در زیر نشان داده شده است، گره 9 با تعدیل کننده :observer برچسب گذاری شده است تا شما پنج رای دهنده داشته باشید: گره های 1، 2، 3، 7 و 8.

    برای ویژگی ZK_CLIENT_HOSTS برای هر مرکز داده، آدرس‌های IP یا نام‌های DNS فقط گره‌های ZooKeeper در مرکز داده را به همان ترتیب برای همه گره‌های ZooKeeper در مرکز داده مشخص کنید.

  • کاساندرا

    برای CASS_HOSTS برای هر مرکز داده، مطمئن شوید که تمام آدرس‌های IP Cassandra (نه نام‌های DNS) را برای هر دو مرکز داده مشخص کرده‌اید. برای مرکز داده 1، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. برای مرکز داده 2، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. گره های کاساندرا را به ترتیب برای همه گره های کاساندرا در مرکز داده فهرست کنید.

    تمام گره های کاساندرا باید پسوند ": d , r " داشته باشند. به عنوان مثال ' ip :1,1 = مرکز داده 1 و رک / منطقه در دسترس 1 و ' ip :2,1 = مرکز داده 2 و رک / منطقه در دسترس بودن 1.

    به عنوان مثال، "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.202:124. 192.168.124.206:2،1"

    اولین گره در رک/منطقه دسترسی 1 هر مرکز داده به عنوان سرور اولیه استفاده خواهد شد. در این مدل استقرار، تنظیمات Cassandra به شکل زیر خواهد بود:

  • Postgres

    به طور پیش فرض، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال، هنگامی که چندین مرکز داده دارید، گره‌های Postgres را برای استفاده از تکرار در حالت آماده به کار پیکربندی می‌کنید تا اگر گره اصلی از کار بیفتد، گره آماده به کار بتواند به ترافیک سرور ادامه دهد. به طور معمول، سرور اصلی Postgres را در یک مرکز داده و سرور آماده به کار را در مرکز داده دوم پیکربندی می‌کنید.

    اگر مرکز داده موجود از قبل به گونه‌ای پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، به عنوان بخشی از این روش، گره آماده به کار موجود را لغو ثبت کنید و آن را با یک گره آماده به کار در مرکز داده جدید جایگزین کنید.

    جدول زیر تنظیمات قبل و بعد از Postgres را برای هر دو سناریو نشان می دهد:

    قبل از بعد از

    Single Master Postgres node در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Master Postgres در dc-1

    گره آماده به کار Postgres در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Standby Postgres قدیمی را در dc-1 لغو ثبت کنید

  • الزامات بندر

    باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند. برای نمودار پورت، الزامات بندر را ببینید.

به روز رسانی مرکز داده موجود

افزودن مرکز داده مستلزم انجام مراحل نصب و پیکربندی گره‌های مرکز داده جدید است، اما همچنین باید گره‌ها را در مرکز داده اصلی به‌روزرسانی کنید. این تغییرات ضروری هستند زیرا گره‌های Cassandra و ZooKeeper جدیدی را در مرکز داده جدید اضافه می‌کنید که باید برای مرکز داده موجود قابل دسترسی باشند، و باید OpenLDAP را مجدداً برای استفاده از Replication پیکربندی کنید.

ایجاد فایل های پیکربندی

در زیر فایل‌های پیکربندی بی‌صدا برای دو مرکز داده نشان داده شده است، جایی که هر مرکز داده دارای 6 گره است، همانطور که در توپولوژی‌های نصب نشان داده شده است. توجه داشته باشید که فایل پیکربندی برای dc-1 تنظیمات اضافی را به:

  • OpenLDAP را با تکرار در دو گره OpenLDAP پیکربندی کنید.
  • گره های جدید Cassandra و ZooKeeper را از dc-2 به فایل پیکربندی 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>"

یک مرکز داده جدید اضافه کنید

از روش زیر برای نصب یک مرکز داده جدید استفاده کنید.

در این روش، مراکز داده دارای نام های زیر هستند:

  • dc-1 : مرکز داده موجود
  • dc-2 : مرکز داده جدید

برای افزودن یک مرکز داده جدید:

  1. در dc-1 ، setup.sh را روی گره‌های اصلی کاساندرا با فایل پیکربندی جدید dc-1 که شامل گره‌های کاساندرا از dc-2 می‌شود، دوباره اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. در dc-1 ، setup.sh را در گره مدیریت سرور اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1

    اگر از کسب درآمد استفاده می کنید، دستور راه اندازی کسب درآمد را دوباره اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1

  3. در dc-2 ، apigee-setup روی همه گره ها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  4. در dc-2 ، Cassandra و ZooKeeper را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. در dc-2 ، دستور rebuild را روی تمام گره‌های Cassandra اجرا کنید و نام منطقه dc-1 را مشخص کنید:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  6. در dc-2 ، سرور مدیریت را در گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. در گره مدیریت سرور در dc-2 ، apigee-provision را نصب کنید، که ابزار apigee-adminapi.sh نصب می کند:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. در dc-2 ، Routes and Message Processors را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. در dc-2 ، Qpid را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. در dc-2 ، Postgres را روی گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Postgres master/standby را برای گره های Postgres تنظیم کنید. گره Postgres در dc-1 اصلی است و گره Postgres در dc-2 سرور آماده به کار است.
    1. در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. فعال کردن تکرار در استاد جدید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. در گره آماده به کار در dc-2 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. در گره آماده به کار در dc-2 ، سرور را متوقف کنید و سپس داده های موجود Postgres را حذف کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      rm -rf /opt/apigee/data/apigee-postgresql/

      در صورت لزوم، می توانید قبل از حذف از این داده ها نسخه پشتیبان تهیه کنید.

    5. گره آماده به کار را در dc-2 پیکربندی کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. در dc-1، پیکربندی تجزیه و تحلیل را به روز کنید و سازمان ها را پیکربندی کنید.
    1. در گره مدیریت سرور dc-1 ، UUID گره Postgres را دریافت کنید:
      apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \
        --admin adminEmail --pwd adminPword --host localhost

      UUID در انتهای داده های برگشتی ظاهر می شود. آن مقدار را ذخیره کنید.

    2. همانطور که در مرحله قبل نشان داده شده است ، در گره مدیریت سرور dc-2 ، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
    3. در گره مدیریت سرور dc-1 ، نام گروه های تجزیه و تحلیل و مصرف کننده را تعیین کنید. بسیاری از دستورات زیر به این اطلاعات نیاز دارند.

      به طور پیش فرض، نام گروه تجزیه و تحلیل "axgroup-001" و نام گروه مصرف کننده "consumer-group-001" است. در فایل پیکربندی بی صدا برای یک منطقه، می توانید با استفاده از ویژگی AXGROUP نام گروه تجزیه و تحلیل را تنظیم کنید.

      اگر از نام گروه های تجزیه و تحلیل و مصرف کننده مطمئن نیستید، از دستور زیر برای نمایش آنها استفاده کنید:

      apigee-adminapi.sh analytics groups list \
        --admin adminEmail --pwd adminPword --host localhost

      این دستور نام گروه تجزیه و تحلیل را در قسمت نام و نام گروه مصرف کننده را در قسمت گروه های مصرف کننده برمی گرداند.

    4. در گره مدیریت سرور dc-1 ، سرور Postgres موجود را از گروه تجزیه و تحلیل حذف کنید:
      1. گره Postgres را از گروه مصرف کننده حذف کنید:
        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

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:

        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
      2. گره Postgres را از گروه تجزیه و تحلیل حذف کنید:
        apigee-adminapi.sh analytics groups postgres_server remove \
          -g axgroup-001 -u UUID -Y --admin adminEmail \
          --pwd adminPword --host localhost

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:

        apigee-adminapi.sh analytics groups postgres_server \
          remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \
          --pwd adminPword --host localhost
    5. در گره مدیریت سرور dc-1 ، سرورهای جدید Master/Standby Postgres را به گروه تجزیه و تحلیل اضافه کنید:
      1. هر دو سرور Postgres را به گروه تجزیه و تحلیل اضافه کنید:
        apigee-adminapi.sh analytics groups postgres_server \
          add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost

        Ehere UUID_1 مربوط به گره اصلی Postgres در dc-1 و UUID_2 مربوط به گره آماده به کار Postgres در dc-2 است.

      2. سرورهای PG را به عنوان 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
    6. سرورهای Qpid را از dc-2 به گروه تجزیه و تحلیل اضافه کنید:
      1. در گره مدیریت سرور dc-1 ، UUID گره های Qpid در dc-2 را دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \
          --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه تجزیه و تحلیل اضافه کنید (هر دو دستور را اجرا کنید):
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_1" --admin adminEmail \
          --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost
      3. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه مصرف کننده اضافه کنید (هر دو دستور را اجرا کنید):
        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

        اگر از کسب درآمد استفاده می کنید، گره های Qpid را به گروه MINT در گره مدیریت سرور dc-1 اضافه کنید:

        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_1 --admin adminEmail \
        --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_2 --admin adminEmail \
        --pwd adminPword --host localhost
    7. سرور آماده به کار قدیمی Postgres را از dc-1 حذف و حذف کنید:
      1. سرور آماده به کار dc-1 Postgres موجود را لغو ثبت کنید:
        apigee-adminapi.sh servers deregister -u UUID -r dc-1 \
        -p analytics -t postgres-server -Y --admin adminEmail \
        --pwd adminPword --host localhost

        جایی که UUID گره آماده به کار قدیمی Postgres در dc-1 است.

      2. سرور آماده به کار dc-1 Postgres موجود را حذف کنید:
        apigee-adminapi.sh servers delete -u UUID \
        --admin adminEmail --pwd adminPword --host localhost
  13. فضاهای کلیدی Cassandra را با ضریب تکرار صحیح برای دو مرکز داده به روز کنید. شما فقط باید این مرحله را یک بار روی هر سرور کاساندرا در هر مرکز داده اجرا کنید:
    1. ابزار Cassandra cqlsh را راه اندازی کنید:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. دستورات CQL زیر را در اعلان "cqlsh>" برای تنظیم سطوح تکرار برای فضاهای کلیدی Cassandra اجرا کنید:
      1. ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }; 
      2. ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. فضاهای کلیدی را با استفاده از دستور مشاهده کنید:
        SELECT * FROM system_schema.keyspaces;
      4. خروج از cqlsh :
        exit
  14. دستور nodetool زیر را روی تمام گره‌های Cassandra در dc-1 اجرا کنید تا حافظه آزاد شود:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  15. برای هر سازمان و برای هر محیطی که می خواهید در مراکز داده پشتیبانی کنید:
    1. در گره مدیریت سرور dc-1 ، MP_POD جدید را به سازمان اضافه کنید:
      apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که gateway-2 نام gateway pod است که توسط ویژگی MP_POD در فایل پیکربندی dc-2 تعریف شده است.

    2. پردازشگرهای پیام جدید را به سازمان و محیط اضافه کنید:
      1. در گره مدیریت سرور dc-2 ، UUID گره های پردازشگر پیام را در dc-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \
          -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره مدیریت سرور dc-1 ، برای هر پردازشگر پیام در dc-2، پردازشگر پیام را به محیطی برای سازمان اضافه کنید:
        apigee-adminapi.sh orgs envs servers add -o orgName -e envName \
          -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. در گره مدیریت سرور dc-1 ، سازمان را بررسی کنید:
      apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که apiProxyName نام یک پراکسی API است که در سازمان مستقر شده است.

  16. اگر از Monetization استفاده می کنید، گره Monetization را در DC2 نصب کنید.

    دستور MINT setup را در سرور مدیریت و گره‌های پردازشگر پیام در DC2 اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
،

این سند نحوه افزودن یک مرکز داده (که منطقه نیز نامیده می شود) را به یک مرکز داده موجود توضیح می دهد.

ملاحظات قبل از افزودن مرکز داده

قبل از نصب افزودن یک مرکز داده، باید نحوه پیکربندی سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres را در مراکز داده بدانید. همچنین باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند.

  • OpenLDAP

    هر مرکز داده سرور OpenLDAP مخصوص به خود را دارد که با قابلیت تکرار پیکربندی شده است. هنگامی که مرکز داده جدید را نصب می کنید، باید OpenLDAP را برای استفاده از Replication پیکربندی کنید، و باید سرور OpenLDAP را در مرکز داده موجود دوباره پیکربندی کنید تا از Replication استفاده کند.

  • باغ وحش

    برای ویژگی ZK_HOSTS برای هر دو مرکز داده، آدرس‌های IP یا نام‌های DNS همه گره‌های ZooKeeper از هر دو مرکز داده را به یک ترتیب مشخص کنید و هر گره‌ای را با اصلاح‌کننده “:observer” علامت‌گذاری کنید. گره های بدون اصلاح کننده :observer "رای دهنده" نامیده می شوند. شما باید تعداد فرد "رای دهنده" را در پیکربندی خود داشته باشید.

    در این توپولوژی، میزبان ZooKeeper در میزبان 9 ناظر است:

    در فایل پیکربندی مثالی که در زیر نشان داده شده است، گره 9 با تعدیل کننده :observer برچسب گذاری شده است تا شما پنج رای دهنده داشته باشید: گره های 1، 2، 3، 7 و 8.

    برای ویژگی ZK_CLIENT_HOSTS برای هر مرکز داده، آدرس‌های IP یا نام‌های DNS فقط گره‌های ZooKeeper در مرکز داده را به همان ترتیب برای همه گره‌های ZooKeeper در مرکز داده مشخص کنید.

  • کاساندرا

    برای CASS_HOSTS برای هر مرکز داده، مطمئن شوید که تمام آدرس‌های IP Cassandra (نه نام‌های DNS) را برای هر دو مرکز داده مشخص کرده‌اید. برای مرکز داده 1، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. برای مرکز داده 2، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. گره های کاساندرا را به ترتیب برای همه گره های کاساندرا در مرکز داده فهرست کنید.

    تمام گره های کاساندرا باید پسوند ": d , r " داشته باشند. به عنوان مثال ' ip :1,1 = مرکز داده 1 و رک / منطقه در دسترس 1 و ' ip :2,1 = مرکز داده 2 و رک / منطقه در دسترس بودن 1.

    به عنوان مثال، "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.202:124. 192.168.124.206:2،1"

    اولین گره در رک/منطقه دسترسی 1 هر مرکز داده به عنوان سرور اولیه استفاده خواهد شد. در این مدل استقرار، تنظیمات Cassandra به شکل زیر خواهد بود:

  • Postgres

    به طور پیش فرض، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال، هنگامی که چندین مرکز داده دارید، گره‌های Postgres را برای استفاده از تکرار در حالت آماده به کار پیکربندی می‌کنید تا اگر گره اصلی از کار بیفتد، گره آماده به کار بتواند به ترافیک سرور ادامه دهد. به طور معمول، سرور اصلی Postgres را در یک مرکز داده و سرور آماده به کار را در مرکز داده دوم پیکربندی می‌کنید.

    اگر مرکز داده موجود از قبل به گونه‌ای پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، به عنوان بخشی از این روش، گره آماده به کار موجود را لغو ثبت کنید و آن را با یک گره آماده به کار در مرکز داده جدید جایگزین کنید.

    جدول زیر تنظیمات قبل و بعد از Postgres را برای هر دو سناریو نشان می دهد:

    قبل از بعد از

    Single Master Postgres node در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Master Postgres در dc-1

    گره آماده به کار Postgres در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Standby Postgres قدیمی را در dc-1 لغو ثبت کنید

  • الزامات بندر

    باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند. برای نمودار پورت، الزامات بندر را ببینید.

به روز رسانی مرکز داده موجود

افزودن مرکز داده مستلزم انجام مراحل نصب و پیکربندی گره‌های مرکز داده جدید است، اما همچنین باید گره‌ها را در مرکز داده اصلی به‌روزرسانی کنید. این تغییرات ضروری هستند زیرا گره‌های Cassandra و ZooKeeper جدیدی را در مرکز داده جدید اضافه می‌کنید که باید برای مرکز داده موجود قابل دسترسی باشند، و باید OpenLDAP را مجدداً برای استفاده از Replication پیکربندی کنید.

ایجاد فایل های پیکربندی

در زیر فایل‌های پیکربندی بی‌صدا برای دو مرکز داده نشان داده شده است، جایی که هر مرکز داده دارای 6 گره است، همانطور که در توپولوژی‌های نصب نشان داده شده است. توجه داشته باشید که فایل پیکربندی برای dc-1 تنظیمات اضافی را به:

  • OpenLDAP را با تکرار در دو گره OpenLDAP پیکربندی کنید.
  • گره های جدید Cassandra و ZooKeeper را از dc-2 به فایل پیکربندی 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>"

یک مرکز داده جدید اضافه کنید

از روش زیر برای نصب یک مرکز داده جدید استفاده کنید.

در این روش، مراکز داده دارای نام های زیر هستند:

  • dc-1 : مرکز داده موجود
  • dc-2 : مرکز داده جدید

برای افزودن یک مرکز داده جدید:

  1. در dc-1 ، setup.sh را روی گره‌های اصلی کاساندرا با فایل پیکربندی جدید dc-1 که شامل گره‌های کاساندرا از dc-2 می‌شود، دوباره اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. در dc-1 ، setup.sh را در گره مدیریت سرور اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1

    اگر از کسب درآمد استفاده می کنید، دستور راه اندازی کسب درآمد را دوباره اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1

  3. در dc-2 ، apigee-setup روی همه گره ها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  4. در dc-2 ، Cassandra و ZooKeeper را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. در dc-2 ، دستور rebuild را روی تمام گره‌های Cassandra اجرا کنید و نام منطقه dc-1 را مشخص کنید:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  6. در dc-2 ، سرور مدیریت را در گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. در گره مدیریت سرور در dc-2 ، apigee-provision را نصب کنید، که ابزار apigee-adminapi.sh نصب می کند:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. در dc-2 ، Routes and Message Processors را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. در dc-2 ، Qpid را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. در dc-2 ، Postgres را روی گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Postgres master/standby را برای گره های Postgres تنظیم کنید. گره Postgres در dc-1 اصلی است و گره Postgres در dc-2 سرور آماده به کار است.
    1. در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. فعال کردن تکرار در استاد جدید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. در گره آماده به کار در dc-2 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. در گره آماده به کار در dc-2 ، سرور را متوقف کنید و سپس داده های موجود Postgres را حذف کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      rm -rf /opt/apigee/data/apigee-postgresql/

      در صورت لزوم، می توانید قبل از حذف از این داده ها نسخه پشتیبان تهیه کنید.

    5. گره آماده به کار را در dc-2 پیکربندی کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. در dc-1، پیکربندی تجزیه و تحلیل را به روز کنید و سازمان ها را پیکربندی کنید.
    1. در گره مدیریت سرور dc-1 ، UUID گره Postgres را دریافت کنید:
      apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \
        --admin adminEmail --pwd adminPword --host localhost

      UUID در انتهای داده های برگشتی ظاهر می شود. آن مقدار را ذخیره کنید.

    2. همانطور که در مرحله قبل نشان داده شده است ، در گره مدیریت سرور dc-2 ، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
    3. در گره مدیریت سرور dc-1 ، نام گروه های تجزیه و تحلیل و مصرف کننده را تعیین کنید. بسیاری از دستورات زیر به این اطلاعات نیاز دارند.

      به طور پیش فرض، نام گروه تجزیه و تحلیل "axgroup-001" و نام گروه مصرف کننده "consumer-group-001" است. در فایل پیکربندی بی صدا برای یک منطقه، می توانید با استفاده از ویژگی AXGROUP نام گروه تجزیه و تحلیل را تنظیم کنید.

      اگر از نام گروه های تجزیه و تحلیل و مصرف کننده مطمئن نیستید، از دستور زیر برای نمایش آنها استفاده کنید:

      apigee-adminapi.sh analytics groups list \
        --admin adminEmail --pwd adminPword --host localhost

      این دستور نام گروه تجزیه و تحلیل را در قسمت نام و نام گروه مصرف کننده را در قسمت گروه های مصرف کننده برمی گرداند.

    4. در گره مدیریت سرور dc-1 ، سرور Postgres موجود را از گروه تجزیه و تحلیل حذف کنید:
      1. گره Postgres را از گروه مصرف کننده حذف کنید:
        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

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:

        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
      2. گره Postgres را از گروه تجزیه و تحلیل حذف کنید:
        apigee-adminapi.sh analytics groups postgres_server remove \
          -g axgroup-001 -u UUID -Y --admin adminEmail \
          --pwd adminPword --host localhost

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:

        apigee-adminapi.sh analytics groups postgres_server \
          remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \
          --pwd adminPword --host localhost
    5. در گره مدیریت سرور dc-1 ، سرورهای جدید Master/Standby Postgres را به گروه تجزیه و تحلیل اضافه کنید:
      1. هر دو سرور Postgres را به گروه تجزیه و تحلیل اضافه کنید:
        apigee-adminapi.sh analytics groups postgres_server \
          add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost

        Ehere UUID_1 مربوط به گره اصلی Postgres در dc-1 و UUID_2 مربوط به گره آماده به کار Postgres در dc-2 است.

      2. سرورهای PG را به عنوان 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
    6. سرورهای Qpid را از dc-2 به گروه تجزیه و تحلیل اضافه کنید:
      1. در گره مدیریت سرور dc-1 ، UUID گره های Qpid در dc-2 را دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \
          --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه تجزیه و تحلیل اضافه کنید (هر دو دستور را اجرا کنید):
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_1" --admin adminEmail \
          --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost
      3. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه مصرف کننده اضافه کنید (هر دو دستور را اجرا کنید):
        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

        اگر از کسب درآمد استفاده می کنید، گره های Qpid را به گروه MINT در گره مدیریت سرور dc-1 اضافه کنید:

        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_1 --admin adminEmail \
        --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_2 --admin adminEmail \
        --pwd adminPword --host localhost
    7. سرور آماده به کار قدیمی Postgres را از dc-1 حذف و حذف کنید:
      1. سرور آماده به کار dc-1 Postgres موجود را لغو ثبت کنید:
        apigee-adminapi.sh servers deregister -u UUID -r dc-1 \
        -p analytics -t postgres-server -Y --admin adminEmail \
        --pwd adminPword --host localhost

        جایی که UUID گره آماده به کار قدیمی Postgres در dc-1 است.

      2. سرور آماده به کار dc-1 Postgres موجود را حذف کنید:
        apigee-adminapi.sh servers delete -u UUID \
        --admin adminEmail --pwd adminPword --host localhost
  13. فضاهای کلیدی Cassandra را با ضریب تکرار صحیح برای دو مرکز داده به روز کنید. شما فقط باید این مرحله را یک بار روی هر سرور کاساندرا در هر مرکز داده اجرا کنید:
    1. ابزار Cassandra cqlsh را راه اندازی کنید:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. دستورات CQL زیر را در اعلان "cqlsh>" برای تنظیم سطوح تکرار برای فضاهای کلیدی Cassandra اجرا کنید:
      1. ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }; 
      2. ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. فضاهای کلیدی را با استفاده از دستور مشاهده کنید:
        SELECT * FROM system_schema.keyspaces;
      4. خروج از cqlsh :
        exit
  14. دستور nodetool زیر را روی تمام گره‌های Cassandra در dc-1 اجرا کنید تا حافظه آزاد شود:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  15. برای هر سازمان و برای هر محیطی که می خواهید در مراکز داده پشتیبانی کنید:
    1. در گره مدیریت سرور dc-1 ، MP_POD جدید را به سازمان اضافه کنید:
      apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که gateway-2 نام gateway pod است که توسط ویژگی MP_POD در فایل پیکربندی dc-2 تعریف شده است.

    2. پردازشگرهای پیام جدید را به سازمان و محیط اضافه کنید:
      1. در گره مدیریت سرور dc-2 ، UUID گره های پردازشگر پیام را در dc-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \
          -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره مدیریت سرور dc-1 ، برای هر پردازشگر پیام در dc-2، پردازشگر پیام را به محیطی برای سازمان اضافه کنید:
        apigee-adminapi.sh orgs envs servers add -o orgName -e envName \
          -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. در گره مدیریت سرور dc-1 ، سازمان را بررسی کنید:
      apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که apiProxyName نام یک پراکسی API است که در سازمان مستقر شده است.

  16. اگر از Monetization استفاده می کنید، گره Monetization را در DC2 نصب کنید.

    دستور MINT setup را در سرور مدیریت و گره‌های پردازشگر پیام در DC2 اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
،

این سند نحوه افزودن یک مرکز داده (که منطقه نیز نامیده می شود) را به یک مرکز داده موجود توضیح می دهد.

ملاحظات قبل از افزودن مرکز داده

قبل از نصب افزودن یک مرکز داده، باید نحوه پیکربندی سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres را در مراکز داده بدانید. همچنین باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند.

  • OpenLDAP

    هر مرکز داده سرور OpenLDAP مخصوص به خود را دارد که با قابلیت تکرار پیکربندی شده است. هنگامی که مرکز داده جدید را نصب می کنید، باید OpenLDAP را برای استفاده از Replication پیکربندی کنید، و باید سرور OpenLDAP را در مرکز داده موجود دوباره پیکربندی کنید تا از Replication استفاده کند.

  • باغ وحش

    برای ویژگی ZK_HOSTS برای هر دو مرکز داده، آدرس‌های IP یا نام‌های DNS همه گره‌های ZooKeeper از هر دو مرکز داده را به یک ترتیب مشخص کنید و هر گره‌ای را با اصلاح‌کننده “:observer” علامت‌گذاری کنید. گره های بدون اصلاح کننده :observer "رای دهنده" نامیده می شوند. شما باید تعداد فرد "رای دهنده" را در پیکربندی خود داشته باشید.

    در این توپولوژی، میزبان ZooKeeper در میزبان 9 ناظر است:

    در فایل پیکربندی مثالی که در زیر نشان داده شده است، گره 9 با تعدیل کننده :observer برچسب گذاری شده است تا شما پنج رای دهنده داشته باشید: گره های 1، 2، 3، 7 و 8.

    برای ویژگی ZK_CLIENT_HOSTS برای هر مرکز داده، آدرس‌های IP یا نام‌های DNS فقط گره‌های ZooKeeper در مرکز داده را به همان ترتیب برای همه گره‌های ZooKeeper در مرکز داده مشخص کنید.

  • کاساندرا

    برای CASS_HOSTS برای هر مرکز داده، مطمئن شوید که تمام آدرس‌های IP Cassandra (نه نام‌های DNS) را برای هر دو مرکز داده مشخص کرده‌اید. برای مرکز داده 1، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. برای مرکز داده 2، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. گره های کاساندرا را به ترتیب برای همه گره های کاساندرا در مرکز داده فهرست کنید.

    تمام گره های کاساندرا باید پسوند ": d , r " داشته باشند. به عنوان مثال ' ip :1,1 = مرکز داده 1 و رک / منطقه در دسترس 1 و ' ip :2,1 = مرکز داده 2 و رک / منطقه در دسترس بودن 1.

    به عنوان مثال، "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.202:124. 192.168.124.206:2،1"

    اولین گره در رک/منطقه دسترسی 1 هر مرکز داده به عنوان سرور اولیه استفاده خواهد شد. در این مدل استقرار، تنظیمات Cassandra به شکل زیر خواهد بود:

  • Postgres

    به طور پیش فرض، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال، هنگامی که چندین مرکز داده دارید، گره‌های Postgres را برای استفاده از تکرار در حالت آماده به کار پیکربندی می‌کنید تا اگر گره اصلی از کار بیفتد، گره آماده به کار بتواند به ترافیک سرور ادامه دهد. به طور معمول، سرور اصلی Postgres را در یک مرکز داده و سرور آماده به کار را در مرکز داده دوم پیکربندی می‌کنید.

    اگر مرکز داده موجود از قبل به گونه‌ای پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، به عنوان بخشی از این روش، گره آماده به کار موجود را لغو ثبت کنید و آن را با یک گره آماده به کار در مرکز داده جدید جایگزین کنید.

    جدول زیر تنظیمات قبل و بعد از Postgres را برای هر دو سناریو نشان می دهد:

    قبل از بعد از

    Single Master Postgres node در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Master Postgres در dc-1

    گره آماده به کار Postgres در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Standby Postgres قدیمی را در dc-1 لغو ثبت کنید

  • الزامات بندر

    باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند. برای نمودار پورت، الزامات بندر را ببینید.

به روز رسانی مرکز داده موجود

افزودن مرکز داده مستلزم انجام مراحل نصب و پیکربندی گره‌های مرکز داده جدید است، اما همچنین باید گره‌ها را در مرکز داده اصلی به‌روزرسانی کنید. این تغییرات ضروری هستند زیرا گره‌های Cassandra و ZooKeeper جدیدی را در مرکز داده جدید اضافه می‌کنید که باید برای مرکز داده موجود قابل دسترسی باشند، و باید OpenLDAP را مجدداً برای استفاده از Replication پیکربندی کنید.

ایجاد فایل های پیکربندی

در زیر فایل‌های پیکربندی بی‌صدا برای دو مرکز داده نشان داده شده است، جایی که هر مرکز داده دارای 6 گره است، همانطور که در توپولوژی‌های نصب نشان داده شده است. توجه داشته باشید که فایل پیکربندی برای dc-1 تنظیمات اضافی را به:

  • OpenLDAP را با تکرار در دو گره OpenLDAP پیکربندی کنید.
  • گره های جدید Cassandra و ZooKeeper را از dc-2 به فایل پیکربندی 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>"

یک مرکز داده جدید اضافه کنید

از روش زیر برای نصب یک مرکز داده جدید استفاده کنید.

در این روش، مراکز داده دارای نام های زیر هستند:

  • dc-1 : مرکز داده موجود
  • dc-2 : مرکز داده جدید

برای افزودن یک مرکز داده جدید:

  1. در dc-1 ، setup.sh را روی گره‌های اصلی کاساندرا با فایل پیکربندی جدید dc-1 که شامل گره‌های کاساندرا از dc-2 می‌شود، دوباره اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. در dc-1 ، setup.sh را در گره مدیریت سرور اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1

    اگر از کسب درآمد استفاده می کنید، دستور راه اندازی کسب درآمد را دوباره اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1

  3. در dc-2 ، apigee-setup روی همه گره ها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  4. در dc-2 ، Cassandra و ZooKeeper را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. در dc-2 ، دستور rebuild را روی تمام گره‌های Cassandra اجرا کنید و نام منطقه dc-1 را مشخص کنید:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  6. در dc-2 ، سرور مدیریت را در گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. در گره مدیریت سرور در dc-2 ، apigee-provision را نصب کنید، که ابزار apigee-adminapi.sh نصب می کند:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. در dc-2 ، Routes and Message Processors را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. در dc-2 ، Qpid را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. در dc-2 ، Postgres را روی گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Postgres master/standby را برای گره های Postgres تنظیم کنید. گره Postgres در dc-1 اصلی است و گره Postgres در dc-2 سرور آماده به کار است.
    1. در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. فعال کردن تکرار در استاد جدید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. در گره آماده به کار در dc-2 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. در گره آماده به کار در dc-2 ، سرور را متوقف کنید و سپس داده های موجود Postgres را حذف کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      rm -rf /opt/apigee/data/apigee-postgresql/

      در صورت لزوم، می توانید قبل از حذف از این داده ها نسخه پشتیبان تهیه کنید.

    5. گره آماده به کار را در dc-2 پیکربندی کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. در dc-1، پیکربندی تجزیه و تحلیل را به روز کنید و سازمان ها را پیکربندی کنید.
    1. در گره مدیریت سرور dc-1 ، UUID گره Postgres را دریافت کنید:
      apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \
        --admin adminEmail --pwd adminPword --host localhost

      UUID در انتهای داده های برگشتی ظاهر می شود. آن مقدار را ذخیره کنید.

    2. همانطور که در مرحله قبل نشان داده شده است ، در گره مدیریت سرور dc-2 ، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
    3. در گره مدیریت سرور dc-1 ، نام گروه های تجزیه و تحلیل و مصرف کننده را تعیین کنید. بسیاری از دستورات زیر به این اطلاعات نیاز دارند.

      به طور پیش فرض، نام گروه تجزیه و تحلیل "axgroup-001" و نام گروه مصرف کننده "consumer-group-001" است. در فایل پیکربندی بی صدا برای یک منطقه، می توانید با استفاده از ویژگی AXGROUP نام گروه تجزیه و تحلیل را تنظیم کنید.

      اگر از نام گروه های تجزیه و تحلیل و مصرف کننده مطمئن نیستید، از دستور زیر برای نمایش آنها استفاده کنید:

      apigee-adminapi.sh analytics groups list \
        --admin adminEmail --pwd adminPword --host localhost

      این دستور نام گروه تجزیه و تحلیل را در قسمت نام و نام گروه مصرف کننده را در قسمت گروه های مصرف کننده برمی گرداند.

    4. در گره مدیریت سرور dc-1 ، سرور Postgres موجود را از گروه تجزیه و تحلیل حذف کنید:
      1. گره Postgres را از گروه مصرف کننده حذف کنید:
        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

        اگر DC-1 پیکربندی شده است که دو گره postgres در حالت Master/Standby اجرا می شود ، هر دو را حذف کنید:

        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
      2. گره Postgres را از گروه Analytics حذف کنید:
        apigee-adminapi.sh analytics groups postgres_server remove \
          -g axgroup-001 -u UUID -Y --admin adminEmail \
          --pwd adminPword --host localhost

        اگر DC-1 پیکربندی شده است که دو گره postgres در حالت Master/Standby اجرا می شود ، هر دو را حذف کنید:

        apigee-adminapi.sh analytics groups postgres_server \
          remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \
          --pwd adminPword --host localhost
    5. در گره سرور مدیریت DC-1 ، سرورهای جدید Master/Sildby Postgres را به گروه Analytics اضافه کنید:
      1. هر دو سرور Postgres را به گروه Analytics اضافه کنید:
        apigee-adminapi.sh analytics groups postgres_server \
          add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost

        Ehere UUID_1 با گره Master Postgres در DC-1 مطابقت دارد ، و UUID_2 با گره آماده به کار در DC-2 مطابقت دارد.

      2. سرورهای PG را به عنوان استاد/آماده به کار به گروه مصرف کننده اضافه کنید:
        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
    6. سرورهای QPID را از DC-2 به گروه Analytics اضافه کنید:
      1. در گره سرور مدیریت DC-1 ، UUID های گره های QPID را در DC-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \
          --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره سرور مدیریت DC-1 ، گره های QPID را به گروه Analytics اضافه کنید (هر دو دستور را اجرا کنید):
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_1" --admin adminEmail \
          --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost
      3. در گره سرور مدیریت DC-1 ، گره های QPID را به گروه مصرف کننده اضافه کنید (هر دو دستور را اجرا کنید):
        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

        اگر از کسب درآمد استفاده می کنید ، گره های QPID را به گروه نعناع در گره سرور مدیریت DC-1 اضافه کنید:

        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_1 --admin adminEmail \
        --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_2 --admin adminEmail \
        --pwd adminPword --host localhost
    7. Deregister و حذف سرور آماده به کار قدیمی Postgres از DC-1:
      1. Deregister سرور آماده به کار DC-1 Postgres موجود:
        apigee-adminapi.sh servers deregister -u UUID -r dc-1 \
        -p analytics -t postgres-server -Y --admin adminEmail \
        --pwd adminPword --host localhost

        جایی که UUID گره قدیمی Postgres در DC-1 است.

      2. سرور آماده به کار DC-1 Postgres موجود را حذف کنید:
        apigee-adminapi.sh servers delete -u UUID \
        --admin adminEmail --pwd adminPword --host localhost
  13. مکانهای کلید کاساندرا را با فاکتور تکثیر صحیح برای دو مرکز داده به روز کنید. شما فقط باید این مرحله را یک بار در هر سرور کاساندرا در هر مرکز داده اجرا کنید:
    1. برنامه Cassandra cqlsh شروع کنید:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. دستورات CQL زیر را در "CQLSH>" انجام دهید تا سطح تکثیر را برای کاساندرا کلید تنظیم کنید:
      1. ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }; 
      2. ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. با استفاده از دستور ، مکانهای کلید را مشاهده کنید:
        SELECT * FROM system_schema.keyspaces;
      4. خروج cqlsh :
        exit
  14. دستور nodetool زیر را روی همه گره های کاساندرا در DC-1 اجرا کنید تا حافظه رایگان:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

    اگر تأیید اعتبار JMX را برای Cassandra فعال کنید ، فقط باید نام کاربری و رمز عبور خود را تصویب کنید.

  15. برای هر سازمان و برای هر محیطی که می خواهید در مراکز داده پشتیبانی کنید:
    1. در گره سرور مدیریت DC-1 ، MP_POD جدید را به سازمان اضافه کنید:
      apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که gateway-2 نام Gateway Pod است که توسط ویژگی MP_POD در پرونده پیکربندی DC-2 تعریف شده است.

    2. پردازنده های پیام جدید را به org و محیط اضافه کنید:
      1. در گره سرور مدیریت DC-2 ، UUIDS گره های پردازنده پیام را در DC-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \
          -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره سرور مدیریت DC-1 ، برای هر پردازنده پیام در DC-2 ، پردازنده پیام را به یک محیط برای org اضافه کنید:
        apigee-adminapi.sh orgs envs servers add -o orgName -e envName \
          -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. در گره سرور مدیریت DC-1 ، سازمان را بررسی کنید:
      apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که apiProxyName نام یک پروکسی API است که در سازمان مستقر شده است.

  16. اگر از کسب درآمد استفاده می کنید ، گره کسب درآمد را در DC2 نصب کنید.

    دستور setup نعنا را در سرور مدیریت و گره های پردازنده پیام در DC2 اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
،

این سند نحوه اضافه کردن یک مرکز داده (که به آن منطقه نیز گفته می شود) را به یک مرکز داده موجود توضیح می دهد.

ملاحظات قبل از اضافه کردن یک مرکز داده

قبل از نصب یک مرکز داده ، باید نحوه پیکربندی سرورهای OpenLDAP ، Zookeeper ، Cassandra و Postgres را در مراکز داده درک کنید. همچنین باید اطمینان حاصل کنید که درگاه های لازم بین گره ها در دو مرکز داده باز است.

  • OpenLDAP

    هر مرکز داده دارای سرور OpenLDAP خاص خود است که با تکثیر فعال شده است. هنگامی که مرکز داده جدید را نصب می کنید ، برای استفاده از Replication باید OpenLDAP را پیکربندی کنید و باید سرور OpenLDAP را در مرکز داده های موجود دوباره پیکربندی کنید تا از Replication استفاده کنید.

  • باغ وحش

    برای ویژگی ZK_HOSTS برای هر دو مرکز داده ، آدرس IP یا نام DNS همه گره های Zookeeper را از هر دو مرکز داده ، به همان ترتیب مشخص کنید و هر گره را با اصلاح کننده با ": Observer" علامت گذاری کنید. گره های بدون :observer "رأی دهندگان" نامیده می شوند. شما باید در پیکربندی خود تعداد عجیب و غریب "رای دهنده" داشته باشید.

    در این توپولوژی ، میزبان Zookeeper در میزبان 9 ناظر است:

    در پرونده پیکربندی مثال نشان داده شده در زیر ، گره 9 با اصلاح کننده :observer به گونه ای برچسب گذاری شده است که شما پنج رای دهنده دارید: گره 1 ، 2 ، 3 ، 7 و 8.

    برای ویژگی ZK_CLIENT_HOSTS برای هر مرکز داده ، آدرس های IP یا نام DNS فقط گره های Zookeeper را در مرکز داده ، به همان ترتیب ، برای همه گره های باغ وحش در مرکز داده مشخص کنید.

  • کاساندرا

    برای CASS_HOSTS برای هر مرکز داده ، اطمینان حاصل کنید که تمام آدرس های IP Cassandra (نه نام DNS) را برای هر دو مرکز داده مشخص کنید. برای مرکز داده 1 ، ابتدا گره های کاساندرا را در آن مرکز داده ذکر کنید. برای مرکز داده 2 ، ابتدا گره های کاساندرا را در آن مرکز داده ذکر کنید. گره های کاساندرا را به همان ترتیب برای همه گره های کاساندرا در مرکز داده لیست کنید.

    همه گره های کاساندرا باید پسوند داشته باشند: d ، r '؛ به عنوان مثال ' ip : 1،1 = مرکز داده 1 و RACK/ZORE در دسترس 1 و' ip : 2،1 = مرکز داده 2 و منطقه RACK/AVESITIVE 1.

    به عنوان مثال ، "192.168.124.201:1،1 192.168.124.202:1،1 192.168.124.203:1.168.124.204:2،1 192.168.124.205:2،11 192.168.124.206:2،1 "

    اولین گره در منطقه Rack/در دسترس بودن 1 از هر مرکز داده به عنوان سرور بذر استفاده می شود. در این مدل استقرار ، راه اندازی کاساندرا به این شکل خواهد بود:

  • Postgres

    به طور پیش فرض ، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال ، هنگامی که شما چندین مرکز داده دارید ، گره های Postgres را پیکربندی می کنید تا از تکثیر مستعار استفاده کنید تا در صورت عدم موفقیت گره اصلی ، گره آماده به کار می تواند به ترافیک سرور ادامه دهد. به طور معمول ، شما سرور Master Postgres را در یک مرکز داده و سرور آماده به کار در مرکز داده دوم پیکربندی می کنید.

    اگر مرکز داده موجود قبلاً پیکربندی شده است تا دو گره Postgres را در حالت Master/Standby اجرا کند ، به عنوان بخشی از این روش ، گره آماده به کار موجود را تنظیم کرده و آن را با یک گره آماده به کار در مرکز داده جدید جایگزین کنید.

    جدول زیر پیکربندی قبل و بعد از postgres را برای هر دو سناریو نشان می دهد:

    قبل از بعد از

    گره Master Postgres در DC-1

    گره Master Postgres در DC-1

    گره Postgres آماده به کار در DC-2

    گره Master Postgres در DC-1

    گره Postgres آماده به کار در DC-1

    گره Master Postgres در DC-1

    گره Postgres آماده به کار در DC-2

    Node Postgres standgres stayby قدیمی در DC-1

  • الزامات بندر

    شما باید اطمینان حاصل کنید که درگاه های لازم بین گره ها در دو مرکز داده باز است. برای نمودار بندر ، به الزامات بندر مراجعه کنید.

به روزرسانی مرکز داده موجود

اضافه کردن یک مرکز داده شما را ملزم به انجام مراحل نصب و پیکربندی گره های مرکز داده جدید می کند ، اما همچنین به شما نیاز دارد که گره ها را در مرکز داده اصلی به روز کنید. این اصلاحات ضروری است زیرا شما در مرکز داده جدید که باید در دسترس مرکز داده های موجود باشد ، گره های جدید کاساندرا و Zookeeper را اضافه می کنید ، و برای استفاده از تکثیر ، باید OpenLDap را دوباره پیکربندی کنید.

ایجاد پرونده های پیکربندی

نشان داده شده در زیر پرونده های پیکربندی خاموش برای دو مرکز داده است که در آن هر مرکز داده دارای 6 گره است که در توپولوژی های نصب نشان داده شده است. توجه کنید که پرونده پیکربندی برای DC-1 تنظیمات اضافی را به:

  • OpenLDAP را با تکثیر در دو گره OpenLDAP پیکربندی کنید.
  • گره های جدید Cassandra و Zookeeper را از DC-2 به پرونده پیکربندی برای 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>"

یک مرکز داده جدید اضافه کنید

برای نصب یک مرکز داده جدید از روش زیر استفاده کنید.

در این روش ، مراکز داده نام های زیر را دارند:

  • DC-1 : مرکز داده موجود
  • DC-2 : مرکز داده جدید

برای افزودن یک مرکز داده جدید:

  1. در DC-1 ، Rerun Setup.sh در گره های اصلی Cassandra با فایل پیکربندی جدید DC-1 که شامل گره های کاساندرا از DC-2 است:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. در DC-1 ، Rerun Setup.sh در گره سرور مدیریت:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1

    اگر از درآمدزایی استفاده می کنید ، دستور تنظیم کسب درآمد را دوباره انجام دهید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1

  3. در DC-2 ، apigee-setup روی همه گره ها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge Apigee-setup مراجعه کنید.
  4. در DC-2 ، Cassandra و Zookeeper را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. در DC-2 ، فرمان بازسازی را روی همه گره های Cassandra اجرا کنید ، نام منطقه DC-1 را مشخص کنید:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1

    اگر تأیید اعتبار JMX را برای Cassandra فعال کنید ، فقط باید نام کاربری و رمز عبور خود را تصویب کنید.

  6. در DC-2 ، سرور مدیریت را روی گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. در گره سرور مدیریت در DC-2 ، apigee-provision را نصب کنید ، که ابزار apigee-adminapi.sh نصب می کند:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. در DC-2 ، مسیرها و پردازنده های پیام را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. در DC-2 ، QPID را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. در DC-2 ، Postgres را روی گره مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Setup Postgres Master/آماده به کار برای گره های Postgres. گره Postgres در DC-1 استاد است و گره Postgres در DC-2 سرور آماده به کار است.
    1. در گره اصلی در DC-1 ، پرونده پیکربندی را برای تنظیم ویرایش کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. تکثیر را در استاد جدید فعال کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. در گره آماده به کار در DC-2 ، پرونده پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. در گره آماده به کار در DC-2 ، سرور را متوقف کرده و سپس داده های موجود Postgres موجود را حذف کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      rm -rf /opt/apigee/data/apigee-postgresql/

      در صورت لزوم ، می توانید قبل از حذف آن از این داده ها نسخه پشتیبان تهیه کنید.

    5. گره آماده به کار را در DC-2 پیکربندی کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. در DC-1 ، پیکربندی Analytics را به روز کنید و سازمان ها را پیکربندی کنید.
    1. در گره سرور مدیریت DC-1 ، UUID گره Postgres را دریافت کنید:
      apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \
        --admin adminEmail --pwd adminPword --host localhost

      UUID در انتهای داده های برگشتی ظاهر می شود. آن مقدار را ذخیره کنید.

    2. در گره سرور مدیریت DC-2 ، همانطور که در مرحله قبل نشان داده شده است ، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
    3. در گره سرور مدیریت DC-1 ، نام گروههای تحلیلی و مصرف کننده را تعیین کنید. بسیاری از دستورات زیر به آن اطلاعات نیاز دارند.

      به طور پیش فرض ، نام گروه Analytics "AxGroup-001" است و نام گروه مصرف کننده "Consumer-Group-001" است. در پرونده پیکربندی خاموش برای یک منطقه ، می توانید با استفاده از ویژگی AXGROUP ، نام گروه Analytics را تنظیم کنید.

      اگر از نام گروه های تحلیلی و مصرف کننده مطمئن نیستید ، از دستور زیر برای نمایش آنها استفاده کنید:

      apigee-adminapi.sh analytics groups list \
        --admin adminEmail --pwd adminPword --host localhost

      این دستور نام گروه Analytics را در قسمت نام و نام گروه مصرف کننده در قسمت گروه های مصرف کننده باز می گرداند.

    4. در گره سرور مدیریت DC-1 ، سرور موجود Postgres موجود را از گروه Analytics حذف کنید:
      1. گره Postgres را از گروه مصرف کننده حذف کنید:
        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

        اگر DC-1 پیکربندی شده است که دو گره postgres در حالت Master/Standby اجرا می شود ، هر دو را حذف کنید:

        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
      2. گره Postgres را از گروه Analytics حذف کنید:
        apigee-adminapi.sh analytics groups postgres_server remove \
          -g axgroup-001 -u UUID -Y --admin adminEmail \
          --pwd adminPword --host localhost

        اگر DC-1 پیکربندی شده است که دو گره postgres در حالت Master/Standby اجرا می شود ، هر دو را حذف کنید:

        apigee-adminapi.sh analytics groups postgres_server \
          remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \
          --pwd adminPword --host localhost
    5. در گره سرور مدیریت DC-1 ، سرورهای جدید Master/Sildby Postgres را به گروه Analytics اضافه کنید:
      1. هر دو سرور Postgres را به گروه Analytics اضافه کنید:
        apigee-adminapi.sh analytics groups postgres_server \
          add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost

        Ehere UUID_1 با گره Master Postgres در DC-1 مطابقت دارد ، و UUID_2 با گره آماده به کار در DC-2 مطابقت دارد.

      2. سرورهای PG را به عنوان استاد/آماده به کار به گروه مصرف کننده اضافه کنید:
        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
    6. سرورهای QPID را از DC-2 به گروه Analytics اضافه کنید:
      1. در گره سرور مدیریت DC-1 ، UUID های گره های QPID را در DC-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \
          --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره سرور مدیریت DC-1 ، گره های QPID را به گروه Analytics اضافه کنید (هر دو دستور را اجرا کنید):
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_1" --admin adminEmail \
          --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
          add -g axgroup-001 -u "UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost
      3. در گره سرور مدیریت DC-1 ، گره های QPID را به گروه مصرف کننده اضافه کنید (هر دو دستور را اجرا کنید):
        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

        اگر از کسب درآمد استفاده می کنید ، گره های QPID را به گروه نعناع در گره سرور مدیریت DC-1 اضافه کنید:

        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_1 --admin adminEmail \
        --pwd adminPword --host localhost
        
        apigee-adminapi.sh analytics groups qpid_server \
        add -g mxgroup001 -u UUID_2 --admin adminEmail \
        --pwd adminPword --host localhost
    7. Deregister و حذف سرور آماده به کار قدیمی Postgres از DC-1:
      1. Deregister سرور آماده به کار DC-1 Postgres موجود:
        apigee-adminapi.sh servers deregister -u UUID -r dc-1 \
        -p analytics -t postgres-server -Y --admin adminEmail \
        --pwd adminPword --host localhost

        جایی که UUID گره قدیمی Postgres در DC-1 است.

      2. سرور آماده به کار DC-1 Postgres موجود را حذف کنید:
        apigee-adminapi.sh servers delete -u UUID \
        --admin adminEmail --pwd adminPword --host localhost
  13. مکانهای کلید کاساندرا را با فاکتور تکثیر صحیح برای دو مرکز داده به روز کنید. شما فقط باید این مرحله را یک بار در هر سرور کاساندرا در هر مرکز داده اجرا کنید:
    1. برنامه Cassandra cqlsh شروع کنید:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. دستورات CQL زیر را در "CQLSH>" انجام دهید تا سطح تکثیر را برای کاساندرا کلید تنظیم کنید:
      1. ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }; 
      2. ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. با استفاده از دستور ، مکانهای کلید را مشاهده کنید:
        SELECT * FROM system_schema.keyspaces;
      4. خروج cqlsh :
        exit
  14. دستور nodetool زیر را روی همه گره های کاساندرا در DC-1 اجرا کنید تا حافظه رایگان:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

    اگر تأیید اعتبار JMX را برای Cassandra فعال کنید ، فقط باید نام کاربری و رمز عبور خود را تصویب کنید.

  15. برای هر سازمان و برای هر محیطی که می خواهید در مراکز داده پشتیبانی کنید:
    1. در گره سرور مدیریت DC-1 ، MP_POD جدید را به سازمان اضافه کنید:
      apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که gateway-2 نام Gateway Pod است که توسط ویژگی MP_POD در پرونده پیکربندی DC-2 تعریف شده است.

    2. پردازنده های پیام جدید را به org و محیط اضافه کنید:
      1. در گره سرور مدیریت DC-2 ، UUIDS گره های پردازنده پیام را در DC-2 دریافت کنید:
        apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \
          -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.

      2. در گره سرور مدیریت DC-1 ، برای هر پردازنده پیام در DC-2 ، پردازنده پیام را به یک محیط برای org اضافه کنید:
        apigee-adminapi.sh orgs envs servers add -o orgName -e envName \
          -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. در گره سرور مدیریت DC-1 ، سازمان را بررسی کنید:
      apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \
        --admin adminEmail --pwd adminPword --host localhost

      جایی که apiProxyName نام یک پروکسی API است که در سازمان مستقر شده است.

  16. اگر از کسب درآمد استفاده می کنید ، گره کسب درآمد را در DC2 نصب کنید.

    دستور setup نعنا را در سرور مدیریت و گره های پردازنده پیام در DC2 اجرا کنید:

    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1