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 को भी ठीक करें. इसके लिए, 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 को सेट करें.
    • नए आईपी पते या "0.0.0.0" का इस्तेमाल करने के लिए, conf_cassandra_rpc_address सेट करें (इससे 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. अन्य सभी नोड के लिए, तीसरे और चौथे चरण में किए गए बदलावों को दोहराएं, ताकि उन्हें Cassandra रिंग में इस नोड की पोज़िशन के बारे में पता चल सके. इसके अलावा, पहले चरण में बताए गए तरीके से सीड नोड का आईपी पता बदलें.
  7. एक-एक करके, बाकी बचे हर Cassandra नोड को फिर से शुरू करें.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. बदले गए नोड पर nodetool ring कमांड चलाएं, ताकि यह पक्का किया जा सके कि रिंग पूरी हो गई है. यह सुविधा /opt/apigee/apigee-cassandra/bin पर उपलब्ध है.
    nodetool [-u username -pw password] -h localhost ring
  9. बदले गए नोड पर nodetool repair चलाएं. ध्यान दें कि इस प्रोसेस में कुछ समय लग सकता है. इसलिए, हमारा सुझाव है कि इसे एपीआई के सबसे ज़्यादा इस्तेमाल वाले घंटों के दौरान न करें.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. अगर ज़रूरी हो, तो ZooKeeper को ठीक करें. इसके लिए, 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 ensemble को फिर से शुरू करें (यह सिर्फ़ मल्टी-नोड ensemble कॉन्फ़िगरेशन के लिए है)

  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 ensemble का लीडर ढूंढें (node को Zookeeper मशीन के आईपी पते से बदलें):
    echo srvr | nc node 2181

    आउटपुट में मौजूद Mode लाइन में "leader" लिखा होना चाहिए.

  4. एक-एक करके सभी ZooKeeper को रीस्टार्ट करें. सबसे पहले लीडर को रीस्टार्ट करें और आखिर में उस नोड को रीस्टार्ट करें जिस पर आईपी पता बदला गया था. अगर एक से ज़्यादा ज़ूकीपर नोड के आईपी पते बदल गए हैं, तो हो सकता है कि सभी नोड को रीस्टार्ट करना पड़े.
    /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 पैरामीटर बदलें
    • नया आईपी पता शामिल करने के लिए, 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 सर्वर (SymasLDAP) का आईपी पता बदलना

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

  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 नोड का यूयूआईडी होता है.

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