Apigee सर्वर को एक जगह से दूसरी जगह ले जाना

कॉम्पोनेंट को एक मशीन से दूसरी मशीन पर ले जाने से, कॉन्फ़िगरेशन मेल नहीं खाने की समस्या हो सकती है. ऐसा तब होता है, जब कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलों में मौजूद आईपी पते सिंक न किए जाएं.

इस सेक्शन में, कॉन्फ़िगरेशन के मेल न खाने की समस्या का पता लगाने और उसे ठीक करने का तरीका बताया गया है.

आईपी पते बनाम होस्ट का नाम

आपको अपनी कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइलों में, होस्ट के नाम के बजाय आईपी पतों का इस्तेमाल करना चाहिए.

कुछ कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइलों में, आईपी पतों के बजाय होस्ट का नाम इस्तेमाल करने की अनुमति होती है. हालांकि, होस्ट का नाम इस्तेमाल करने से समस्या का हल करने में मुश्किल हो सकती है. उदाहरण के लिए, होस्ट के नाम की वजह से डीएनएस सर्वर कनेक्टिविटी, लुकअप की गड़बड़ियों, और सिंक करने से जुड़ी समस्याएं हो सकती हैं.

इसलिए, Apigee का सुझाव है कि सभी कॉम्पोनेंट कॉन्फ़िगरेशन के लिए, आईपी पतों का इस्तेमाल करें. कुछ मामलों में, जैसे कि Cassandra के साथ, आपको आईपी पतों का इस्तेमाल करना होगा. साथ ही, होस्ट के नामों का इस्तेमाल नहीं किया जा सकता. दस्तावेज़ में दिए गए ज़्यादातर उदाहरणों में, कॉम्पोनेंट कॉन्फ़िगरेशन के लिए आईपी पतों का इस्तेमाल किया जाता है.

होस्ट के नाम और आईपी पतों के लिए, Apigee सर्वर को माइग्रेट करते समय इन स्थितियों के असर पर विचार करें:

स्थिति सर्वर बदलने का असर
आईपी पते में बदलाव ओरिजनल आईपी पते का रेफ़रंस देने वाली सभी मिलती-जुलती फ़ाइलों को अपडेट करें
आईपी पते में बदलाव किए बिना होस्टनेम में बदलाव करना कोई असर नहीं पड़ा
आईपी पते में बदलाव के साथ होस्टनेम में बदलाव आईपी पते में बदलाव होने पर

Cassandra नोड का आईपी पता बदलना

Cassandra नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:

एक Cassandra नोड वाले कॉन्फ़िगरेशन के लिए

  1. जिस सिस्टम में बदलाव किया जा रहा है उस पर /opt/apigee/customer/application/cassandra.properties में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. इन पैरामीटर में बदलाव करें:
    • सिस्टम का नया आईपी पता बताने के लिए, conf_cassandra_seeds और conf_cassandra_listen_address पैरामीटर सेट करें.
    • conf_cassandra_rpc_address को बदलकर, नए आईपी पते या 0.0.0.0 का इस्तेमाल करें. इससे Cassandra Thrift को सभी इंटरफ़ेस पर सुना जा सकता है.
  3. /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties को किसी एडिटर में खोलें. आपको फ़ॉर्म में पुराना आईपी पता और डिफ़ॉल्ट सेटिंग दिखनी चाहिए:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    उस जानकारी को सेव करना.

  4. पुराने आईपी पते को नए आईपी पते से बदलने के लिए, /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" डाला हो. साथ ही, वही डिफ़ॉल्ट सेटिंग तय करें जो आपको तीसरे चरण में मिली थीं.

  5. Cassandra को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. अगर ज़रूरी हो, तो ZooKeeper को भी ठीक करें (नीचे देखें). इसके अलावा, मैनेजमेंट सर्वर से शुरू करके, Apigee प्लैटफ़ॉर्म के हर कॉम्पोनेंट को रीस्टार्ट करें.

एक से ज़्यादा Cassandra नोड (रिंग) वाले कॉन्फ़िगरेशन के लिए

  1. अगर बदला जा रहा नोड एक सीड नोड है, तो रिंग में मौजूद हर सिस्टम पर /opt/apigee/customer/application/cassandra.properties फ़ाइल में बदलाव करें. साथ ही, बदले गए सिस्टम के नए आईपी को शामिल करने के लिए, conf_cassandra_seeds पैरामीटर को बदलें. अगर cassandra.properties फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. जिस सिस्टम में बदलाव किया जा रहा है उसमें /opt/apigee/customer/application/cassandra.properties में बदलाव करें. साथ ही, इन पैरामीटर को बदलें:
    • नए आईपी पते का इस्तेमाल करने के लिए, conf_cassandra_listen_address को सेट करें.
    • conf_cassandra_rpc_address को नए आईपी पते या "0.0.0.0" का इस्तेमाल करने के लिए सेट करें. इससे Cassandra Thrift को सभी इंटरफ़ेस पर सुनने की अनुमति मिलती है.
  3. /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties को किसी एडिटर में खोलें. आपको 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

    उस जानकारी को सेव करना.

  4. पुराने आईपी पते को नए आईपी पते से बदलने के लिए, /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" डाला हो. साथ ही, वही डिफ़ॉल्ट सेटिंग इस्तेमाल करें जिन्हें आपने तीसरे चरण में रिकॉर्ड किया था.

  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

    अगर आपने Cassandra के लिए JMX ऑथेंटिकेशन चालू किया है, तो आपको सिर्फ़ अपना उपयोगकर्ता नाम और पासवर्ड डालना होगा.

  7. बदले गए नोड पर nodetool repair चलाएं. ध्यान दें कि इस प्रोसेस में कुछ समय लग सकता है. इसलिए, हमारा सुझाव है कि इसे एपीआई ट्रैफ़िक के पीक आवर के दौरान न करें.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. अगर ज़रूरी हो, तो ZooKeeper को ठीक करें (नीचे देखें). इसके बाद, Apigee प्लैटफ़ॉर्म के हर कॉम्पोनेंट को रीस्टार्ट करें. इसकी शुरुआत मैनेजमेंट सर्वर से करें.

