جابجایی سرورهای Apigee، انتقال سرورهای Apigee

اگر آدرس‌های IP موجود در فایل‌های پیکربندی مؤلفه خود را همگام نکنید، انتقال اجزا از یک دستگاه به دستگاه دیگر ممکن است باعث عدم تطابق پیکربندی شود.

این بخش نحوه تشخیص و رفع عدم تطابق پیکربندی را شرح می دهد.

آدرس های IP در مقابل نام هاست

شما باید از آدرس های IP به جای نام میزبان در فایل های پیکربندی اجزای خود استفاده کنید.

در حالی که برخی از فایل های پیکربندی مؤلفه به شما امکان می دهند از نام میزبان به جای آدرس IP استفاده کنید، استفاده از نام میزبان می تواند عیب یابی را پیچیده کند. به عنوان مثال، نام هاست می تواند منبع مشکلات مربوط به اتصال سرور DNS، خرابی جستجو و همگام سازی باشد.

در نتیجه، Apigee قویاً استفاده از آدرس‌های IP را برای تمام پیکربندی‌های مؤلفه توصیه می‌کند. در برخی موارد، مانند Cassandra، باید از آدرس های IP استفاده کنید و نمی توانید از نام میزبان استفاده کنید. بیشتر نمونه‌های موجود در مستندات از آدرس‌های IP برای پیکربندی مؤلفه استفاده می‌کنند.

برای نام هاست و آدرس های IP، هنگام جابجایی سرورهای Apigee، پیامدهای سناریوهای زیر را در نظر بگیرید:

سناریو تاثیر روی سرورهای متحرک
تغییر در آدرس IP همه فایل‌های مرتبط را که به آدرس IP اصلی اشاره می‌کنند، به‌روزرسانی کنید
تغییر نام میزبان بدون تغییر در آدرس IP بدون تاثیر
تغییر نام میزبان با تغییر در آدرس IP مانند تغییر در آدرس IP

تغییر آدرس IP گره کاساندرا

برای تغییر آدرس IP یک گره کاساندرا، مراحل زیر را انجام دهید:

برای پیکربندی با یک گره کاساندرا

  1. /opt/apigee/customer/application/cassandra.properties را در سیستم در حال تغییر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
  2. پارامترهای زیر را تغییر دهید:
    • پارامترهای conf_cassandra_seeds و conf_cassandra_listen_address را برای تعیین آدرس IP جدید سیستم تنظیم کنید.
    • conf_cassandra_rpc_address را تغییر دهید تا از آدرس IP جدید یا 0.0.0.0 استفاده کنید (که به Cassandra Thrift اجازه می دهد در تمام رابط ها گوش دهد).
  3. /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties را در یک ویرایشگر باز کنید. شما باید آدرس IP قدیمی و تنظیمات پیش فرض را در فرم مشاهده کنید:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    آن اطلاعات را ذخیره کنید.

  4. برای تغییر آدرس 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 در بالا پیدا کردید، مشخص کنید.

  5. کاساندرا را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. در صورت لزوم، ZooKeeper را نیز تعمیر کنید (به زیر مراجعه کنید)، در غیر این صورت، هر مؤلفه پلتفرم Apigee را با شروع مدیریت سرور، مجدداً راه اندازی کنید.

برای پیکربندی با چندین گره کاساندرا (حلقه)

  1. اگر گره در حال تغییر یک گره seed است، فایل /opt/apigee/customer/application/cassandra.properties را در هر سیستم موجود در حلقه ویرایش کنید و پارامتر conf_cassandra_seeds را تغییر دهید تا IP جدید سیستم اصلاح شده را نیز شامل شود. اگر فایل cassandra.properties وجود ندارد، آن را ایجاد کنید.
  2. /opt/apigee/customer/application/cassandra.properties را در سیستم در حال تغییر ویرایش کنید و پارامترهای زیر را تغییر دهید:
    • برای استفاده از آدرس IP جدید conf_cassandra_listen_address را تنظیم کنید.
    • conf_cassandra_rpc_address را تنظیم کنید تا از آدرس IP جدید یا "0.0.0.0" استفاده کند (که به Cassandra Thrift اجازه می دهد در همه رابط ها گوش دهد).
  3. /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

    آن اطلاعات را ذخیره کنید.

  4. برای تغییر آدرس 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 در بالا ثبت کرده اید استفاده کنید.

  5. Cassandra را در سیستم اصلاح شده مجدداً راه اندازی کنید. اگر سیستم اصلاح شده یک گره بذری است، هر سیستمی را که از گره بذر اصلاح شده استفاده کرده است، مجددا راه اندازی کنید.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. دستور nodetool ring را روی گره اصلاح شده اجرا کنید تا مطمئن شوید که حلقه کامل است. این ابزار را می توان در /opt/apigee/apigee-cassandra/bin پیدا کرد.
    nodetool [-u username -pw password] -h localhost ring

    در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

  7. nodetool repair روی گره اصلاح شده اجرا کنید. توجه داشته باشید که این فرآیند ممکن است کمی طول بکشد، بنابراین به شدت توصیه می‌شود این کار در ساعات اوج ترافیک API انجام نشود.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. در صورت لزوم، ZooKeeper را تعمیر کنید (به زیر مراجعه کنید)، سپس هر مؤلفه پلتفرم Apigee را مجدداً راه اندازی کنید، با سرور مدیریت شروع کنید.

