कॉम्पोनेंट को एक मशीन से दूसरी मशीन पर ले जाने से, कॉन्फ़िगरेशन मेल नहीं खाने की समस्या हो सकती है. ऐसा तब होता है, जब कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलों में मौजूद आईपी पते सिंक न किए जाएं.
इस सेक्शन में, कॉन्फ़िगरेशन के मेल न खाने की समस्या का पता लगाने और उसे ठीक करने का तरीका बताया गया है.
आईपी पते बनाम होस्ट का नाम
आपको अपनी कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइलों में, होस्ट के नाम के बजाय आईपी पतों का इस्तेमाल करना चाहिए.
कुछ कॉम्पोनेंट कॉन्फ़िगरेशन फ़ाइलों में, आईपी पतों के बजाय होस्ट का नाम इस्तेमाल करने की अनुमति होती है. हालांकि, होस्ट का नाम इस्तेमाल करने से समस्या का हल करने में मुश्किल हो सकती है. उदाहरण के लिए, होस्ट के नाम की वजह से डीएनएस सर्वर कनेक्टिविटी, लुकअप की गड़बड़ियों, और सिंक करने से जुड़ी समस्याएं हो सकती हैं.
इसलिए, Apigee का सुझाव है कि सभी कॉम्पोनेंट कॉन्फ़िगरेशन के लिए, आईपी पतों का इस्तेमाल करें. कुछ मामलों में, जैसे कि Cassandra के साथ, आपको आईपी पतों का इस्तेमाल करना होगा. साथ ही, होस्ट के नामों का इस्तेमाल नहीं किया जा सकता. दस्तावेज़ में दिए गए ज़्यादातर उदाहरणों में, कॉम्पोनेंट कॉन्फ़िगरेशन के लिए आईपी पतों का इस्तेमाल किया जाता है.
होस्ट के नाम और आईपी पतों के लिए, Apigee सर्वर को माइग्रेट करते समय इन स्थितियों के असर पर विचार करें:
| स्थिति | सर्वर बदलने का असर |
|---|---|
| आईपी पते में बदलाव | ओरिजनल आईपी पते का रेफ़रंस देने वाली सभी मिलती-जुलती फ़ाइलों को अपडेट करें |
| आईपी पते में बदलाव किए बिना होस्टनेम में बदलाव करना | कोई असर नहीं पड़ा |
| आईपी पते में बदलाव के साथ होस्टनेम में बदलाव | आईपी पते में बदलाव होने पर |
Cassandra नोड का आईपी पता बदलना
Cassandra नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:
एक Cassandra नोड वाले कॉन्फ़िगरेशन के लिए
- जिस सिस्टम में बदलाव किया जा रहा है उस पर
/opt/apigee/customer/application/cassandra.propertiesमें बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं. - इन पैरामीटर में बदलाव करें:
- सिस्टम का नया आईपी पता बताने के लिए,
conf_cassandra_seedsऔरconf_cassandra_listen_addressपैरामीटर सेट करें. conf_cassandra_rpc_addressको बदलकर, नए आईपी पते या 0.0.0.0 का इस्तेमाल करें. इससे Cassandra Thrift को सभी इंटरफ़ेस पर सुना जा सकता है.
- सिस्टम का नया आईपी पता बताने के लिए,
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesको किसी एडिटर में खोलें. आपको फ़ॉर्म में पुराना आईपी पता और डिफ़ॉल्ट सेटिंग दिखनी चाहिए:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
उस जानकारी को सेव करना.
- पुराने आईपी पते को नए आईपी पते से बदलने के लिए,
/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" डाला हो. साथ ही, वही डिफ़ॉल्ट सेटिंग तय करें जो आपको तीसरे चरण में मिली थीं.
- Cassandra को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- अगर ज़रूरी हो, तो ZooKeeper को भी ठीक करें (नीचे देखें). इसके अलावा, मैनेजमेंट सर्वर से शुरू करके, Apigee प्लैटफ़ॉर्म के हर कॉम्पोनेंट को रीस्टार्ट करें.
एक से ज़्यादा Cassandra नोड (रिंग) वाले कॉन्फ़िगरेशन के लिए
- अगर बदला जा रहा नोड एक सीड नोड है, तो रिंग में मौजूद हर सिस्टम पर
/opt/apigee/customer/application/cassandra.propertiesफ़ाइल में बदलाव करें. साथ ही, बदले गए सिस्टम के नए आईपी को शामिल करने के लिए,conf_cassandra_seedsपैरामीटर को बदलें. अगर cassandra.properties फ़ाइल मौजूद नहीं है, तो उसे बनाएं. - जिस सिस्टम में बदलाव किया जा रहा है उसमें
/opt/apigee/customer/application/cassandra.propertiesमें बदलाव करें. साथ ही, इन पैरामीटर को बदलें:- नए आईपी पते का इस्तेमाल करने के लिए,
conf_cassandra_listen_addressको सेट करें. conf_cassandra_rpc_addressको नए आईपी पते या "0.0.0.0" का इस्तेमाल करने के लिए सेट करें. इससे Cassandra Thrift को सभी इंटरफ़ेस पर सुनने की अनुमति मिलती है.
- नए आईपी पते का इस्तेमाल करने के लिए,
/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
उस जानकारी को सेव करना.
- पुराने आईपी पते को नए आईपी पते से बदलने के लिए,
/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" डाला हो. साथ ही, वही डिफ़ॉल्ट सेटिंग इस्तेमाल करें जिन्हें आपने तीसरे चरण में रिकॉर्ड किया था.
- बदले गए सिस्टम पर 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
अगर आपने Cassandra के लिए JMX ऑथेंटिकेशन चालू किया है, तो आपको सिर्फ़ अपना उपयोगकर्ता नाम और पासवर्ड डालना होगा.
- बदले गए नोड पर
nodetool repairचलाएं. ध्यान दें कि इस प्रोसेस में कुछ समय लग सकता है. इसलिए, हमारा सुझाव है कि इसे एपीआई ट्रैफ़िक के पीक आवर के दौरान न करें.nodetool [-u username -pw password] -h localhost repair -pr
- अगर ज़रूरी हो, तो ZooKeeper को ठीक करें (नीचे देखें). इसके बाद, Apigee प्लैटफ़ॉर्म के हर कॉम्पोनेंट को रीस्टार्ट करें. इसकी शुरुआत मैनेजमेंट सर्वर से करें.
डेटास्टोर के रजिस्ट्रेशन अपडेट करना
- नीचे दिए गए निर्देशों का इस्तेमाल करके, पुराने आईपी पते की जानकारी देने वाले डेटास्टोर रजिस्ट्रेशन के यूयूआईडी ढूंढें. "टाइप" और "यूयूआईडी" पैरामीटर नोट करें:
-
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" होती है.
-
- यहां दिए गए किसी एक निर्देश का इस्तेमाल करके, नए आईपी पते रजिस्टर करें. ज़रूरी कमांड, बदले गए नोड के टाइप पर निर्भर करेगा.
- 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" के लिए:
- उस सिस्टम के यूयूआईडी के लिए पुराने रजिस्ट्रेशन मिटाएं जिस पर आईपी पता बदला गया था. इनमें से हर यूयूआईडी के लिए:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
ZooKeeper नोड का आईपी पता बदलना
ZooKeeper नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:
आईपी पता बदलें और ZooKeeper एन्सेम्बल को रीस्टार्ट करें (सिर्फ़ मल्टी-नोड एन्सेम्बल कॉन्फ़िगरेशन के लिए)
/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
उस जानकारी को सेव करना.
- हर 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" डाला हो. साथ ही, हर नोड पर एंट्री एक ही क्रम में हों.
- नीचे दिए गए कमांड का इस्तेमाल करके, ZooKeeper एन्सेम्बल के लीडर को ढूंढें (node को Zookeeper मशीन के आईपी पते से बदलें):
echo srvr | nc node 2181
आउटपुट में मोड लाइन में "लीडर" लिखा होना चाहिए.
- एक के बाद एक ZooKeeper को रीस्टार्ट करें. इसकी शुरुआत लीडर से करें और उस नोड पर खत्म करें जिस पर आईपी पता बदला गया था. अगर एक से ज़्यादा ZooKeeper नोड के आईपी पते बदले गए हैं, तो हो सकता है कि आपको सभी नोड रीस्टार्ट करने पड़ें.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- हर ZooKeeper नोड की पुष्टि करने के लिए, ऊपर बताए गए
echoकमांड का इस्तेमाल करें.
बदले गए कॉन्फ़िगरेशन के बारे में Apigee नोड को जानकारी देना
- हर राऊटर नोड पर,
/opt/apigee/customer/application/router.propertiesफ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.- नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_connection.stringपैरामीटर को बदलें - नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_zk1.hostपैरामीटर को बदलें
- नए आईपी पते को शामिल करने के लिए,
- हर मैसेज प्रोसेसर नोड पर,
/opt/apigee/customer/application/message-processor.propertiesफ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.- नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_connection.stringपैरामीटर को बदलें - नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_zk1.hostपैरामीटर को बदलें
- नए आईपी पते को शामिल करने के लिए,
- मैनेजमेंट सर्वर नोड पर,
/opt/apigee/customer/application/management-server.propertiesफ़ाइल में इस तरह बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.- नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_connection.stringपैरामीटर को बदलें - नए आईपी पते को शामिल करने के लिए,
conf_zookeeper_zk1.hostपैरामीटर को बदलें
- नए आईपी पते को शामिल करने के लिए,
- हर नोड पर यह निर्देश चलाकर, Apigee प्लैटफ़ॉर्म के सभी कॉम्पोनेंट को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-all restart
LDAP सर्वर (OpenLDAP) का आईपी पता बदलना
OpenLDAP नोड का आईपी पता बदलने के लिए, यह तरीका अपनाएं:
- मैनेजमेंट सर्वर नोड पर,
/opt/apigee/customer/application/management-server.propertiesफ़ाइल में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं. management-server.propertiesफ़ाइल में,conf_security_ldap.server.hostपैरामीटर को नए आईपी पते पर सेट करें.- मैनेजमेंट सर्वर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Apigee के अन्य नोड टाइप का आईपी पता बदलना
इनमें से किसी भी नोड टाइप (राऊटर, मैसेज प्रोसेसर, Postgres सर्वर (postgresql नहीं), और Qpid सर्वर (qpidd नहीं)) का आईपी पता बदलने के लिए:
- नए इंटरनल और एक्सटर्नल आईपी पते को रजिस्टर करने के लिए, इस
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, नोड का यूयूआईडी है.
किसी कॉम्पोनेंट का यूयूआईडी पाने का तरीका जानने के लिए, यूयूआईडी पाना लेख पढ़ें.