डेटास्टोर के रजिस्ट्रेशन अपडेट करना

  1. नीचे दिए गए निर्देशों का इस्तेमाल करके, पुराने आईपी पते की जानकारी देने वाले डेटास्टोर रजिस्ट्रेशन के यूयूआईडी ढूंढें. "टाइप" और "यूयूआईडी" पैरामीटर नोट करें:
    • 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. यहां दिए गए किसी एक निर्देश का इस्तेमाल करके, नए आईपी पते रजिस्टर करें. ज़रूरी कमांड, बदले गए नोड के टाइप पर निर्भर करेगा.
    • 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. उस सिस्टम के यूयूआईडी के लिए पुराने रजिस्ट्रेशन मिटाएं जिस पर आईपी पता बदला गया था. इनमें से हर यूयूआईडी के लिए:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

ZooKeeper नोड का आईपी पता बदलना

ZooKeeper नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:

आईपी पता बदलें और ZooKeeper एन्सेम्बल को रीस्टार्ट करें (सिर्फ़ मल्टी-नोड एन्सेम्बल कॉन्फ़िगरेशन के लिए)

  1. /opt/apigee/apigee-zookeeper/conf/zoo.cfg को किसी एडिटर में खोलें. आपको सभी 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 प्रॉपर्टी को सही आईपी पतों पर सेट किया जा सके. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    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" डाला हो. साथ ही, हर नोड पर एंट्री एक ही क्रम में हों.

  3. नीचे दिए गए कमांड का इस्तेमाल करके, ZooKeeper एन्सेम्बल के लीडर को ढूंढें (node को Zookeeper मशीन के आईपी पते से बदलें):
    echo srvr | nc node 2181

    आउटपुट में मोड लाइन में "लीडर" लिखा होना चाहिए.

  4. एक के बाद एक ZooKeeper को रीस्टार्ट करें. इसकी शुरुआत लीडर से करें और उस नोड पर खत्म करें जिस पर आईपी पता बदला गया था. अगर एक से ज़्यादा ZooKeeper नोड के आईपी पते बदले गए हैं, तो हो सकता है कि आपको सभी नोड रीस्टार्ट करने पड़ें.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. हर ZooKeeper नोड की पुष्टि करने के लिए, ऊपर बताए गए echo कमांड का इस्तेमाल करें.

बदले गए कॉन्फ़िगरेशन के बारे में Apigee नोड को जानकारी देना

  1. हर राऊटर नोड पर, /opt/apigee/customer/application/router.properties फ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_connection.string पैरामीटर को बदलें
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_zk1.host पैरामीटर को बदलें
  2. हर मैसेज प्रोसेसर नोड पर, /opt/apigee/customer/application/message-processor.properties फ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_connection.string पैरामीटर को बदलें
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_zk1.host पैरामीटर को बदलें
  3. मैनेजमेंट सर्वर नोड पर, /opt/apigee/customer/application/management-server.properties फ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_connection.string पैरामीटर को बदलें
    • नए आईपी पते को शामिल करने के लिए, conf_zookeeper_zk1.host पैरामीटर को बदलें
  4. हर नोड पर यह निर्देश चलाकर, Apigee प्लैटफ़ॉर्म के सभी कॉम्पोनेंट को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-all restart

LDAP सर्वर (OpenLDAP) का आईपी पता बदलना

OpenLDAP नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:

  1. मैनेजमेंट सर्वर नोड पर, /opt/apigee/customer/application/management-server.properties फ़ाइल में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. management-server.properties फ़ाइल में, conf_security_ldap.server.host पैरामीटर को नए आईपी पते पर सेट करें.
  3. मैनेजमेंट सर्वर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Apigee के अन्य नोड टाइप का आईपी पता बदलना

इनमें से किसी भी नोड टाइप (राऊटर, मैसेज प्रोसेसर, Postgres सर्वर (postgresql नहीं), और Qpid सर्वर (qpidd नहीं)) का आईपी पता बदलने के लिए:

  1. नए इंटरनल और एक्सटर्नल आईपी पते को रजिस्टर करने के लिए, इस 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, नोड का यूयूआईडी है.

किसी कॉम्पोनेंट का यूयूआईडी पाने का तरीका जानने के लिए, यूयूआईडी पाना लेख पढ़ें.