اگر نشانیهای IP را در فایلهای پیکربندی عنصر خود همگامسازی نکنید، انتقال عناصر از یک ماشین به ماشین دیگر ممکن است باعث عدم تطابق پیکربندی شود.
این بخش نحوه تشخیص و رفع عدم تطابقهای پیکربندی را شرح میدهد.
نشانیهای IP دربرابر نامهای میزبان
باید در فایلهای پیکربندی عنصر از نشانیهای IP بهجای نامهای میزبان استفاده کنید.
اگرچه برخیاز فایلهای پیکربندی مؤلفه به شما اجازه میدهند بهجای نشانیهای IP از نامهای میزبان استفاده کنید، استفاده از نامهای میزبان میتواند عیبیابی را پیچیده کند. برای مثال، نامهای میزبان میتوانند منشأ مشکلات مربوط به اتصالپذیری سرور ساناد، خطاهای جستجو، و همگامسازی باشند.
در نتیجه، Apigee اکیداً توصیه میکند که از نشانیهای IP برای همه پیکربندیهای عنصر استفاده کنید. در برخی موارد، مانند Cassandra، باید از نشانیهای IP استفاده کنید و نمیتوانید از نامهای میزبان استفاده کنید. بیشتر مثالهای موجود در اسناد از نشانیهای IP برای پیکربندی عنصر استفاده میکنند.
برای نامهای میزبان و نشانیهای IP، هنگام انتقال سرورهای Apigee، پیامدهای سناریوهای زیر را درنظر بگیرید:
| سناریو | تأثیر بر انتقال سرورها |
|---|---|
| تغییر در نشانی IP | همه فایلهای مرتبطی را که به نشانی IP اصلی ارجاع میدهند بهروز کنید |
| تغییر نام میزبان بدون تغییر در نشانی IP | بیتأثیر |
| تغییر نام میزبان با تغییر نشانی IP | مشابه تغییر نشانی IP |
تغییر دادن نشانی IP گره Cassandra
برای تغییر نشانی IP گره Cassandra، مراحل زیر را انجام دهید:
برای پیکربندی با یک گره Cassandra
- ویرایش
/opt/apigee/customer/application/cassandra.propertiesدر سیستمی که درحال اصلاح است. اگر فایل وجود ندارد، آن را ایجاد کنید. - پارامترهای زیر را تغییر دهید:
- پارامترهای
conf_cassandra_seedsوconf_cassandra_listen_addressرا تنظیم کنید تا نشانی IP جدید سیستم را مشخص کنید. conf_cassandra_rpc_addressرا تغییر دهید تا از نشانی IP جدید یا 0.0.0.0 (که به Cassandra Thrift اجازه میدهد در همه میانها گوش دهد) استفاده کند.
- پارامترهای
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesرا در ویرایشگر باز کنید. باید نشانی IP قدیمی و تنظیم پیشفرض را در فرم ببینید:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
آن اطلاعات را ذخیره کنید.
- برای تغییر دادن نشانی IP قدیمی مشخصشده به نشانی IP جدید،
/opt/apigee/customer/application/cassandra.propertiesرا ویرایش کنید:conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n
مطمئن شوید که «\n» را بعداز نشانی IP درج کنید و همان تنظیمات پیشفرضی را که در مرحله ۳ در بالا پیدا کردید مشخص کنید.
- بازراهاندازی Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- درصورت لزوم، ZooKeeper را نیز تعمیر کنید (به تغییر نشانی IP گره ZooKeeper مراجعه کنید). درغیراینصورت، همه عناصر پلاتفرم Apigee را بازراهاندازی کنید، و با «سرور مدیریت» شروع کنید.
برای پیکربندیهای دارای چندین گره Cassandra (حلقه)
- اگر گرهای که تغییر میکند گره آغازین باشد،
/opt/apigee/customer/application/cassandra.propertiesفایل را در هر سیستم در حلقه ویرایش کنید و پارامترconf_cassandra_seedsرا تغییر دهید تا «پروتکل اینترنتی» جدید سیستم اصلاحشده را دربر بگیرد. اگر فایل cassandra.properties وجود ندارد، آن را ایجاد کنید. /opt/apigee/customer/application/cassandra.propertiesرا در سیستمی که اصلاح میشود ویرایش کنید و پارامترهای زیر را تغییر دهید:-
conf_cassandra_listen_addressرا تنظیم کنید تا از نشانی IP جدید استفاده کند. conf_cassandra_rpc_addressرا تنظیم کنید تا از نشانی IP جدید یا «۰.۰.۰.۰» استفاده کند (که به Cassandra Thrift اجازه میدهد در همه میانها گوش دهد).
-
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesرا در ویرایشگر باز کنید. باید همه نشانیهای IP Cassandra و تنظیم پیشفرض را در فرم ببینید:192.168.56.101=dc-1:ra-1 192.168.56.102=dc-1:ra-1 192.168.56.103=dc-1:ra-1 default=dc-1:ra-1
آن اطلاعات را ذخیره کنید.
- برای تغییر دادن نشانی IP قدیمی مشخصشده به نشانی IP جدید،
/opt/apigee/customer/application/cassandra.propertiesرا ویرایش کنید:conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n
مطمئن شوید که پساز هر نشانی IP، «\n» را درج کنید و از همان تنظیمات پیشفرض که در مرحله ۳ در بالا ضبط کردید استفاده کنید.
- Cassandra را در سیستم اصلاحشده بازراهاندازی کنید.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- برای همه گرههای دیگر، تغییرات انجامشده در مراحل ۳ و ۴ را تکرار کنید تا آنها را از موقعیت این گره در حلقه Cassandra مطلع کنید. علاوهبراین، نشانی IP گره اولیه را همانطور که در مرحله ۱ توضیح داده شده است تغییر دهید.
- هریک از گرههای Cassandra باقیمانده را یکییکی بازراهاندازی کنید.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- فرمان
nodetool ringرا در گره اصلاحشده اجرا کنید تا مطمئن شوید حلقه کامل است. این ابزار را میتوانید در/opt/apigee/apigee-cassandra/binپیدا کنید.nodetool [-u username -pw password] -h localhost ring
-
nodetool repairرا در گره اصلاحشده اجرا کنید. توجه داشته باشید که این فرایند ممکن است کمی زمانبر باشد، بنابراین اکیداً توصیه میشود که این کار در ساعات اوج ترافیک API انجام نشود.nodetool [-u username -pw password] -h localhost repair -pr
- درصورت لزوم، ZooKeeper را تعمیر کنید (به تغییر دادن نشانی IP گره ZooKeeper مراجعه کنید)، سپس همه عناصر پلاتفرم Apigee را، با شروع از «سرور مدیریت»، مجدداً راهاندازی کنید.
بهروزرسانی ثبتهای مخزن داده
- بااستفاده از فرمانهای زیر، «شناسههای یکتای جهانی» ثبتهای مخزن داده را که نشانی IP قدیمی را مشخص میکنند پیدا کنید. پارامترهای «نوع» و «UUID» را یادداشت کنید:
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
که در آن DC نام مرکز داده است. در نصب مرکز داده تکی، مقدار معمولاً «dc-1» است.
-
- نشانیهای IP جدید را بااستفاده از یکی از فرمانهای زیر ثبت کنید. فرمان موردنیاز به نوع گره تغییریافته بستگی دارد.
- برای type="application-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=REGION&pod=central" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- برای نوع="kms-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \ &InternalIP=NEWIP®ion=REGION&pod=GATEWAY_POD" -H 'content-type: \ application/x-www-form-urlencoded' -X POST
- برای type="reportcrud-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \ "Type=reportcrud-datastore&InternalIP=NEW_IP®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- برای type="application-datastore":
- ثبتهای قدیمی را برای شناسه یکتای سیستم که نشانی IP آن تغییر کرده است حذف کنید. برای هریک از این «شناسههای یکتای جهانی» مشکل:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
تغییر دادن نشانی IP گره ZooKeeper
برای تغییر نشانی IP گره ZooKeeper، مراحل زیر را دنبال کنید:
«نشانی IP» را تغییر دهید و مجموعه ZooKeeper را بازراهاندازی کنید (فقط برای پیکربندیهای مجموعه چندگره)
-
/opt/apigee/apigee-zookeeper/conf/zoo.cfgرا در ویرایشگر باز کنید. باید همه نشانیهای IP و تنظیمات پیشفرض ZooKeeper را در این فرم ببینید:server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
آن اطلاعات را ذخیره کنید.
- در هر گره ZooKeeper، فایل
/opt/apigee/customer/application/zookeeper.propertiesرا ویرایش کنید تا داراییconf_zoo_quorumرا روی نشانیهای IP صحیح تنظیم کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n
مطمئن شوید که بعداز هر نشانی IP عبارت «\n» را درج کنید و ورودیها در همه گرهها به یک ترتیب باشند.
- بااستفاده از دستور زیر، رهبر گروه ZooKeeper را پیدا کنید (node را با نشانی IP ماشین Zookeeper جایگزین کنید):
echo srvr | nc node 2181
خط «حالت» در برونداد باید «رهبر» را نشان دهد.
- یکبهیک ZooKeeperها را بازراهاندازی کنید، ابتدا رهبر و سپس گرهای که نشانی IP آن تغییر کرده است. اگر بیشاز یک گره zookeeper نشانی IP را تغییر داد، ممکن است لازم باشد همه گرهها را بازراهاندازی کنید.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- برای تأیید هر گره ZooKeeper، از فرمان
echoکه در بالا توضیح داده شده است استفاده کنید.
گرههای Apigee را از پیکربندی تغییریافته مطلع کنید
- در هر گره «مسیریاب»، فایل
/opt/apigee/customer/application/router.propertiesرا بهصورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.- پارامتر
conf_zookeeper_connection.stringرا تغییر دهید تا نشانی IP جدید را دربرگیرد - پارامتر
conf_zookeeper_zk1.hostرا تغییر دهید تا نشانی IP جدید را دربرگیرد
- پارامتر
- در هر گره «پردازشگر پیام»، فایل
/opt/apigee/customer/application/message-processor.propertiesرا بهصورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.- پارامتر
conf_zookeeper_connection.stringرا تغییر دهید تا نشانی IP جدید را دربرگیرد - پارامتر
conf_zookeeper_zk1.hostرا تغییر دهید تا نشانی IP جدید را دربرگیرد
- پارامتر
- در گره «سرور مدیریت»، فایل
/opt/apigee/customer/application/management-server.propertiesرا بهصورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.- پارامتر
conf_zookeeper_connection.stringرا تغییر دهید تا نشانی IP جدید را دربرگیرد - پارامتر
conf_zookeeper_zk1.hostرا تغییر دهید تا نشانی IP جدید را دربرگیرد
- پارامتر
- با اجرای فرمان زیر در هر گره، همه عناصر پلاتفرم Apigee را بازراهاندازی کنید:
/opt/apigee/apigee-service/bin/apigee-all restart
تغییر نشانی IP سرور LDAP (OpenLDAP)
برای تغییر نشانی IP گره OpenLDAP، مراحل زیر را انجام دهید:
- در گره «سرور مدیریت»، فایل
/opt/apigee/customer/application/management-server.propertiesرا ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید. - در فایل
management-server.properties، پارامترconf_security_ldap.server.hostرا روی نشانی IP جدید تنظیم کنید. - بازراهاندازی سرور مدیریت:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
تغییر دادن نشانی IP انواع دیگر گره Apigee
برای تغییر دادن نشانی IP هریک از این انواع گره (رهیاب، پردازشگر پیام، سرور Postgres (نه postgresql) و سرور Qpid (نه qpidd)):
- برای ثبت نشانی IP داخلی و خارجی جدید، از فرمان
curlزیر استفاده کنید:curl -u ADMINEMAIL:PW -X PUT \ http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
curl -u ADMINEMAIL:PW -X PUT \ http://$MSIP:8080/v1/servers/uuid -d InternalIP=ipکه در آن uuid شناسه منحصربهفرد جهانی گره است.
برای کسب اطلاعات درباره نحوه دریافت UUID یک عنصر، به دریافت UUID مراجعه کنید.