گاهی اوقات ممکن است لازم باشد یک مرکز داده را از کار بیندازید. به عنوان مثال، اگر سیستم عامل خود را ارتقا می دهید، باید سیستم عامل جدید را در یک مرکز داده جدید نصب کنید و سپس مرکز داده قدیمی را از کار بیندازید. بخشهای زیر نمونهای از از کار انداختن یک مرکز داده را ارائه میکنند که در آن دو مرکز داده، dc-1 و dc-2، در یک نصب خوشهای 12 گره وجود دارد:
- dc-1 مرکز داده ای است که باید از رده خارج شود.
- dc-2 یک مرکز داده ثانویه است که در روند از کار انداختن استفاده می شود.
اگر سیستم عامل خود را ارتقا می دهید، dc-2 می تواند مرکز داده ای باشد که نسخه جدید سیستم عامل (OS) را در آن نصب کرده اید. با این حال، نصب یک سیستم عامل جدید برای از کار انداختن مرکز داده لازم نیست.
ملاحظات قبل از از کار انداختن یک مرکز داده
هنگام از کار انداختن یک مرکز داده، ملاحظات زیر را در نظر داشته باشید:
- تمام ترافیک مدیریت و زمان اجرا را به مرکز داده در حال از کار انداختن مسدود کنید و آنها را به مراکز داده دیگر هدایت کنید.
- پس از از کار انداختن مرکز داده، در خوشه Apigee خود ظرفیت کمتری خواهید داشت. برای جبران آن، افزایش ظرفیت در مراکز داده باقیمانده یا اضافه کردن مراکز داده پس از از کار انداختن را در نظر بگیرید.
- در طول فرآیند از کار انداختن، بسته به اینکه کدام مؤلفه های تجزیه و تحلیل در مرکز داده در حال از کار افتادن نصب شده باشند، احتمال از دست رفتن داده های تحلیلی وجود دارد. می توانید جزئیات بیشتری را در افزودن یا حذف گره های Qpid بیابید.
- قبل از اینکه یک مرکز داده را از کار بیندازید، باید بدانید که چگونه همه مؤلفه ها در همه مراکز داده، به ویژه سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres پیکربندی شده اند. همچنین باید از تمام اجزا و تنظیمات آنها نسخه پشتیبان تهیه کنید.
قبل از شروع
- مدیریت سرور: تمام مراحل از کار افتادن به شدت به سرور مدیریت وابسته است. اگر فقط یک سرور مدیریت در دسترس دارید، توصیه می کنیم قبل از از کار انداختن سرور مدیریت در dc-1، یک مؤلفه مدیریت سرور جدید را در مرکز داده ای غیر از dc-1 نصب کنید و مطمئن شوید که یکی از سرورهای مدیریت همیشه در دسترس است. .
- روتر: قبل از از کار انداختن روتر، دسترسی روترها را با مسدود کردن پورت 15999 غیرفعال کنید. مطمئن شوید که هیچ ترافیکی در زمان اجرا به سمت روترهایی که از کار افتاده اند هدایت نمی شود.
- Cassandra و ZooKeeper: بخش های زیر نحوه از کار انداختن dc-1 را در راه اندازی دو مرکز داده توضیح می دهد.
اگر بیش از دو مرکز داده دارید، مطمئن شوید که تمام ارجاعات به گره در حال از کار انداختن (در این مورد dc-1) را از تمام فایلهای پیکربندی بیصدا در تمام مراکز داده باقیمانده حذف کنید. برای گرههای Cassandra که قرار است از رده خارج شوند، آن میزبانها را از
CASS_HOSTS
حذف کنید. گره های کاساندرا باقی مانده باید در ترتیب اولیهCASS_HOSTS
باقی بمانند. - Postgres: اگر Master Postgres را از کار انداختید، مطمئن شوید که هر یک از گره های آماده به کار موجود را به عنوان یک Master Postgres جدید تبلیغ کنید. در حالی که سرور QPID یک بافر را در صف نگه می دارد، اگر Postgres Master برای مدت طولانی تری در دسترس نباشد، خطر از دست دادن داده های تجزیه و تحلیل را دارید.
پیش نیازها
قبل از از کار انداختن هر کامپوننت، توصیه می کنیم که یک نسخه پشتیبان کامل از تمام گره ها انجام دهید. از رویه نسخه فعلی Edge برای انجام پشتیبان استفاده کنید. برای اطلاعات بیشتر در مورد پشتیبانگیری، به پشتیبانگیری و بازیابی مراجعه کنید.
- با استفاده از دستور زیر، مطمئن شوید که Edge قبل از از کار افتادن فعال است:
/opt/apigee/apigee-service/bin/apigee-all status
- اطمینان حاصل کنید که در حال حاضر هیچ ترافیکی در زمان اجرا به مرکز داده ای که در حال از کار انداختن آن هستید نمی رسد.
ترتیب قطعات از کار انداختن
اگر Edge را برای Private Cloud روی چندین گره نصب میکنید، باید اجزای Edge را در آن گرهها به ترتیب زیر از کار بیندازید:
- Edge UI (edge-ui)
- سرور مدیریت (Edge-management-server)
- OpenLDAP (apigee-openldap)
- روتر (Edge-Router)
- پردازشگر پیام (پردازنده پیام لبه)
- سرور Qpid و Qpidd (سرور edge-qpid و apigee-qpidd)
- پایگاه داده Postgres و PostgreSQL (edge-postgres-server و apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- کاساندرا (apigee-cassandra)
بخش های زیر نحوه از کار انداختن هر جزء را توضیح می دهد.
رابط کاربری لبه
برای توقف و حذف کامپوننت Edge UI dc-1، دستورات زیر را وارد کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
سرور مدیریت
برای از کار انداختن سرور مدیریت در dc-1، مراحل زیر را انجام دهید:
- سرور مدیریت را در dc-1 متوقف کنید:
apigee-service edge-management-server stop
- UUID سرور مدیریت ثبت شده در dc-1 را پیدا کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- نوع سرور لغو ثبت:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- سرور را حذف کنید. توجه: اگر اجزای دیگری نیز روی این سرور نصب شده اند، قبل از حذف UUID ابتدا همه آنها را از ثبت خارج کنید.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- مولفه مدیریت سرور را در dc-1 حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
LDAP را باز کنید
این بخش نحوه از کار انداختن OpenLDAP در dc-1 را توضیح می دهد.
توجه: اگر بیش از دو مرکز داده دارید، تنظیمات با بیش از دو مرکز داده را در زیر ببینید.
برای از کار انداختن OpenLDAP در dc-1، مراحل زیر را انجام دهید:
- با دنبال کردن مراحل در نحوه تهیه نسخه پشتیبان از گره OpenLDAP dc-1 نسخه پشتیبان تهیه کنید.
با اجرای مراحل زیر در هر دو مرکز داده، تکثیر داده بین دو مرکز داده dc-1 و dc-2 را قطع کنید.
- وضعیت فعلی را بررسی کنید:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
خروجی باید مشابه موارد زیر باشد:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- یک فایل
break_repl.ldif
حاوی دستورات زیر ایجاد کنید:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- دستور
ldapmodify
را اجرا کنید:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
خروجی باید مشابه موارد زیر باشد:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- وضعیت فعلی را بررسی کنید:
با ایجاد یک ورودی در LDAP dc-2 و اطمینان از اینکه در LDAP dc-1 نمایش داده نمی شود، می توانید تأیید کنید که dc-2 دیگر به dc-1 تکرار نمی شود.
به صورت اختیاری، می توانید مراحل زیر را دنبال کنید، که یک کاربر فقط خواندنی در گره OpenLDAP dc-2 ایجاد می کند و سپس بررسی می کند که آیا کاربر تکرار شده است یا خیر. کاربر متعاقبا حذف می شود.
- یک فایل
readonly-user.ldif
در dc-2 با محتویات زیر ایجاد کنید:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword}
- اضافه کردن کاربر با دستور 'ldapadd' در dc-2:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
خروجی مشابه موارد زیر خواهد بود:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- کاربر را در dc-1 جستجو کنید تا مطمئن شوید که کاربر تکرار نشده است. اگر کاربر در dc-1 حضور نداشته باشد، مطمئن خواهید بود که هر دو LDAP دیگر تکرار نمی شوند:
ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL
خروجی باید مشابه موارد زیر باشد:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- کاربر فقط خواندنی را که قبلاً اضافه کرده اید حذف کنید:
ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- یک فایل
- توقف OpenLDAP در dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- کامپوننت OpenLDAP را در dc-1 حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
روتر
این بخش نحوه از کار انداختن روتر را توضیح می دهد. برای جزئیات بیشتر در مورد حذف روتر به حذف سرور مراجعه کنید.
مراحل زیر روتر را از dc-1 خارج می کند. اگر چندین گره روتر در dc-1 پیکربندی شده است، مراحل را در تمام گره های روتر یک به یک انجام دهید.
توجه: در اینجا فرض بر این است که پورت بررسی سلامت روتر 15999 در بار متعادل کننده شما پیکربندی شده است و مسدود کردن پورت 15999 روتر را غیرقابل دسترسی می کند. ممکن است برای مسدود کردن پورت به دسترسی روت نیاز داشته باشید.
برای از کار انداختن روتر، مراحل زیر را انجام دهید:
با مسدود کردن پورت 15999، پورت بررسی سلامت، دسترسی روترها را غیرفعال کنید. اطمینان حاصل کنید که ترافیک زمان اجرا در این مرکز داده مسدود شده است:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
بررسی کنید که روتر در دسترس است:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
خروجی باید مشابه موارد زیر باشد:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- همانطور که در Get UUID ها توضیح داده شد، UUID روتر را دریافت کنید.
- روتر را متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- با دستور زیر gateway pod های موجود در سازمان را فهرست کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
درباره Pods را ببینید.
- نوع سرور را لغو ثبت کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- حذف ثبت سرور:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- حذف نصب
edge-router
: به حذف سرور مراجعه کنید./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- برای فعال کردن پورت مسدود شده 15999، قوانین
iptables
فلاش کنید:iptables -F
پردازشگر پیام
این بخش نحوه از کار انداختن پردازشگر پیام از dc-1 را شرح می دهد. برای جزئیات بیشتر در مورد حذف پردازشگر پیام، به حذف سرور مراجعه کنید.
از آنجایی که فرض می کنیم dc-1 یک نصب خوشه ای 12 گره ای دارد، دو گره پردازشگر پیام در dc-1 پیکربندی شده اند. دستورات زیر را در هر دو گره انجام دهید.
- UUID های پردازشگرهای پیام را همانطور که در Get UUID توضیح داده شده است، دریافت کنید.
- متوقف کردن پردازشگر پیام:
apigee-service edge-message-processor stop
- نوع سرور را لغو ثبت کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- یک محیط را از پردازشگر پیام جدا کنید.
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID"
- نوع سرور را لغو ثبت کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- پردازشگر پیام را حذف کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- حذف ثبت سرور:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
سرور Qpid و Qpidd
این بخش نحوه از کار انداختن سرور Qpid ( edge-qpid-server
) و Qpidd ( apigee-qpidd
) را توضیح می دهد. دو گره Qpid در dc-1 پیکربندی شده است، بنابراین باید مراحل زیر را برای هر دو گره انجام دهید:
- همانطور که در Get UUID توضیح داده شد، UUID را برای Qpidd دریافت کنید.
- توقف
edge-qpid-server
وapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- لیستی از Analytics و گروه های مصرف کننده را دریافت کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Qpid را از گروه مصرف کننده حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
- Qpid را از گروه تجزیه و تحلیل حذف کنید:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- سرور Qpid را از نصب Edge حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- سرور Qpid را از نصب Edge حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- همه اجزای edge-qpid-server را در همه گره ها راه اندازی مجدد کنید تا مطمئن شوید که تغییر توسط آن مؤلفه ها برداشته شده است:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- حذف نصب edge-qpid-server و apigee-qpidd:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres و Postgresql
مرکز داده ای که شما در حال از کار انداختن آن هستید می تواند یک Master Postgres یا یک Postgres Standby داشته باشد. بخش های زیر نحوه از کار انداختن آنها را توضیح می دهد:
از کار افتادن استاد Postgres
توجه: اگر Master Postgres را از کار انداختید، مطمئن شوید که هر یک از گرههای آماده به کار موجود را به عنوان یک Master Postgres جدید تبلیغ کنید. در حالی که QPID صفهای دادهها را بافر میکند، اگر Master Postgres برای مدت طولانی در دسترس نباشد، خطر از دست دادن دادههای تحلیلی را دارید.
برای از کار انداختن Master Postgres:
- با دنبال کردن دستورالعملهای موجود در پیوندهای زیر، از گره اصلی dc-1 Postgres نسخه پشتیبان تهیه کنید:
- UUID سرورهای Postgres را همانطور که در Get UUID توضیح داده شده است دریافت کنید.
- در dc-1،
edge-postgres-server
وapigee-postgresql
روی master فعلی متوقف کنید:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- در گره آماده به کار در dc-2، دستور زیر را وارد کنید تا آن را به گره اصلی تبدیل کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
توجه: اگر بیش از یک گره آماده به کار Postgres دارید، باید ورودی های میزبان را در اصلی جدید اضافه کنید و تنظیمات تکرار را برای همه گره های آماده به کار postgres موجود به روز کنید.
برای افزودن ورودیهای میزبان به Master Postgres جدید: مراحل مربوط به بخش زیر را دنبال کنید:
اگر فقط یک گره آماده به کار باقی مانده باشد
به عنوان مثال، فرض کنید قبل از از کار انداختن، سه گره Postgres پیکربندی شده بودند. شما استاد موجود را از کار انداختید و یکی از گره های آماده به کار postgres باقی مانده را به استاد ارتقا دادید. گره آماده به کار باقی مانده را با مراحل زیر پیکربندی کنید:
- در اصلی جدید، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- فعال کردن تکرار در استاد جدید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
اگر بیش از یک گره آماده به کار باقی مانده باشد
- پیکربندی زیر را در
/opt/apigee/customer/application/postgresql.properties
اضافه کنید:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- مطمئن شوید که فایل /opt/apigee/customer/application/postgresql.properties متعلق به کاربر apigee است:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- راه اندازی مجدد
apigee-postgresql
:apigee-service apigee-postgresql restart
- فایل پیکربندی
/opt/silent.conf
را تغییر دهید و فیلدPG_MASTER
را با آدرس IP استاد جدید Postgres به روز کنید. - با دستور زیر تمام داده های قدیمی Postgres را حذف کنید:
rm -rf /opt/apigee/data/apigee-postgresql/
- تکرار را در گره آماده به کار تنظیم کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
برای به روز رسانی تنظیمات تکرار در یک گره آماده به کار:
- در اصلی جدید، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
- با وارد کردن دستور زیر در dc-2 مطمئن شوید که Postgres master به درستی تنظیم شده است:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- سرورهای Postgresql را از گروه تجزیه و تحلیل و گروه مصرف کننده حذف و اضافه کنید.
- سرور قدیمی Postgres را از گروه تجزیه و تحلیل به دنبال دستورالعمل های موجود در حذف سرور Postgres از گروه تجزیه و تحلیل حذف کنید.
- به دنبال دستورالعملهای موجود در افزودن سرور Postgres موجود به یک گروه تجزیه و تحلیل، یک سرور postgres جدید به گروه تجزیه و تحلیل اضافه کنید.
- سرور قدیمی postgres را از dc-1 حذف کنید:
curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- سرور postgres قدیمی را از dc-1 حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- استاد قدیمی Postgres اکنون در خطر از کار افتادن است. حذف نصب
edge-postgres-server
وapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
از کار انداختن آماده به کار Postgres
توجه: مستندات نصب خوشه ای 12 گره، گره dc-1 postgresql را به عنوان اصلی نشان می دهد، اما برای راحتی، در این بخش فرض می شود که گره dc-1 postgresql آماده به کار است و گره dc-2 postgresql اصلی است.
برای از کار انداختن حالت آماده به کار Postgres، مراحل زیر را انجام دهید:
- UUID سرورهای Postgres را با پیروی از دستورالعملهای دریافت UUID دریافت کنید.
- توقف
apigee-postgresql
در گره آماده به کار فعلی در dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- سرورهای Postgresql را از گروه تجزیه و تحلیل و گروه مصرف کننده حذف و اضافه کنید.
- سرور قدیمی Postgres را از گروه تجزیه و تحلیل به دنبال دستورالعمل های موجود در حذف سرور Postgres از گروه تجزیه و تحلیل حذف کنید.
- به دنبال دستورالعملهای موجود در افزودن سرور Postgres موجود به یک گروه تجزیه و تحلیل، یک سرور postgres جدید به گروه تجزیه و تحلیل اضافه کنید.
- سرور قدیمی postgres را از dc-1 حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- سرور postgres قدیمی را از dc-1 حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- استاد قدیمی Postgres اکنون در خطر از کار افتادن است. حذف نصب
edge-postgres-server
وapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper و Cassandra
این بخش نحوه از کار انداختن سرورهای ZooKeeper و Cassandra را در راه اندازی دو مرکز داده توضیح می دهد.
اگر بیش از دو مرکز داده دارید، مطمئن شوید که تمام ارجاعات به گره در حال از کار انداختن (در این مورد dc-1) را از تمام فایلهای پیکربندی بیصدا در تمام مراکز داده باقیمانده حذف کنید. برای گرههای Cassandra که قرار است از رده خارج شوند، آن میزبانها را از CASS_HOSTS
حذف کنید. گره های کاساندرا باقی مانده باید در ترتیب اولیه CASS_HOSTS
باقی بمانند.
نکته در مورد ZooKeeper: شما باید در حین اصلاح ویژگی ZK_HOST
در فایل پیکربندی، حد نصاب گره های رای دهنده را حفظ کنید تا اطمینان حاصل کنید که مجموعه ZooKeeper عملکردی باقی می ماند. شما باید تعداد فرد گره رأی دهنده را در پیکربندی خود داشته باشید. برای اطلاعات بیشتر، به وظایف نگهداری Apache ZooKeeper مراجعه کنید.
برای از کار انداختن سرورهای ZooKeeper و Cassandra:
- با دنبال کردن دستورالعملهای موجود در پیوندهای زیر، از گرههای dc-1 Cassandra و ZooKeeper نسخه پشتیبان تهیه کنید:
UUID سرورهای ZooKeeper و Cassandra را در مرکز داده ای که گره های Cassandra در شرف از بین رفتن هستند، فهرست کنید.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- نوع سرور را لغو ثبت کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- حذف ثبت سرور:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- فایل پیکربندی را با IP گره های از کار افتاده حذف شده از
ZK_HOSTS
وCASS_HOSTS
به روز کنید.مثال: فرض کنید IPهای
$IP1 $IP2 $IP3
در dc-1 و$IP4 $IP5 $IP6
در dc-2 دارید و در حال از کار انداختن dc-1 هستید. سپس باید IP های$IP1 $IP2 $IP3
از فایل های پیکربندی حذف کنید.- ورودی های فایل پیکربندی موجود:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- ورودی های فایل پیکربندی جدید:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- ورودی های فایل پیکربندی موجود:
- فایل پیکربندی بی صدا (اصلاح شده در مرحله e) را با IP های گره های از کار افتاده حذف شده به روز کنید و نمایه سرور مدیریت را در تمام گره های میزبان سرورهای مدیریت اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- فایل پیکربندی را با IP گره های حذف شده به روز کنید و نمایه MP/RMP را در تمام گره های روتر و پردازشگر پیام اجرا کنید:
- اگر Edge Router و Message Processor روی یک گره پیکربندی شده اند، وارد کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
اگر Edge Router و Message Processor روی گرههای جداگانه پیکربندی شدهاند، موارد زیر را وارد کنید:
برای روتر:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
برای پردازشگر پیام:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- اگر Edge Router و Message Processor روی یک گره پیکربندی شده اند، وارد کنید:
- پیکربندی مجدد تمام گره های Qpid، با حذف IP گره های از کار افتاده از Response File:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- پیکربندی مجدد تمام گره های Postgres، با حذف IP گره های از کار افتاده از Response File:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- فضای کلید
system_auth
را تغییر دهید. اگر احراز هویت Cassandra را در یک گره Cassandra موجود فعال کردهاید، با اجرای دستور زیر، ضریب تکرار فضای کلیدsystem_auth
را بهروزرسانی کنید:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
این دستور ضریب تکرار را روی
'3'
تنظیم می کند که نشان دهنده سه گره Cassandra در خوشه است. در صورت لزوم این مقدار را تغییر دهید.پس از انجام این مرحله، توپولوژی کاساندرا نباید در هیچ یک از فضاهای کلیدی
dc-1
داشته باشد. - گره های کاساندرا را در dc-1 تک تک از کار خارج کنید.
برای از کار انداختن گره های کاساندرا، دستور زیر را وارد کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- اتصال گره های کاساندرا از dc-1 را با استفاده از یکی از دستورات زیر بررسی کنید:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
یا دستور تأیید ثانویه برای اجرا در گره از کار افتاده:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
دستور بالا باید برگردد:
Mode: DECOMMISSIONED
- نمایه DS را برای تمام گره های Cassandra و ZooKeeper در dc-2 اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- توقف
apigee-cassandra
وapigee-zookeeper
در dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
-
apigee-cassandra
وapigee-zookeeper
را در dc-1 حذف نصب کنید:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
اتصالات را از dc-1 حذف کنید
برای حذف اتصالات از dc-1، مراحل زیر را انجام دهید:
- اتصالات را از dc-1 حذف کنید.
- فهرست تمام پادهای موجود در سازمان:
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- برای بررسی اینکه آیا تمام اتصالات حذف شده اند، UUID سرورهای مرتبط با پادها را دریافت کنید:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
اگر این دستور هیچ UUID را برنگرداند، مراحل قبلی تمام اتصالات را حذف کرده است و میتوانید از مرحله بعدی رد شوید. در غیر این صورت مرحله بعدی را انجام دهید.
- تمام اتصالات سرور برای UUID های به دست آمده در مرحله قبل را حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- سازمان را از غلاف جدا کنید:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- فهرست تمام پادهای موجود در سازمان:
- غلاف ها را حذف کنید:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- منطقه را حذف کنید
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
در این مرحله شما عملیات انحلال dc-1 را کامل کرده اید.
ضمیمه
عیب یابی
اگر پس از انجام مراحل قبلی، هنوز سرور در برخی از پادها وجود دارد، مراحل زیر را برای لغو ثبت و حذف سرورها انجام دهید. توجه: در صورت لزوم انواع و غلاف را تغییر دهید.
- UUID ها را با استفاده از دستور زیر دریافت کنید:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- نوع سرور لغو ثبت:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- سرورها را یکی یکی حذف کنید:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
اعتبار سنجی
با استفاده از دستورات زیر می توانید از کار افتادن را تأیید کنید.
سرور مدیریت
- دستورات زیر را از سرورهای مدیریت در تمام مناطق اجرا کنید.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
- برای بررسی الزامات پورت برای همه پورت های مدیریتی، دستور زیر را بر روی تمام اجزاء اجرا کنید.
curl -v http://MS_IP:8080/v1/servers/self
- گروه تجزیه و تحلیل را بررسی کنید.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/o/ORG/e/ENV/provisioning/axstatus
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
- در تمام گره های کاساندرا، وارد کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
این یک وضعیت
running
یاnot running
آن گره خاص را برمی گرداند. - در یک گره، وارد کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
دستورات بالا اطلاعات مرکز داده فعال را برمی گرداند.
- در گره های ZooKeeper ابتدا وارد کنید:
echo ruok | nc <host> 2181
این دستور
imok
را برمی گرداند.بعد وارد کنید:
echo stat | nc <host> 2181 | grep Mode
مقدار
Mode
که توسط دستور بالا برگردانده می شود یکی از موارد زیر خواهد بود:observer
،leader
یاfollower
. - در یک گره ZooKeeper، اجرا کنید:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
- در گره اصلی Postgres، اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
تأیید کنید که پاسخ می گوید گره اصلی است.
- در گره آماده به کار، اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
اطمینان حاصل کنید که پاسخ تأیید می کند که گره در حالت آماده به کار است.
- با استفاده از دستور زیر وارد پایگاه داده PostgreSQL شوید:
psql -h localhost -d apigee -U postgres
وقتی از شما خواسته شد، رمز عبور کاربر
postgres
را وارد کنید (پیشفرض:postgres
).سپس کوئری زیر را برای بررسی حداکثر
client_received_start_timestamp
اجرا کنید:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
گره های Cassandra/ZooKeeper
سیاههها
سیاهههای مربوط به اجزا را بررسی کنید تا مطمئن شوید که خطایی وجود ندارد.