ثبت نام های فروشگاه داده را به روز کنید

  1. با استفاده از دستورات زیر، UUID ثبت‌های فروشگاه داده را که آدرس IP قدیمی را مشخص می‌کنند، بیابید. به پارامترهای "نوع" و "UUID" توجه داشته باشید:
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      جایی که DC نام مرکز داده است. در یک نصب مرکز داده واحد، مقدار معمولاً "dc-1" است.

  2. آدرس های IP جدید را با استفاده از یکی از دستورات زیر ثبت کنید. دستور مورد نیاز به نوع گره تغییر یافته بستگی دارد.
    • برای type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=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&region=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&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. ثبت نام های قدیمی UUID سیستمی که آدرس IP در آن تغییر کرده است را حذف کنید. برای هر یک از این UUID ها:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

تغییر آدرس IP یک گره ZooKeeper

مراحل زیر را برای تغییر آدرس IP گره ZooKeeper دنبال کنید:

آدرس IP را تغییر دهید و مجموعه ZooKeeper را مجدداً راه اندازی کنید (فقط برای پیکربندی گروه چند گره)

  1. /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

    آن اطلاعات را ذخیره کنید.

  2. در هر گره 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 وارد کرده اید و ورودی ها در هر گره به یک ترتیب هستند.

  3. با استفاده از دستور زیر رهبر گروه ZooKeeper را پیدا کنید (آدرس IP دستگاه Zookeeper را جایگزین node کنید):
    echo srvr | nc node 2181

    خط Mode در خروجی باید "لیدر" را نشان دهد.

  4. یکی پس از دیگری ZooKeeper را مجدداً راه اندازی کنید که با لیدر شروع می شود و با گره ای که آدرس IP در آن تغییر کرده است خاتمه می یابد. اگر بیش از یک گره نگهبان باغ وحش آدرس های IP را تغییر دادند، ممکن است لازم باشد همه گره ها راه اندازی مجدد شوند.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. از دستور echo که در بالا توضیح داده شد برای تأیید هر گره ZooKeeper استفاده کنید.

گره های Apigee را از پیکربندی تغییر یافته مطلع کنید

  1. در هر گره روتر، فایل /opt/apigee/customer/application/router.properties را به صورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    • پارامتر conf_zookeeper_connection.string را تغییر دهید تا آدرس IP جدید را شامل شود
    • پارامتر conf_zookeeper_zk1.host را تغییر دهید تا آدرس IP جدید را شامل شود
  2. در هر گره پردازشگر پیام، فایل /opt/apigee/customer/application/message-processor.properties را به صورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    • پارامتر conf_zookeeper_connection.string را تغییر دهید تا آدرس IP جدید را شامل شود
    • پارامتر conf_zookeeper_zk1.host را تغییر دهید تا آدرس IP جدید را شامل شود
  3. در گره مدیریت سرور، فایل /opt/apigee/customer/application/management-server.properties را به صورت زیر ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    • پارامتر conf_zookeeper_connection.string را تغییر دهید تا آدرس IP جدید را شامل شود
    • پارامتر conf_zookeeper_zk1.host را تغییر دهید تا آدرس IP جدید را شامل شود
  4. با اجرای دستور زیر در هر گره، تمام اجزای پلتفرم Apigee را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-all restart

تغییر آدرس IP سرور LDAP (OpenLDAP)

برای تغییر آدرس IP یک گره OpenLDAP، موارد زیر را انجام دهید:

  1. در گره مدیریت سرور، فایل /opt/apigee/customer/application/management-server.properties را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
  2. در فایل management-server.properties ، پارامتر conf_security_ldap.server.host را روی آدرس IP جدید تنظیم کنید.
  3. راه اندازی مجدد سرور مدیریت:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

تغییر آدرس IP سایر انواع گره Apigee

برای تغییر آدرس IP هر یک از این انواع گره (روتر، پردازشگر پیام، سرور Postgres (نه postgresql) و سرور Qpid (نه qpidd):

  1. از دستور 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 ها مراجعه کنید.