कभी-कभी, आपको डेटा सेंटर बंद करना पड़ सकता है. उदाहरण के लिए, अगर आपको अपने ऑपरेटिंग सिस्टम को अपग्रेड करना है, तो आपको नए डेटा सेंटर में नया ऑपरेटिंग सिस्टम इंस्टॉल करना होगा. इसके बाद, पुराने डेटा सेंटर को बंद करना होगा. यहां दिए गए सेक्शन में, डेटा सेंटर को बंद करने का उदाहरण दिया गया है. इसमें 12 नोड वाले क्लस्टर किए गए इंस्टॉलेशन पर दो डेटा सेंटर, dc-1 और dc-2 मौजूद हैं:
- dc-1 वह डेटा सेंटर है जिसे बंद किया जाना है.
- dc-2 दूसरा डेटा सेंटर है. इसका इस्तेमाल, बंद करने की प्रोसेस में किया जाता है.
अगर ऑपरेटिंग सिस्टम को अपग्रेड किया जा रहा है, तो dc-2 वह डेटा सेंटर हो सकता है जिसमें आपने ऑपरेटिंग सिस्टम (ओएस) का नया वर्शन इंस्टॉल किया है. हालांकि, डेटा सेंटर को बंद करने के लिए, नया ओएस इंस्टॉल करना ज़रूरी नहीं है.
डेटा सेंटर को बंद करने से पहले ध्यान रखने वाली बातें
डेटा सेंटर को बंद करते समय, इन बातों का ध्यान रखें:
- डेटा सेंटर को बंद करने के दौरान, उस पर आने वाले सभी रनटाइम और मैनेजमेंट ट्रैफ़िक को ब्लॉक करें. साथ ही, उन्हें दूसरे डेटा सेंटर पर रीडायरेक्ट करें.
- डेटा सेंटर को बंद करने के बाद, आपके Apigee क्लस्टर की क्षमता कम हो जाएगी. इसकी भरपाई करने के लिए, बचे हुए डेटा सेंटर की क्षमता बढ़ाएं या बंद किए गए डेटा सेंटर के बाद डेटा सेंटर जोड़ें.
- सेवा बंद करने की प्रोसेस के दौरान, Analytics का डेटा मिट सकता है. यह इस बात पर निर्भर करता है कि सेवा बंद किए जा रहे डेटा सेंटर में, Analytics के कौनसे कॉम्पोनेंट इंस्टॉल किए गए हैं. ज़्यादा जानकारी के लिए, Qpid नोड जोड़ना या हटाना लेख पढ़ें.
- किसी डेटा सेंटर को बंद करने से पहले, आपको यह समझना चाहिए कि सभी डेटा सेंटर में सभी कॉम्पोनेंट कैसे कॉन्फ़िगर किए जाते हैं. खास तौर पर, SymasLDAP, ZooKeeper, Cassandra, और Postgres सर्वर. आपको सभी कॉम्पोनेंट और उनके कॉन्फ़िगरेशन का बैकअप भी लेना चाहिए.
शुरू करने से पहले
- मैनेजमेंट सर्वर: बंद करने के सभी चरण, मैनेजमेंट सर्वर पर काफ़ी हद तक निर्भर करते हैं. अगर आपके पास सिर्फ़ एक मैनेजमेंट सर्वर उपलब्ध है, तो हमारा सुझाव है कि dc-1 पर मौजूद मैनेजमेंट सर्वर को बंद करने से पहले, dc-1 के अलावा किसी दूसरे डेटा सेंटर पर नया मैनेजमेंट सर्वर कॉम्पोनेंट इंस्टॉल करें. साथ ही, यह पक्का करें कि मैनेजमेंट सर्वर हमेशा उपलब्ध रहे.
- राउटर: राउटर को बंद करने से पहले, पोर्ट 15999 को ब्लॉक करके, राउटर की पहुंच को बंद करें. पक्का करें कि बंद किए जा रहे राऊटर पर कोई रनटाइम ट्रैफ़िक न भेजा जा रहा हो.
- Cassandra और ZooKeeper:
यहां दिए गए सेक्शन में, दो डेटा सेंटर सेटअप में dc-1 को बंद करने का तरीका बताया गया है.
अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो पक्का करें कि बंद किए जा रहे नोड (इस मामले में dc-1) के सभी रेफ़रंस, बाकी सभी डेटा सेंटर की साइलेंट कॉन्फ़िगरेशन फ़ाइलों से हटा दिए गए हों. जिन Cassandra नोड को बंद करना है उनके होस्ट को
CASS_HOSTS
से हटा दें. बाकी Cassandra नोड,CASS_HOSTS
के ओरिजनल क्रम में ही रहने चाहिए. - Postgres: अगर Postgres मास्टर को बंद किया जाता है, तो पक्का करें कि उपलब्ध किसी भी स्टैंडबाय नोड को नए Postgres मास्टर के तौर पर प्रमोट किया गया हो. QPID सर्वर, क्यू में बफ़र रखता है. हालांकि, अगर Postgres मास्टर लंबे समय तक उपलब्ध नहीं रहता है, तो आपके पास आंकड़ों का डेटा खोने का जोखिम होता है.
ज़रूरी शर्तें
हमारा सुझाव है कि किसी भी कॉम्पोनेंट को बंद करने से पहले, सभी नोड का पूरा बैकअप लें. बैकअप लेने के लिए, Edge के मौजूदा वर्शन के लिए दी गई प्रक्रिया का इस्तेमाल करें. बैकअप के बारे में ज़्यादा जानकारी के लिए, बैकअप और रीस्टोर करना लेख पढ़ें.
- बंद करने से पहले, पक्का करें कि Edge चालू हो और काम कर रहा हो. इसके लिए, यह कमांड इस्तेमाल करें:
/opt/apigee/apigee-service/bin/apigee-all status
- पक्का करें कि जिस डेटा सेंटर को बंद किया जा रहा है उस पर फ़िलहाल कोई रनटाइम ट्रैफ़िक न आ रहा हो.
कॉम्पोनेंट बंद करने का क्रम
अगर आपने Edge for Private Cloud को एक से ज़्यादा नोड पर इंस्टॉल किया है, तो आपको उन नोड पर Edge कॉम्पोनेंट को इस क्रम में बंद करना चाहिए:
- Edge यूज़र इंटरफ़ेस (यूआई) (edge-ui)
- मैनेजमेंट सर्वर (edge-management-server)
- Symas LDAP (apigee-openldap)
- राउटर (edge-router)
- मैसेज प्रोसेसर (edge-message-processor)
- Qpid Server और Qpidd (edge-qpid-server और apigee-qpidd)
- Postgres और PostgreSQL डेटाबेस (edge-postgres-server और apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
यहां दिए गए सेक्शन में, हर कॉम्पोनेंट को बंद करने का तरीका बताया गया है.
Edge UI
dc-1 के Edge UI कॉम्पोनेंट को रोकने और अनइंस्टॉल करने के लिए, ये कमांड डालें:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
मैनेजमेंट सर्वर
dc-1 पर मैनेजमेंट सर्वर को बंद करने के लिए, यह तरीका अपनाएं:
- dc-1 पर मैनेजमेंट सर्वर को बंद करें:
apigee-service edge-management-server stop
- dc-1 में रजिस्टर किए गए मैनेजमेंट सर्वर का यूयूआईडी ढूंढें:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- सर्वर का रजिस्ट्रेशन रद्द करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- सर्वर मिटाएं. ध्यान दें: अगर इस सर्वर पर अन्य कॉम्पोनेंट भी इंस्टॉल किए गए हैं, तो UUID को मिटाने से पहले उन सभी को डीरजिस्टर करें.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- dc-1 पर मैनेजमेंट सर्वर कॉम्पोनेंट अनइंस्टॉल करें:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Symas LDAP
इस सेक्शन में, dc-1 पर SymasLDAP को बंद करने का तरीका बताया गया है.
ध्यान दें: अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो नीचे दिया गया दो से ज़्यादा डेटा सेंटर वाले सेटअप देखें.
dc-1 पर SymasLDAP को बंद करने के लिए, यह तरीका अपनाएं:
- बैक अप लेने का तरीका में दिए गए चरणों का पालन करके, dc-1 SymasLDAP नोड का बैक अप लें.
दोनों डेटा सेंटर, dc-1 और dc-2 के बीच डेटा रेप्लिकेशन को रोकने के लिए, दोनों डेटा सेंटर में यह तरीका अपनाएं.
- मौजूदा स्थिति देखें:
/opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
आउटपुट, इससे मिलता-जुलता होना चाहिए:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- नीचे दी गई कमांड वाली
break_repl.ldif
फ़ाइल बनाएं:dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode
ldapmodify
कमांड चलाएं:/opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
आउटपुट, इससे मिलता-जुलता होना चाहिए:
modifying entry "olcDatabase={2}mdb,cn=config" modifying entry "olcDatabase={2}mdb,cn=config"
- मौजूदा स्थिति देखें:
इस बात की पुष्टि की जा सकती है कि dc-2 अब dc-1 में रेप्लिकेट नहीं हो रहा है. इसके लिए, dc-2 LDAP में एक एंट्री बनाएं और पक्का करें कि यह dc-1 के LDAP में न दिखे.
इसके अलावा, नीचे दिया गया तरीका भी अपनाया जा सकता है. इससे dc-2 SymasLDAP नोड में, सिर्फ़ पढ़ने की अनुमति वाला उपयोगकर्ता बनता है. इसके बाद, यह देखा जा सकता है कि उपयोगकर्ता को दोहराया गया है या नहीं. इसके बाद, उपयोगकर्ता का खाता मिटा दिया जाता है.
- dc-2 में, यहां दिए गए कॉन्टेंट के साथ
readonly-user.ldif
नाम की फ़ाइल बनाएं:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword}
- dc-2 में `ldapadd` कमांड का इस्तेमाल करके उपयोगकर्ता जोड़ें:
/opt/symas/bin/ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
आउटपुट इस तरह का होगा:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- dc-1 में उपयोगकर्ता को खोजें, ताकि यह पक्का किया जा सके कि उपयोगकर्ता को डुप्लीकेट नहीं किया गया है. अगर उपयोगकर्ता dc-1 में मौजूद नहीं है, तो आपको यह पक्का करना होगा कि दोनों एलडीएपी अब रेप्लिकेट नहीं हो रहे हैं:
/opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL
आउटपुट, इससे मिलता-जुलता होना चाहिए:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- आपने पहले जिस उपयोगकर्ता को सिर्फ़ पढ़ने की अनुमति दी थी उसे हटाएं:
/opt/symas/bin/ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- dc-2 में, यहां दिए गए कॉन्टेंट के साथ
- dc-1 में SymasLDAP को बंद करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- dc-1 पर SymasLDAP कॉम्पोनेंट को अनइंस्टॉल करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
राऊटर
इस सेक्शन में, राउटर को बंद करने का तरीका बताया गया है. राउटर हटाने के बारे में ज़्यादा जानकारी के लिए, सर्वर हटाना लेख पढ़ें.
यहां दिया गया तरीका अपनाकर, dc-1 से राउटर को बंद किया जा सकता है. अगर dc-1 में एक से ज़्यादा राऊटर नोड कॉन्फ़िगर किए गए हैं, तो सभी राऊटर नोड में एक-एक करके यह तरीका अपनाएं
ध्यान दें: यहां यह माना गया है कि राऊटर का हेल्थ-चेक पोर्ट 15999, आपके लोड बैलेंसर में कॉन्फ़िगर किया गया है. साथ ही, पोर्ट 15999 को ब्लॉक करने से राऊटर से कनेक्ट नहीं किया जा सकेगा. पोर्ट को ब्लॉक करने के लिए, आपको रूट ऐक्सेस की ज़रूरत पड़ सकती है.
किसी राउटर को बंद करने के लिए, यह तरीका अपनाएं:
राउटर की रीचेबिलिटी को बंद करें. इसके लिए, हेल्थ चेक पोर्ट 15999 को ब्लॉक करें. पक्का करें कि इस डेटा सेंटर पर रनटाइम ट्रैफ़िक ब्लॉक किया गया हो:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
पुष्टि करें कि राऊटर से कनेक्ट किया जा सकता है:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
आउटपुट, इससे मिलता-जुलता होना चाहिए:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- राउटर का यूयूआईडी पाएं. इसके लिए, यूयूआईडी पाना में दिया गया तरीका अपनाएं.
- राऊटर को बंद करने के लिए:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- संगठन में उपलब्ध गेटवे पॉड की सूची देखने के लिए, यह कमांड डालें:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
पॉड के बारे में जानकारी देखें.
- सर्वर के टाइप को रजिस्टर करने की सुविधा बंद करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- सर्वर का रजिस्ट्रेशन रद्द करें:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
edge-router
को अनइंस्टॉल करें: सर्वर हटाना लेख पढ़ें./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- ब्लॉक किए गए पोर्ट 15999 को चालू करने के लिए,
iptables
नियमों को फ़्लश करें:iptables -F
मैसेज प्रोसेसर
इस सेक्शन में, dc-1 से Message Processor को बंद करने का तरीका बताया गया है. मैसेज प्रोसेसर को हटाने के बारे में ज़्यादा जानकारी के लिए, सर्वर हटाना लेख पढ़ें.
हम यह मान रहे हैं कि dc-1 में 12 नोड वाला क्लस्टर इंस्टॉलेशन है. इसलिए, dc-1 में दो मैसेज प्रोसेसर नोड कॉन्फ़िगर किए गए हैं. दोनों नोड में यहां दिए गए कमांड चलाएं.
- यूयूआईडी पाना में बताए गए तरीके से, मैसेज प्रोसेसर के यूयूआईडी पाएं.
- मैसेज प्रोसेसर को बंद करने के लिए:
apigee-service edge-message-processor stop
- सर्वर के टाइप को रजिस्टर करने की सुविधा बंद करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- किसी एनवायरमेंट को मैसेज प्रोसेसर से अलग करना.
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID"
- सर्वर के टाइप को रजिस्टर करने की सुविधा बंद करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- मैसेज प्रोसेस करने वाले ऐप्लिकेशन को अनइंस्टॉल करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- सर्वर का रजिस्ट्रेशन रद्द करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Qpid सर्वर और Qpidd
इस सेक्शन में, Qpid Server (edge-qpid-server
) और Qpidd (apigee-qpidd
) को बंद करने का तरीका बताया गया है.
dc-1 में दो Qpid नोड कॉन्फ़िगर किए गए हैं. इसलिए, आपको दोनों नोड के लिए यह तरीका अपनाना होगा:
- यूयूआईडी पाएं में बताए गए तरीके से, Qpidd के लिए यूयूआईडी पाएं.
edge-qpid-server
औरapigee-qpidd
को बंद करें:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Analytics और उपभोक्ता ग्रुप की सूची पाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- उपयोगकर्ता ग्रुप से Qpid को हटाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
- Qpid को Analytics ग्रुप से हटाने के लिए:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- Edge इंस्टॉलेशन से Qpid सर्वर को deregister करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Edge इंस्टॉलेशन से Qpid सर्वर को हटाने के लिए:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- सभी नोड पर edge-qpid-server कॉम्पोनेंट को रीस्टार्ट करें, ताकि यह पक्का किया जा सके कि उन कॉम्पोनेंट ने बदलाव को चुन लिया है:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- edge-qpid-server और apigee-qpidd को अनइंस्टॉल करें:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres और Postgresql
जिस डेटा सेंटर को बंद किया जा रहा है उसमें Postgres मास्टर या Postgres स्टैंडबाय हो सकता है. यहां दिए गए सेक्शन में, उन्हें बंद करने का तरीका बताया गया है:
Postgres मास्टर को बंद करना
ध्यान दें: अगर Postgres मास्टर को बंद किया जाता है, तो पक्का करें कि उपलब्ध किसी भी स्टैंडबाय नोड को नए Postgres मास्टर के तौर पर प्रमोट किया गया हो. QPID कतारें डेटा को बफ़र करती हैं. हालांकि, अगर Postgres मास्टर लंबे समय तक उपलब्ध नहीं रहता है, तो आपके पास आंकड़ों का डेटा खोने का जोखिम होता है.
Postgres मास्टर को बंद करने के लिए:
- नीचे दिए गए लिंक में दिए गए निर्देशों का पालन करके, dc-1 Postgres मास्टर नोड का बैक अप लें:
- UUID पाना में बताए गए तरीके से, Postgres सर्वर के UUID पाएं.
- dc-1 पर, मौजूदा मास्टर पर
edge-postgres-server
औरapigee-postgresql
को रोकें:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- dc-2 पर मौजूद स्टैंडबाय नोड पर, इसे मास्टर नोड बनाने के लिए यह कमांड डालें:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
ध्यान दें: अगर आपके पास एक से ज़्यादा स्टैंडबाय Postgres नोड हैं, तो आपको नए मास्टर नोड पर होस्ट एंट्री जोड़नी होंगी. साथ ही, सभी उपलब्ध Postgres स्टैंडबाय नोड के लिए रेप्लिकेशन सेटिंग अपडेट करनी होगी.
नई Postgres मास्टर में होस्ट एंट्री जोड़ने के लिए, यहां दिए गए सेक्शन में दिया गया तरीका अपनाएं:
अगर सिर्फ़ एक स्टैंडबाय नोड बचा है
उदाहरण के लिए, मान लें कि बंद करने से पहले, तीन Postgres नोड कॉन्फ़िगर किए गए थे. आपने मौजूदा मास्टर को बंद कर दिया है और बचे हुए postgres स्टैंडबाय नोड में से किसी एक को मास्टर के तौर पर प्रमोट किया है. स्टैंडबाय नोड को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- नए मास्टर पर, कॉन्फ़िगरेशन फ़ाइल में बदलाव करके ये सेटिंग सेट करें:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- नए मास्टर पर रेप्लिकेशन चालू करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
अगर एक से ज़्यादा स्टैंडबाय नोड बचे हैं
/opt/apigee/customer/application/postgresql.properties
में यह कॉन्फ़िगरेशन जोड़ें:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- पक्का करें कि फ़ाइल /opt/apigee/customer/application/postgresql.properties का मालिकाना हक apigee उपयोगकर्ता के पास हो:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
apigee-postgresql
को रीस्टार्ट करें:apigee-service apigee-postgresql restart
- कॉन्फ़िगरेशन फ़ाइल
/opt/silent.conf
में बदलाव करें औरPG_MASTER
फ़ील्ड को नए Postgres मास्टर के आईपी पते से अपडेट करें. - नीचे दी गई कमांड का इस्तेमाल करके, Postgres का पुराना डेटा हटाएं:
rm -rf /opt/apigee/data/apigee-postgresql/
- स्टैंडबाय नोड पर रेप्लिकेशन सेट अप करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- पुष्टि करें कि Postgres मास्टर को सही तरीके से सेट अप किया गया है. इसके लिए, dc-2 में यह कमांड डालें:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Analytics ग्रुप और उपभोक्ता ग्रुप से Postgresql सर्वर को हटाएं और जोड़ें.
- किसी Analytics ग्रुप से Postgres सर्वर को हटाना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप से पुराने Postgres सर्वर को हटाएं.
- किसी मौजूदा Postgres सर्वर को Analytics ग्रुप में जोड़ना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप में एक नया Postgres सर्वर जोड़ें.
- dc-1 से पुराने postgres सर्वर को अनरजिस्टर करें:
curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- dc-1 से पुराने postgres सर्वर को मिटाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- अब पुराने Postgres मास्टर को बंद किया जा सकता है.
edge-postgres-server
औरapigee-postgresql
को अनइंस्टॉल करें:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
स्टैंडबाय नोड पर रेप्लिकेशन की सेटिंग अपडेट करने के लिए:
Postgres के स्टैंडबाय वर्शन को बंद करना
ध्यान दें: 12 नोड वाले क्लस्टर किए गए इंस्टॉलेशन के दस्तावेज़ में, dc-1 postgresql नोड को मास्टर के तौर पर दिखाया गया है. हालांकि, इस सेक्शन में यह माना गया है कि dc-1 postgresql नोड स्टैंडबाय है और dc-2 postgresql नोड मास्टर है.
Postgres स्टैंडबाय को बंद करने के लिए, यह तरीका अपनाएं:
- यूयूआईडी पाना में दिए गए निर्देशों का पालन करके, Postgres सर्वर के यूयूआईडी पाएं.
- dc-1 में मौजूद मौजूदा स्टैंडबाय नोड पर
apigee-postgresql
को बंद करें:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Analytics ग्रुप और उपभोक्ता ग्रुप से Postgresql सर्वर को हटाएं और जोड़ें.
- किसी Analytics ग्रुप से Postgres सर्वर को हटाना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप से पुराने Postgres सर्वर को हटाएं.
- किसी मौजूदा Postgres सर्वर को Analytics ग्रुप में जोड़ना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप में एक नया Postgres सर्वर जोड़ें.
- dc-1 से पुराने postgres सर्वर को अनरजिस्टर करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- dc-1 से पुराने postgres सर्वर को मिटाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- अब पुराने Postgres मास्टर को बंद किया जा सकता है.
edge-postgres-server
औरapigee-postgresql
को अनइंस्टॉल करें:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper और Cassandra
इस सेक्शन में, दो डेटा सेंटर सेटअप में ZooKeeper और Cassandra सर्वर बंद करने का तरीका बताया गया है.
अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो पक्का करें कि बंद किए जा रहे नोड (इस मामले में dc-1) के सभी रेफ़रंस, बाकी सभी डेटा सेंटर की साइलेंट कॉन्फ़िगरेशन फ़ाइलों से हटा दिए गए हों. जिन Cassandra नोड को बंद करना है उनके होस्ट को
CASS_HOSTS
से हटा दें. बाकी Cassandra नोड,CASS_HOSTS
के ओरिजनल क्रम में ही रहने चाहिए.ZooKeeper के बारे में जानकारी: कॉन्फ़िगरेशन फ़ाइल में
ZK_HOST
प्रॉपर्टी में बदलाव करते समय, आपको वोटर नोड का कोरम बनाए रखना होगा. इससे यह पक्का किया जा सकेगा कि ZooKeeper ensemble काम करता रहे. आपके कॉन्फ़िगरेशन में, वोट करने वाले नोड की संख्या विषम होनी चाहिए. ज़्यादा जानकारी के लिए, Apache ZooKeeper को बनाए रखने से जुड़े टास्क देखें.ZooKeeper और Cassandra सर्वर को बंद करने के लिए:
- नीचे दिए गए लिंक में दिए गए निर्देशों का पालन करके, dc-1 Cassandra और ZooKeeper नोड का बैक अप लें:
उस डेटा सेंटर में मौजूद ZooKeeper और Cassandra सर्वर के यूआईडी की सूची बनाएं जहां Cassandra नोड बंद होने वाले हैं.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- सर्वर के टाइप को रजिस्टर करने की सुविधा बंद करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- सर्वर का रजिस्ट्रेशन रद्द करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- कॉन्फ़िगरेशन फ़ाइल को अपडेट करें. इसमें उन बंद किए गए नोड के आईपी पते शामिल करें जिन्हें
ZK_HOSTS
औरCASS_HOSTS
से हटा दिया गया है.उदाहरण: मान लें कि आपके पास dc-1 में
$IP1 $IP2 $IP3
आईपी और dc-2 में$IP4 $IP5 $IP6
आईपी हैं. साथ ही, आपको dc-1 को बंद करना है. इसके बाद, आपको कॉन्फ़िगरेशन फ़ाइलों से$IP1 $IP2 $IP3
आईपी पते हटाने चाहिए.- कॉन्फ़िगरेशन फ़ाइल में पहले से मौजूद एंट्री:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- कॉन्फ़िगरेशन फ़ाइल की नई एंट्री:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- कॉन्फ़िगरेशन फ़ाइल में पहले से मौजूद एंट्री:
- साइलेंट कॉन्फ़िगरेशन फ़ाइल (चरण e में बदलाव किया गया) को हटाए गए
बंद किए गए नोड के आईपी पतों के साथ अपडेट करें. साथ ही, मैनेजमेंट सर्वर होस्ट करने वाले सभी नोड पर मैनेजमेंट
सर्वर प्रोफ़ाइल चलाएं:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- कॉन्फ़िगरेशन फ़ाइल को उन आईपी पतों से अपडेट करें जिन्हें बंद कर दिया गया है. इसके बाद, सभी राउटर और मैसेज प्रोसेसर नोड पर MP/RMP प्रोफ़ाइल चलाएं:
- अगर Edge Router और Message Processor को एक ही नोड पर कॉन्फ़िगर किया गया है, तो यह कमांड डालें:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
अगर Edge Router और Message Processor को अलग-अलग नोड पर कॉन्फ़िगर किया गया है, तो यह डालें:
राउटर के लिए:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
मैसेज प्रोसेसर के लिए:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- अगर Edge Router और Message Processor को एक ही नोड पर कॉन्फ़िगर किया गया है, तो यह कमांड डालें:
- सभी Qpid नोड को फिर से कॉन्फ़िगर करें. साथ ही, बंद किए गए नोड के आईपी पते को रिस्पॉन्स फ़ाइल से हटा दें:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- सभी Postgres नोड को फिर से कॉन्फ़िगर करें. साथ ही, बंद किए गए नोड के आईपी पतों को रिस्पॉन्स फ़ाइल से हटा दें:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
system_auth
कीस्पेस बदलें. अगर आपने किसी मौजूदा Cassandra नोड पर Cassandra auth की सुविधा चालू की है, तोsystem_auth
keyspace के रेप्लिकेशन फ़ैक्टर को अपडेट करें. इसके लिए, यह कमांड चलाएं:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
इस कमांड से रेप्लिकेशन फ़ैक्टर को
'3'
पर सेट किया जाता है. इसका मतलब है कि क्लस्टर में तीन Cassandra नोड हैं. ज़रूरत के मुताबिक इस वैल्यू में बदलाव करें.इस चरण को पूरा करने के बाद, Cassandra टोपोलॉजी में किसी भी कीस्पेस में
dc-1
नहीं होना चाहिए.- dc-1 पर मौजूद Cassandra नोड को एक-एक करके बंद करें.
Cassandra नोड को बंद करने के लिए, यह कमांड डालें:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- नीचे दिए गए किसी एक निर्देश का इस्तेमाल करके, dc-1 से Cassandra नोड के कनेक्शन की जांच करें:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
इसके अलावा, बंद किए गए नोड पर पुष्टि करने के लिए यह दूसरा निर्देश भी इस्तेमाल किया जा सकता है:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
ऊपर दिए गए कमांड से यह नतीजा मिलना चाहिए:
Mode: DECOMMISSIONED
- dc-2 में मौजूद सभी Cassandra और ZooKeeper नोड के लिए, DS प्रोफ़ाइल चलाएं:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- dc-1 में
apigee-cassandra
औरapigee-zookeeper
को बंद करें:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- dc-1 में
apigee-cassandra
औरapigee-zookeeper
को अनइंस्टॉल करें:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
dc-1 से बाइंडिंग मिटाएं
dc-1 से बाइंडिंग मिटाने के लिए, यह तरीका अपनाएं:
- dc-1 से बाइंडिंग मिटाएं.
- संगठन के तहत उपलब्ध सभी पॉड की सूची बनाएं:
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- यह देखने के लिए कि सभी बाइंडिंग हटा दी गई हैं या नहीं, पॉड से जुड़े सर्वर के यूयूआईडी पाएं:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
अगर इस कमांड से कोई यूयूआईडी नहीं मिलता है, तो इसका मतलब है कि पिछले चरणों में सभी बाइंडिंग हटा दी गई हैं. ऐसे में, अगले चरण को छोड़ा जा सकता है. अगर ऐसा नहीं है, तो अगला चरण पूरा करें.
- पिछले चरण में मिले यूयूआईडी के लिए, सभी सर्वर बाइंडिंग हटाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- संगठन को पॉड से हटाएं:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- संगठन के तहत उपलब्ध सभी पॉड की सूची बनाएं:
- पॉड मिटाएं:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- इलाके की जानकारी मिटाएं.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
इस समय, आपने dc-1 को बंद करने की प्रोसेस पूरी कर ली है.
अन्य जानकारी
समस्या का हल
अगर पिछले चरणों को पूरा करने के बाद भी कुछ पॉड में सर्वर मौजूद हैं, तो सर्वर को डीरजिस्टर करने और मिटाने के लिए, यह तरीका अपनाएं. ध्यान दें: ज़रूरत के हिसाब से टाइप और पॉड बदलें.
- इस कमांड का इस्तेमाल करके, यूयूआईडी पाएं:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- सर्वर का रजिस्ट्रेशन रद्द करें:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- एक-एक करके सर्वर मिटाएं:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
पुष्टि
नीचे दिए गए निर्देशों का इस्तेमाल करके, बंद किए गए इंस्टेंस की पुष्टि की जा सकती है.
मैनेजमेंट सर्वर
- सभी क्षेत्रों में मौजूद मैनेजमेंट सर्वर पर, यहां दी गई कमांड चलाएं.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
- सभी कॉम्पोनेंट पर यह कमांड चलाकर, सभी मैनेजमेंट पोर्ट के लिए पोर्ट की ज़रूरी शर्तों की जांच करें.
curl -v http://MS_IP:8080/v1/servers/self
- Analytics ग्रुप देखें.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/o/ORG/e/ENV/provisioning/axstatus
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
-
सभी Cassandra नोड पर, यह डालें:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
इससे उस नोड के लिए,
running
याnot running
स्टेटस दिखेगा. -
किसी नोड पर, यह कमांड डालें:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
ऊपर दिए गए कमांड से, चालू डेटा सेंटर की जानकारी मिलेगी.
-
ZooKeeper नोड पर, सबसे पहले यह डालें:
echo ruok | nc <host> 2181
इस कमांड से
imok
मिलता है.इसके बाद, यह डालें:
echo stat | nc <host> 2181 | grep Mode
ऊपर दिए गए निर्देश से मिली
Mode
की वैल्यू इनमें से कोई एक होगी:observer
,leader
याfollower
. -
किसी ZooKeeper नोड में, यह कमांड चलाएं:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
-
Postgres के मास्टर नोड पर, यह कमांड चलाएं:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
पुष्टि करें कि जवाब में नोड को मास्टर बताया गया हो.
-
स्टैंडबाय नोड पर, यह कमांड चलाएं:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
पक्का करें कि जवाब में यह पुष्टि की गई हो कि नोड स्टैंडबाय है.
-
नीचे दिए गए कमांड का इस्तेमाल करके, PostgreSQL डेटाबेस में लॉग इन करें:
psql -h localhost -d apigee -U postgres
जब कहा जाए, तब
postgres
उपयोगकर्ता का पासवर्ड डालें (डिफ़ॉल्ट:postgres
).इसके बाद, सबसे ज़्यादा
client_received_start_timestamp
की जांच करने के लिए, यह क्वेरी चलाएं:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Cassandra/ZooKeeper नोड
लॉग
कॉम्पोनेंट के लॉग देखें और पक्का करें कि कोई गड़बड़ी न हो.
- नए मास्टर पर, कॉन्फ़िगरेशन फ़ाइल में बदलाव करके ये सेटिंग सेट करें: