این سند نحوه اضافه کردن یک مرکز داده (که به آن منطقه نیز گفته میشود) به یک مرکز داده موجود را شرح میدهد.
ملاحظات قبل از اضافه کردن مرکز داده
قبل از نصب افزونهی add a data center، باید نحوهی پیکربندی سرورهای SymasLDAP، ZooKeeper، Cassandra و Postgres را در بین مراکز داده بدانید. همچنین باید مطمئن شوید که پورتهای لازم بین گرههای دو مرکز داده باز هستند.
- سایماس الدیاپ
هر مرکز داده، سرور SymasLDAP مخصوص به خود را دارد که قابلیت تکثیر در آن فعال است. هنگام نصب مرکز داده جدید، باید SymasLDAP را برای استفاده از تکثیر پیکربندی کنید و باید سرور SymasLDAP موجود در مرکز داده موجود را نیز برای استفاده از تکثیر، مجدداً پیکربندی کنید.
- نگهبان باغ وحش
برای ویژگی
ZK_HOSTSبرای هر دو مرکز داده، آدرسهای IP یا نامهای DNS همه گرههای ZooKeeper از هر دو مرکز داده را به ترتیب یکسان مشخص کنید و هر گره را با اصلاحکننده “:observer” علامتگذاری کنید. گرههای بدون اصلاحکننده:observer"رأیدهنده" نامیده میشوند. شما باید تعداد فرد "رأیدهنده" در پیکربندی خود داشته باشید.در این توپولوژی، میزبان ZooKeeper روی میزبان ۹، ناظر است:

در فایل پیکربندی نمونهای که در زیر نشان داده شده است، گره ۹ با اصلاحکنندهی
:observerبرچسبگذاری شده است، بنابراین شما پنج رأیدهنده دارید: گرههای ۱، ۲، ۳، ۷ و ۸.برای ویژگی
ZK_CLIENT_HOSTSبرای هر مرکز داده، آدرسهای IP یا نامهای DNS مربوط به گرههای ZooKeeper در مرکز داده را به ترتیب یکسان برای همه گرههای ZooKeeper در مرکز داده مشخص کنید. - کاساندرا
برای
CASS_HOSTSبرای هر مرکز داده، مطمئن شوید که تمام آدرسهای IP کاساندرا (نه نامهای DNS) را برای هر دو مرکز داده مشخص کردهاید. برای مرکز داده ۱، ابتدا گرههای کاساندرا را در آن مرکز داده فهرست کنید. برای مرکز داده ۲، ابتدا گرههای کاساندرا را در آن مرکز داده فهرست کنید. گرههای کاساندرا را به همان ترتیب برای همه گرههای کاساندرا در مرکز داده فهرست کنید.تمام گرههای کاساندرا باید دارای پسوند ': d , r ' باشند؛ برای مثال ' ip :1,1 = مرکز داده ۱ و منطقه رک/دسترسی ۱ و ' ip :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.124.205:2,1 192.168.124.206:2,1"
اولین گره در ناحیه رک/دسترسیپذیری ۱ هر مرکز داده به عنوان سرور اولیه استفاده خواهد شد. در این مدل استقرار، تنظیمات کاساندرا به شکل زیر خواهد بود:

