درصورت بروز خطا درطول بهروزرسانی به Edge 4.16.09، میتوانید مؤلفهای را که باعث خطا شده است برگردانید و سپس بهروزرسانی را دوباره امتحان کنید. برای مثال، اگر بهروزرسانی به Postgres 9.4 ناموفق باشد، میتوانید فقط گرههای Postgres را برگردانید و بهروزرسانی را دوباره امتحان کنید.
دو سناریو وجود دارد که ممکن است بخواهید بازگرداندن را انجام دهید:
- به نسخه قدیمیتر برگردید. برای مثال از ۴.۱۶.۰۹ به ۴.۱۶.۰۵.
- برگشتن به نسخه قدیمیتر در همان نسخه پخش.
برای انجام بازگشت به نسخه قبلی در هر دو سناریو، از روش زیر استفاده کنید.
چه کسی میتواند بازگرداندن را انجام دهد
کاربری که بازگرداندن را انجام میدهد باید همان کاربری باشد که در ابتدا Edge را بهروزرسانی کرده است، یا کاربری که بهعنوان root اجرا میشود.
بهطور پیشفرض، مؤلفههای Edge بهعنوان کاربر «apigee» اجرا میشوند. در برخی موارد، ممکن است مؤلفههای Edge را بهعنوان کاربران مختلف اجرا کنید. برای مثال، اگر «مسیریاب» باید به درگاههای ممتاز دسترسی داشته باشد، مثل درگاههای زیر ۱۰۰۰، باید «مسیریاب» را بهعنوان ریشه یا بهعنوان کاربری که به آن درگاهها دسترسی دارد اجرا کنید. یا ممکن است یک مؤلفه را بهعنوان یک کاربر و مؤلفه دیگر را بهعنوان کاربر دیگری اجرا کنید.
کدام مؤلفهها را میتوان برگرداند
هنگام انجام بازگشت به نسخه قبلی باید از شرایط زیر آگاه باشید:
- پنج مؤلفه Edge که در زیر فهرست شدهاند کد مشترکی دارند. بنابراین، برای بازگرداندن هریک از
پنج مؤلفه در یک گره، باید هرکدام از پنج مؤلفه نصبشده در گره را بازگردانید. برای
مثال، اگر «سرور مدیریت»، «رهیاب»، و «پردازشگر پیام» را در
گره نصب کرده باشید، برای بازگرداندن هرکدام از آنها باید هر سه را بازگردانید.
پنج مؤلفهای که کد را همرسانی میکنند عبارتند از:- سرور مدیریت
- رهیاب
- پردازشگر پیام
- سرور Qpid
- سرور Postgres
- اگر از Edge 4.16.01 بهروزرسانی میکنید، Cassandra را برنگردانید. این نسخه Edge حاوی نسخه بهروزشده Cassandra است. اگر مؤلفهای را برگرداندید، Cassandra را در نسخه ۴.۱۶.۰۹ رها کنید.
- این نسخه حاوی نسخه جدیدی از qpidd نیست. بنابراین، لازم نیست qpidd را بازگردانید.
درحال عقبگرد کردن ۴.۱۶.۰۹
این بخش حاوی رویه بازگرداندن Edge 4.16.09 به نسخه قبلی است. این بخش به دو قسمت تقسیم شده است:
- برگرداندن بهروزرسانی Postgres به نسخه ۹.۴
بخش نهایی هر فرایند بهروزرسانی، بهروز کردن گرههای Postgres به نسخه ۹.۴ است. اگر آن بهروزرسانی ناموفق بود، میتوانید از این روش برای بازگرداندن بهروزرسانی استفاده کنید. - بازگرداندن همه مؤلفههای دیگر Edge
از این روش برای بازگرداندن هر مؤلفه دیگر Edge استفاده کنید.
برای بازگرداندن بهروزرسانی Postgres 9.4
برای بازگرداندن بهروزرسانی Postgres هنگام بهروزرسانی Postgres در پیکربندی master-standby، شما:
- گره آمادهبهکار جدید را ارتقا دهید تا به گره اصلی Postgres تبدیل شود. Postgres master جدید همان نسخه نصب Edge قبلی شما خواهد بود.
- گره آمادهبهکار قدیمی را طوری پیکربندی کنید که گره آمادهبهکار گره اصلی جدید باشد. گره آمادهبهکار قدیمی همان نسخه نصب قبلی Edge خواهد بود.
- گرههای اصلی و آمادهبهکار جدید را با گروههای مصرفکننده و تجزیهوتحلیل ثبت کنید.
وقتی بازگشت به نسخه قبلی را انجام دادید، دیگر به گره اصلی قدیمی نیازی نخواهد بود. سپس میتوانید گره اصلی قدیمی را از کار بیندازید.
- مطمئن شوید که گره Postgres آمادهبهکار جدید درحال اجرا است:
> /opt/apigee/apigee-service/bin/apigee-all status
اگر Postgres درحال اجرا نیست، آن را راهاندازی کنید:
> /opt/apigee/apigee-service/bin/apigee-all start - مطمئن شوید Postgres در گره اصلی قدیمی و گره آمادهبهکار قدیمی متوقف شده است:
> /opt/apigee/apigee-service/bin/apigee-all status
اگر Postgres درحال اجرا است، آن را متوقف کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - If installed, start Qpid on the old standby node:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
Note: In many configurations, the old standby node will only be hosting Postgres but not Qpid. - گره آمادهبهکار جدید را بهعنوان گره اصلی Postgres ارتقا دهید:
- گره آمادهبهکار جدید را به اصلی جدید ارتقا دهید:
> apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
درصورت درخواست، گذرواژه Postgres را برای کاربر «apigee» وارد کنید که بهطور پیشفرض «postgres» است. - فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا موارد زیر را مشخص کنید:
# نشانی IP جدید master:
PG_MASTER=new_standby_IP
# نشانی IP گره old standby
PG_STANDBY=old_standby_IP - نسخه اصلی جدید را پیکربندی کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- گره آمادهبهکار جدید را به اصلی جدید ارتقا دهید:
- بازسازی گره آمادهبهکار قدیمی:
- فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا
موارد زیر را مشخص کنید:
# نشانی IP جدید master:
PG_MASTER=new_standby_IP
# نشانی IP گره old standby
PG_STANDBY=old_standby_IP - Remove data directory on the old standby node:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf * - گره آمادهبهکار قدیمی را دوباره پیکربندی کنید تا گره آمادهبهکار اصلی جدید باشد:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - مطمئن شوید Postgres در گره آمادهبهکار قدیمی درحال اجرا است:
> /opt/apigee/apigee-service/bin/apigee-all status
اگر درحال اجرا نیست، آن را شروع کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا
موارد زیر را مشخص کنید:
- با مشاهده فایل /opt/apigee/apigee-postgresql/conf/pg_hba.conf در گره اصلی جدید، بررسی کنید که گره آمادهبهکار جدید اضافه شده باشد.
- View the current analytics and consumer group information by running the following command
on the Management Server:
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax
This command returns the analytics group name in the name field, and the consumer group name in the name field under consumer-groups. همچنین شناسههای UUID گرههای اصلی و آمادهبهکار Postgres قدیمی را در فیلد postgres-server و در فیلد datastores برمیگرداند. باید خروجی را به این شکل ببینید:
{
"name" : "axgroup-001",
"properties" : {
},
"scopes" : [ "VALIDATE~test", "sgilson~prod" ],
"uuids" : {
"qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
"postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ]
},
"consumer-groups" : [ {
"name" : "consumer-group-001",
"consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
"datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
"properties" : { }
} ],
"data-processors" : {
}
} - با اجرای فرمان cURL زیر در گره اصلی قدیمی، نشانی UUID گره اصلی قدیمی را دریافت کنید:
> curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self
باید UUID گره را در انتهای خروجی به این شکل ببینید:
"type" : [ "postgres-server" ],
"uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
توجه: سرویس edge-postgres-server باید درحال اجرا باشد. اگر سرور Postgres درحال اجرا نیست، میتوانید فرمان زیر را در «سرور مدیریت» اجرا کنید تا UUID را تعیین کنید:
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics
خروجی این فرمان UUID را برای نشانی IP هر گره Postres فهرست میکند. - مرحله قبلی را تکرار کنید تا نشانیهای IP گره آمادهبهکار قدیمی و گره اصلی جدید را دریافت کنید.
- Remove old master and standby nodes from the consumer group:
> curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
where axgroup-001 and consumer-group-001 are the default names of the analytics and consumer groups. masterUUID,standbyUUID به همان ترتیبی هستند که در بالا ظاهر شدند وقتی اطلاعات فعلی تجزیهوتحلیل و گروه مصرفکننده را در بالا مشاهده کردید. ممکن است لازم باشد آنها را بهصورت standbyUUID,masterUUID مشخص کنید.
اکنون ویژگی datastores برای consumer-groups باید خالی باشد. - Remove the old master and standby nodes from the analytics group:
> curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
The postgres-server property under uuids should now be empty. - Register new PG master and standby nodes with the analytics and consumer groups:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v - Validate the analytics group:
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax
You should see the UUIDs of the new master and standby nodes listed in the analytics group and the consumer group. - «سرور مدیریت Edge» را بازراهاندازی کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - همه سرورهای Qpid را بازراهاندازی کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart - همه سرورهای Postgres را بازراهاندازی کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart - با اجرای اسکریپتهای زیر در هر دو سرور، وضعیت تکرار را تأیید کنید. سیستم
باید نتایج یکسانی را در هر دو سرور نمایش دهد تا از تکرار موفقیتآمیز اطمینان حاصل شود:
در سرور اصلی جدید، دستور زیر را اجرا کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
تأیید کنید که نشان میدهد این سرور اصلی است.
در گره آمادهبهکار قدیمی:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
تأیید کنید که میگوید آمادهبهکار است. - پساز ایجاد چند درخواست API، مرحله قبلی را تکرار کنید تا مطمئن شوید گرهها همگامسازی شدهاند.
- بااستفاده از روش موجود در بهروزرسانی Apigee Edge به نسخه ۴.۱۶.۰۹، Postgres master قدیمی را از کار بیندازید.
توجه: اگر گره اصلی قدیمی درحال اجرای Qpid بود، میتوانید آن سرور را برای اجرای Qpid فعال نگه دارید. مطمئن شوید که درحال اجرا باشد. If not, start it:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server start
Alternatively, you can uninstall Qpid from the old master and install Qpid on the new master node, as described below. پساز حذف نصب Qpid، میتوانید گره اصلی قدیمی را از رده خارج کنید.
Uninstal Qpid from the old master and install Qpid on the new master
از روش زیر برای حذف نصب Qpid از نسخه اصلی قدیمی و نصب آن در نسخه اصلی جدید استفاده کنید:
- Block access to Qpid port 5672 on the old master from access by Message Processors by
running the following command on all Message Processors:
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP - با اجرای فرمان زیر، مطمئن شوید که صف پیام Qpid خالی است. تا زمانی که Qpid همه پیامهای معلق را پردازش نکرده است، نمیتوانید آن را حذف نصب کنید:
> qpid-stat -q
این فرمان جدولی را نمایش میدهد که حاوی تعداد msg، msgIn، و msgOut است. وقتی msg=0 و msgIn=msgOut باشد، همه پیامها پردازش شدهاند. - با اجرای فرمان زیر در سرور اصلی قدیمی، UUID سرور Qpid را در سرور اصلی قدیمی تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - Stop Qpid on the old master:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - Uninstall Qpid server:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall - Remove the old Qpid server from the analytics and consumer groups:
> curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
> curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v - Remove the old Qpid server from Zookeeper:
> curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID - Install Qpid on the new master:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - با اجرای فرمان زیر در سرور اصلی جدید، شناسه UUID سرور Qpid را در سرور اصلی جدید تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - Register the new Qpid server with the analytics and consumer groups:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v - همه «پردازشگرهای پیام» را بازراهاندازی کنید:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart - فرمان زیر را در سرور Qpid جدید اجرا کنید تا مطمئن شوید صفها ایجاد شدهاند:
> qpid-stat -q
مطمئن شوید که msg، msgIn، و msgOut را میبینید که با پردازش پیامها توسط سرور Qpid بهروز میشوند.
برای بازگرداندن اجزای جداگانه از 4.16.09
بهعنوان بخشی از انجام بازگشت، باید فایل bootstrap.sh را برای نسخه فعلی Edge بارگیری کنید:
- برای عقبگرد کردن به نسخه ۴.۱۶.۰۵، bootstrap_4.16.05.sh را بارگیری کنید
- برای عقبگرد کردن به نسخه ۴.۱۶.۰۱، bootstrap.sh را بارگیری کنید
برای هر گره میزبان مؤلفه برای عقبگرد کردن:
- برای بازگرداندن، مؤلفه را متوقف کنید:
-
اگر هریک از مؤلفههای زیر را در گره برمیگردانید، باید همه آنها را متوقف کنید: Management Server، Router، Message Processor، Qpid Server، یا Postgres Server:
- > apigee-service edge-management-server stop
- > apigee-service edge-router stop
- > apigee-service edge-message-processor stop
- > apigee-service edge-qpid-server stop
- > apigee-service edge-postgres-server stop
-
اگر مؤلفه دیگری را در گره برمیگردانید، فقط همان مؤلفه را متوقف کنید:
- > apigee-service comp stop
-
اگر هریک از مؤلفههای زیر را در گره برمیگردانید، باید همه آنها را متوقف کنید: Management Server، Router، Message Processor، Qpid Server، یا Postgres Server:
- اگر «درآمدزایی» را برمیگردانید، آن را از همه گرههای «سرور مدیریت» و «پردازشگر پیام» حذف نصب کنید:
> apigee-service edge-mint-gateway uninstall - برای بازگرداندن گره، مؤلفه را حذف نصب کنید:
- اگر هریک از مؤلفههای زیر را در گره برمیگردانید،
همه آنها را حذف نصب کنید: Management Server، Router، Message Processor، Qpid Server، یا Postgres
Server:
> apigee-service edge-gateway uninstall - اگر مؤلفه دیگری را در گره برمیگردانید، فقط همان مؤلفه را حذف نصب کنید:
> apigee-service comp uninstall
- اگر هریک از مؤلفههای زیر را در گره برمیگردانید،
همه آنها را حذف نصب کنید: Management Server، Router، Message Processor، Qpid Server، یا Postgres
Server:
- اگر «رهیاب» را برمیگردانید، باید محتوای /opt/nginx/conf.d را حذف کنید:
> cd /opt/nginx/conf.d
> rm -rf * -
برای بازگرداندن مؤلفه:
- نسخه ۴.۱۶.۰۹ apigee-setup را حذف نصب کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall - Download bootstrap.sh for the 4.16.01 or 4.16.05 release:
For 4.16.01:
> curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
For 4.16.05:
> curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap.sh - ابزار کمکی apigee-service نسخه 4.16.01 یا 4.16.05 و وابستگیها را نصب کنید:
> sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord
که در آن uName و pWord نام کاربری و گذرواژهای است که از Apigee دریافت کردهاید. اگر pWord را حذف کنید، از شما خواسته میشود آن را وارد کنید. - نسخه ۴.۱۶.۰۱ یا ۴.۱۶.۰۵ از apigee-setup را نصب کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install - نسخه 4.16.01 یا 4.16.05 مؤلفه را نصب کنید:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
که در آن comp مؤلفه موردنظر برای نصب و configFile فایل پیکربندی نسخه 4.16.01 یا 4.16.05 شما است.
- نسخه ۴.۱۶.۰۹ apigee-setup را حذف نصب کنید:
-
برای برگرداندن مؤلفه به نسخه خاصی از نسخه پخش 4.16.05:
- نسخه مؤلفه خاص را بارگیری کنید:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service comp-version install
که comp-version مؤلفه و نسخه موردنظر برای نصب است. برای مثال:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service edge-ui-4.16.05-0.0.3649 install
اگر از مخزن آنلاین Apigee استفاده میکنید، میتوانید نسخههای مؤلفه دردسترس را بااستفاده از فرمان زیر تعیین کنید:
> yum --showduplicates list comp
برای مثال:
> yum --showduplicates list edge-ui - از apigee-setup برای
نصب مؤلفه استفاده کنید:
> /<install_dir>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
برای مثال:
> /<install_dir>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
توجه کنید که هنگام نصب فقط نام مؤلفه را مشخص میکنید.
- نسخه مؤلفه خاص را بارگیری کنید:
اگر هنگام بازگرداندن به نسخه قبلی با مشکلی مواجه شدید، با پشتیبانی Apigee تماس بگیرید.