اگر آدرسهای IP موجود در فایلهای پیکربندی مؤلفه خود را همگام نکنید، انتقال اجزا از یک دستگاه به دستگاه دیگر ممکن است باعث عدم تطابق پیکربندی شود.
این بخش نحوه تشخیص و رفع عدم تطابق پیکربندی را شرح می دهد.
آدرس های IP در مقابل نام هاست
شما باید از آدرس های IP به جای نام میزبان در فایل های پیکربندی اجزای خود استفاده کنید.
در حالی که برخی از فایل های پیکربندی مؤلفه به شما امکان می دهند از نام میزبان به جای آدرس IP استفاده کنید، استفاده از نام میزبان می تواند عیب یابی را پیچیده کند. به عنوان مثال، نام هاست می تواند منبع مشکلات مربوط به اتصال سرور DNS، خرابی جستجو و همگام سازی باشد.
در نتیجه، Apigee قویاً استفاده از آدرسهای IP را برای تمام پیکربندیهای مؤلفه توصیه میکند. در برخی موارد، مانند Cassandra، باید از آدرس های IP استفاده کنید و نمی توانید از نام میزبان استفاده کنید. بیشتر نمونههای موجود در مستندات از آدرسهای IP برای پیکربندی مؤلفه استفاده میکنند.
برای نام هاست و آدرس های IP، هنگام جابجایی سرورهای Apigee، پیامدهای سناریوهای زیر را در نظر بگیرید:
سناریو | تاثیر روی سرورهای متحرک |
---|---|
تغییر در آدرس IP | همه فایلهای مرتبط را که به آدرس IP اصلی اشاره میکنند، بهروزرسانی کنید |
تغییر نام میزبان بدون تغییر در آدرس IP | بدون تاثیر |
تغییر نام میزبان با تغییر در آدرس IP | مانند تغییر در آدرس IP |
تغییر آدرس IP گره کاساندرا
برای تغییر آدرس IP یک گره کاساندرا، مراحل زیر را انجام دهید:
برای پیکربندی با یک گره کاساندرا
-
/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 وارد کرده اید و همان تنظیمات پیش فرضی را که در مرحله 3 در بالا پیدا کردید، مشخص کنید.
- کاساندرا را مجددا راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- در صورت لزوم، ZooKeeper را نیز تعمیر کنید (به تغییر آدرس IP یک گره ZooKeeper مراجعه کنید). در غیر این صورت، با شروع سرور مدیریت، هر مؤلفه پلتفرم Apigee را مجدداً راه اندازی کنید.
برای پیکربندی با چندین گره کاساندرا (حلقه)
- اگر گره در حال تغییر یک گره seed است، فایل
/opt/apigee/customer/application/cassandra.properties
را در هر سیستم موجود در حلقه ویرایش کنید و پارامترconf_cassandra_seeds
را تغییر دهید تا IP جدید سیستم اصلاح شده را نیز شامل شود. اگر فایل cassandra.properties وجود ندارد، آن را ایجاد کنید. -
/opt/apigee/customer/application/cassandra.properties
را در سیستم در حال تغییر ویرایش کنید و پارامترهای زیر را تغییر دهید:- برای استفاده از آدرس IP جدید
conf_cassandra_listen_address
را تنظیم کنید. -
conf_cassandra_rpc_address
را تنظیم کنید تا از آدرس IP جدید یا "0.0.0.0" استفاده کند (که به Cassandra Thrift اجازه می دهد در همه رابط ها گوش دهد).
- برای استفاده از آدرس IP جدید
-
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
را در یک ویرایشگر باز کنید. شما باید تمام آدرسهای IP کاساندرا و تنظیمات پیشفرض را به شکل زیر ببینید: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
مطمئن شوید که "\n" را بعد از هر آدرس IP وارد کرده اید و از همان تنظیمات پیش فرضی که در مرحله 3 در بالا ثبت کرده اید استفاده کنید.
- Cassandra را در سیستم اصلاح شده مجدداً راه اندازی کنید.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- برای تمام گره های دیگر، تغییرات ایجاد شده در مراحل 3 و 4 را تکرار کنید تا آنها را از موقعیت این گره در حلقه کاساندرا مطلع کنید. علاوه بر این، IP گره دانه را همانطور که در مرحله 1 توضیح داده شد تغییر دهید.
- هر گره کاساندرا باقی مانده را یکی یکی مجدداً راه اندازی کنید.
/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 را مجدداً راه اندازی کنید، با سرور مدیریت شروع کنید.
ثبت نام های فروشگاه داده را به روز کنید
- با استفاده از دستورات زیر، UUID ثبتهای فروشگاه داده را که آدرس 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
- برای type="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":
- ثبت نام های قدیمی UUID سیستمی که آدرس IP در آن تغییر کرده است را حذف کنید. برای هر یک از این UUID ها:
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
اطمینان حاصل کنید که "\n" را بعد از هر آدرس IP وارد کرده اید و ورودی ها در هر گره به یک ترتیب هستند.
- با استفاده از دستور زیر رهبر گروه ZooKeeper را پیدا کنید (آدرس IP دستگاه Zookeeper را جایگزین node کنید):
echo srvr | nc node 2181
خط Mode در خروجی باید "لیدر" را نشان دهد.
- یکی پس از دیگری ZooKeeper را مجدداً راه اندازی کنید که با لیدر شروع می شود و با گره ای که آدرس IP در آن تغییر کرده است خاتمه می یابد. اگر بیش از یک گره نگهبان باغ وحش آدرس های IP را تغییر دادند، ممکن است لازم باشد همه گره ها راه اندازی مجدد شوند.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- از دستور
echo
که در بالا توضیح داده شد برای تأیید هر گره ZooKeeper استفاده کنید.
گره های 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):
- از دستور
curl
زیر برای ثبت آدرس IP داخلی و خارجی جدید استفاده کنید: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 یک جزء، به دریافت UUID ها مراجعه کنید.