- پستگرس
به طور پیشفرض، Edge تمام گرههای Postgres را در حالت master نصب میکند. با این حال، وقتی چندین مرکز داده دارید، گرههای Postgres را طوری پیکربندی میکنید که از تکثیر master-standby استفاده کنند تا در صورت خرابی گره master، گره standby بتواند به ترافیک سرور ادامه دهد. معمولاً سرور master Postgres را در یک مرکز داده و سرور standby را در مرکز داده دوم پیکربندی میکنید.
اگر مرکز داده موجود از قبل طوری پیکربندی شده است که دو گره Postgres در حالت master/standby در حال اجرا داشته باشد، به عنوان بخشی از این رویه، گره standby موجود را از حالت ثبت خارج کرده و آن را با یک گره standby در مرکز داده جدید جایگزین کنید.
جدول زیر پیکربندی Postgres قبل و بعد را برای هر دو سناریو نشان میدهد:
قبل از بعد از یک گره مستر پستگرس در dc-1
گره مستر پستگرس در dc-1
گره Postgres آماده به کار در dc-2
گره مستر پستگرس در dc-1
گره Postgres آماده به کار در dc-1
گره مستر پستگرس در dc-1
گره Postgres آماده به کار در dc-2
حذف ثبت گره Postgres قدیمی Standby در dc-1
- الزامات بندر
شما باید مطمئن شوید که پورتهای لازم بین گرههای دو مرکز داده باز هستند. برای نمودار پورت، به الزامات پورت مراجعه کنید.
بهروزرسانی مرکز داده موجود
اضافه کردن یک مرکز داده مستلزم انجام مراحل نصب و پیکربندی گرههای مرکز داده جدید است، اما همچنین مستلزم بهروزرسانی گرهها در مرکز داده اصلی نیز میباشد. این تغییرات ضروری هستند زیرا شما گرههای جدید Cassandra و ZooKeeper را در مرکز داده جدید اضافه میکنید که باید برای مرکز داده موجود قابل دسترسی باشند و باید SymasLDAP را برای استفاده از تکثیر دوباره پیکربندی کنید.
ایجاد فایلهای پیکربندی
در زیر فایلهای پیکربندی خاموش برای دو مرکز داده نشان داده شده است، که در آن هر مرکز داده دارای 6 گره است، همانطور که در توپولوژیهای نصب نشان داده شده است. توجه داشته باشید که فایل پیکربندی برای dc-1 تنظیمات اضافی را به موارد زیر اضافه میکند:
- پیکربندی SymasLDAP با قابلیت تکثیر در دو گره SymasLDAP.
- گرههای جدید 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 : مرکز داده جدید
برای افزودن یک مرکز داده جدید:
- در dc-1 ، فایل setup.sh را روی گرههای اصلی کاساندرا با فایل پیکربندی جدید dc-1 که شامل گرههای کاساندرا از dc-2 است، دوباره اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
- در dc-2 ، apigee-setup را روی همه گرهها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
- در dc-2 ، کاساندرا و ZooKeeper را روی گرههای مناسب نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
- در dc-1 ، فایل setup.sh را دوباره روی گره Management Server اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
در صورت لزوم، تنظیمات کسب درآمد را دوباره اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
- در dc-2 ، دستور rebuild را روی تمام گرههای کاساندرا اجرا کنید و نام ناحیه dc-1 را مشخص کنید:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1
فقط در صورتی که احراز هویت JMX را برای کاساندرا فعال کرده باشید، باید نام کاربری و رمز عبور خود را وارد کنید.
- در dc-2 ، سرور مدیریت را روی گره مناسب نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
- روی گره Management Server در dc-2 ،
apigee-provisionرا نصب کنید که ابزارapigee-adminapi.shرا نصب میکند:/opt/apigee/apigee-service/bin/apigee-service apigee-provision install
- در dc-2 ، مسیرها و پردازندههای پیام را روی گرههای مناسب نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
- در dc-2 ، Qpid را روی گرههای مناسب نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
- در dc-2 ، Postgres را روی گره مناسب نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
- سرور Postgres master/standby را برای گرههای Postgres راهاندازی کنید. گره Postgres در dc-1 سرور master و گره Postgres در dc-2 سرور standby است.
- در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم شود:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- فعال کردن تکثیر روی سرور اصلی جدید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- در گره آماده به کار در dc-2 ، فایل پیکربندی را ویرایش کنید تا تنظیم شود:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- در گره آماده به کار در dc-2 ، سرور را متوقف کرده و سپس هرگونه داده Postgres موجود را حذف کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
rm -rf /opt/apigee/data/apigee-postgresql/در صورت لزوم، میتوانید قبل از حذف این اطلاعات، از آنها نسخه پشتیبان تهیه کنید.
- پیکربندی گره آماده به کار در dc-2 :
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم شود:
- در dc-1، پیکربندی تجزیه و تحلیل را بهروزرسانی کرده و سازمانها را پیکربندی کنید.
- در گره Management Server مربوط به dc-1 ، شناسه کاربری (UUID) گره Postgres را دریافت کنید:
apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \ --admin adminEmail --pwd adminPword --host localhost
UUID در انتهای دادههای برگشتی ظاهر میشود. آن مقدار را ذخیره کنید.
- در گره Management Server مربوط به dc-2 ، همانطور که در مرحله قبل نشان داده شد، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
- در گره سرور مدیریت dc-1 ، نام گروههای تحلیلی و مصرفی را تعیین کنید. بسیاری از دستورات زیر به این اطلاعات نیاز دارند.
به طور پیشفرض، نام گروه تحلیلی "axgroup-001" و نام گروه مصرفکننده "consumer-group-001" است. در فایل پیکربندی بیصدا برای یک منطقه، میتوانید نام گروه تحلیلی را با استفاده از ویژگی
AXGROUPتنظیم کنید.اگر از نام گروههای تحلیلی و مصرفی مطمئن نیستید، از دستور زیر برای نمایش آنها استفاده کنید:
apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost
این دستور نام گروه تحلیلی را در فیلد نام و نام گروه مصرفکننده را در فیلد گروههای مصرفکننده برمیگرداند.
- در گره Management Server مربوط به dc-1 ، سرور Postgres موجود را از گروه analytics حذف کنید:
- گره 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
- گره 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
- گره Postgres را از گروه مصرفکننده حذف کنید:
- در گره Management Server مربوط به dc-1 ، سرورهای Postgres اصلی/آماده به کار جدید را به گروه analytics اضافه کنید:
- هر دو سرور Postgres را به گروه analytics اضافه کنید:
apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
در اینجا UUID_1 مربوط به گره Postgres اصلی در dc-1 و UUID_2 مربوط به گره Postgres آماده به کار در dc-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
- هر دو سرور Postgres را به گروه analytics اضافه کنید:
- سرورهای Qpid را از dc-2 به گروه analytics اضافه کنید:
- در گره Management Server مربوط به 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 ها در انتهای دادههای برگشتی ظاهر میشوند. آن مقادیر را ذخیره کنید.
- در گره Management Server مربوط به 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 - در گره Management Server مربوط به 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اگر از Monetization استفاده میکنید، گرههای Qpid را به گروه MINT در گره Management Server مربوط به 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
- در گره Management Server مربوط به dc-1 ، شناسههای کاربری (UUID) گرههای Qpid در dc-2 را دریافت کنید:
- سرور Postgres standby قدیمی را از dc-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 است.
- سرور آماده به کار موجود در Postgres با نام dc-1 را حذف کنید:
apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost
- سرور آماده به کار فعلی dc-1 Postgres را از حالت ثبت خارج کنید:
- در گره Management Server مربوط به dc-1 ، شناسه کاربری (UUID) گره Postgres را دریافت کنید:
- فضاهای کلید کاساندرا را با ضریب تکثیر صحیح برای دو مرکز داده بهروزرسانی کنید. شما فقط باید این مرحله را یک بار روی هر سرور کاساندرا در هر دو مرکز داده اجرا کنید:
- ابزار Cassandra
cqlshرا اجرا کنید:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
- دستورات CQL زیر را در اعلان "cqlsh>" اجرا کنید تا سطوح تکثیر برای فضاهای کلید کاساندرا تنظیم شود:
ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };- با استفاده از دستور زیر، فضای کلیدها را مشاهده کنید:
SELECT * FROM system_schema.keyspaces;
- خروج از
cqlsh:exit
- ابزار Cassandra
- دستور
nodetoolزیر را روی تمام گرههای کاساندرا در dc-1 اجرا کنید تا حافظه آزاد شود:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
فقط در صورتی که احراز هویت JMX را برای کاساندرا فعال کرده باشید، باید نام کاربری و رمز عبور خود را وارد کنید.
- برای هر سازمان و برای هر محیطی که میخواهید از طریق مراکز داده پشتیبانی کنید:
- در گره Management Server مربوط به dc-1 ، فایل MP_POD جدید را به Organization اضافه کنید:
apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \ --admin adminEmail --pwd adminPword --host localhost
که در آن gateway-2 نام گیتوی پاد است که توسط ویژگی MP_POD در فایل پیکربندی dc-2 تعریف شده است.
- پردازندههای پیام جدید را به سازمان و محیط اضافه کنید:
- در گره Management Server مربوط به dc-2 ، شناسههای کاربری (UUID) گرههای Message Processor در dc-2 را دریافت کنید:
apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \ -t message-processor --admin adminEmail --pwd adminPword --host localhost
UUID ها در انتهای دادههای برگشتی ظاهر میشوند. آن مقادیر را ذخیره کنید.
- در گره سرور مدیریت dc-1 ، برای هر پردازنده پیام در dc-2، پردازنده پیام را به محیطی برای سازمان اضافه کنید:
apigee-adminapi.sh orgs envs servers add -o orgName -e envName \ -u UUID --admin adminEmail --pwd adminPword --host localhost
- در گره Management Server مربوط به dc-2 ، شناسههای کاربری (UUID) گرههای Message Processor در dc-2 را دریافت کنید:
- در گره Management Server مربوط به dc-1 ، سازماندهی را بررسی کنید:
apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost
که در آن apiProxyName نام یک پروکسی API مستقر در سازمان است.
- در گره Management Server مربوط به dc-1 ، فایل MP_POD جدید را به Organization اضافه کنید:
اگر از Monetization استفاده میکنید، گره Monetization را در DC2 نصب کنید.
دستور راهاندازی MINT را در سرور مدیریت و گرههای پردازنده پیام در DC2 اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1