एपीआई बास के लिए एक से ज़्यादा डेटा सेंटर लगाना

Edge for Private Cloud v. 4.17.09

किसी चालू/चालू डेटा का इस्तेमाल करके, कई डेटा सेंटर पर API BaaS इंस्टॉल किया जा सकता है कॉन्फ़िगरेशन. इस दस्तावेज़ में, मौजूदा BaaS डेटा में BaaS डेटा सेंटर को जोड़ने का तरीका बताया गया है बीच में.

डेटा केंद्र जोड़ने से पहले कैसंड्रा क्लस्टर को Edge के साथ शेयर किया गया है

सभी डेटा सेंटर में कैसंड्रा नोड की संख्या समान होनी चाहिए. API BaaS इंस्टॉलेशन से अपने खुद के Cassandra क्लस्टर का इस्तेमाल करती हैं या यह Edge के साथ Cassandra क्लस्टर को शेयर कर सकती हैं.

अगर BaaS इंस्टॉलेशन, Edge के साथ Cassandra क्लस्टर शेयर करता है, तो आपको ओरिजनल डेटा सेंटर में मौजूद मैनेजमेंट सर्वर को कॉन्फ़िगर करने के लिए, ताकि कैसंड्रा नोड को पहचाना जा सके नया डेटा सेंटर है.

मौजूदा डेटा सेंटर को अपडेट करना

नए BaaS डेटा सेंटर (डेटा सेंटर 2) को जोड़ने के लिए, आपको ऐप्लिकेशन इंस्टॉल करने और नए डेटा सेंटर को कॉन्फ़िगर करें. हालांकि, इसके लिए आपको मूल BaaS डेटा सेंटर को अपडेट करना होगा (डेटा केंद्र 1) . ये बदलाव इसलिए ज़रूरी हैं, क्योंकि:

  • आप नए डेटा सेंटर में नए कैसंड्रा नोड जोड़ रहे हैं, जिसे मौजूदा डेटा सेंटर में ट्रांसफ़र किया जा सकता है.
  • आपको डेटा में BaaS स्टैक नोड की ओर से इस्तेमाल की जाने वाली प्रतिकृति जानकारी कॉन्फ़िगर करनी होगी डेटा सेंटर 2 की जानकारी शामिल करने के लिए, सेंटर 1 में. इस कॉन्फ़िगरेशन को तब तक पूरा नहीं किया जा सकता, जब तक डेटा सेंटर 2 इंस्टॉल हो गया है.

डेटा सेंटर 1 पर ये अपडेट करने के लिए, आपको उस मूल कॉन्फ़िगरेशन फ़ाइल को अपडेट करना होगा जिसका इस्तेमाल करके किया गया था डेटा सेंटर 1 को इंस्टॉल करें और फिर डेटा के कसांड्रा नोड पर apigee-setup को फिर से चलाएं केंद्र 1. अगर डेटा सेंटर 1 के लिए Cassandra क्लस्टर को Edge इंस्टॉलेशन के साथ शेयर किया गया है, तो आपको मैनेजमेंट सर्वर को भी अपडेट करना होगा.

कॉन्फ़िगरेशन फ़ाइलें बनाना

डेटा सेंटर 1 को इंस्टॉल करने के लिए, API BaaS इंस्टॉलेशन पर दिखाए गए कॉन्फ़िगरेशन का इस्तेमाल करें. कॉन्फ़िगरेशन फ़ाइल को यह करने की ज़रूरत नहीं है डेटा सेंटर 1 को इंस्टॉल करते समय, डेटा सेंटर 2 के बारे में कोई भी जानकारी शामिल करें.आपको डेटा सेंटर इंस्टॉल करने के बाद, कॉन्फ़िगरेशन फ़ाइल में जानकारी को सेव करता है 2.

डेटा सेंटर 2 की कॉन्फ़िगरेशन फ़ाइलें यहां दिखाई गई हैं. यह कॉन्फ़िगरेशन फ़ाइल मान लेती है कि 10 नोड पर dc-2 इंस्टॉल कर रहे हैं, जैसा कि इंस्टॉलेशन Topologies में बताया गया है. इस फ़ाइल में ज़रूरत के मुताबिक बदलाव करें, अगर 7 नोड पर इंस्टॉल कर रहे हैं.

ध्यान दें कि डेटा सेंटर 2 (dc-2) की कॉन्फ़िगरेशन फ़ाइल में डेटा सेंटर 1 के बारे में जानकारी है (dc-1):

# Specify IP address or DNS name of node for dc-2.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra dc-2 (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra dc-2 (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra dc-2 (shared with Edge or standalone)

# Specify node information for dc-1
IP11=192.168.1.11   # Cassandra dc-1 (shared with Edge or standalone)
IP12=192.168.1.12   # Cassandra dc-1 (shared with Edge or standalone)
IP13=192.168.1.13   # Cassandra dc-1 (shared with Edge or standalone)
IP14=192.168.1.14   # API BaaS Stack
IP15=192.168.1.15   # API BaaS Stack

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Specify Cassandra data center and rack suffix.
# List dc-2 nodes first, then dc-1.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1"

# Specify the Cassandra region.
REGION=dc-2

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name as dc-2.
BAAS_CASS_LOCALDC=dc-2    

# Specify both data centers.
BAAS_CASS_DC_LIST=dc-1,dc-2

# Replication is in the form "dataCenterName:#CassandraNodes". 
# Specify both data centers.
BAAS_CASS_REPLICATION=dc-1:3,dc-2:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes per data center.
# Specify both data centers. 
BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces, for dc-2.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

BaaS डेटा सेंटर जोड़ें

  1. API BaaS पर बताए गए तरीके से पहला डेटा सेंटर इंस्टॉल करें इंस्टॉल करना. उस दस्तावेज़ में वह कॉन्फ़िगरेशन फ़ाइल शामिल है जिसका इस्तेमाल डेटा इंस्टॉल करने के लिए किया जाता है केंद्र 1.
  2. ऊपर बताए गए तरीके से, dc-2 के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं.
  3. Cassandra को या तो मौजूदा Edge इंस्टॉलेशन के हिस्से के रूप में या स्टैंडअलोन के रूप में इंस्टॉल करें BaaS के लिए क्लस्टर:
    1. सबसे पहले Edge apigee-setup सुविधा इंस्टॉल करें इंटरनेट या गैर-इंटरनेट प्रोसेस का इस्तेमाल करने वाला dc-2, मशीन 8 का कैसंड्रा नोड. यहां जाएं: Edge apigee-सेटअप इंस्टॉल करना उपयोगिता के बारे में ज़्यादा जानें.
    2. कमांड प्रॉम्प्ट पर, पहले नोड पर कैसंड्रा इंस्टॉल करने के लिए सेटअप स्क्रिप्ट चलाएं:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है “-p c” विकल्प कैसंड्रा को इंस्टॉल करने के बारे में बताता है.
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है कॉन्फ़िगरेशन फ़ाइल ऐसी होनी चाहिए जिसे "apigee" ऐक्सेस कर सके या पढ़ सके उपयोगकर्ता.
    3. बचे हुए कैसंड्रा नोड, मशीन 9 और 10 के लिए, तीसरे और चौथे चरण को दोहराएं dc-2.
  4. dc-1 के कैसंड्रा नोड पर, कॉन्फ़िगरेशन फ़ाइल में बदलाव करके कैसंड्रा नोड जोड़ें डेटा सेंटर 2, इस आधार पर तय किया गया है कि आपने कैसेंड्रा को इंस्टॉल किया है:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है # पहले dc-1 नोड की सूची बनाएं, फिर dc-2 की सूची बनाएं,
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है # में कैसंड्रा डेटा सेंटर और रैक सफ़िक्स शामिल है
    CASS_HostS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. dc-1 के पहले केसंड्रा नोड पर, नई dc-1 कॉन्फ़िगरेशन फ़ाइल के साथ setup.sh चलाएं dc-2 के कैसंड्रा नोड शामिल हैं:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. dc-1 में बचे हुए कैसेंड्रा नोड के लिए छठा और सातवां चरण दोहराएं.
  7. अगर आप Edge के साथ शेयर किए गए dc-1 के Cassandra क्लस्टर से कनेक्ट कर रहे हैं, dc-1 के Management Server नोड के लिए कॉन्फ़िगरेशन फ़ाइल में dc-2 कैसंड्रा नोड जोड़ें और चलाएं setup.sh:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. दो डेटा सेंटर के लिए सही प्रतिकृति कारक के साथ Cassandra कीस्पेस को अपडेट करें. आपने लोगों तक पहुंचाया मुफ़्त में दोनों में से किसी भी डेटा सेंटर में, किसी भी कैसंड्रा सर्वर पर इस चरण को सिर्फ़ एक बार चलाना होगा:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ध्यान दें: नीचे दिए गए सभी निर्देश, रेप्लिकेशन फ़ैक्टर को "3" पर सेट करते हैं. इससे यह पता चलता है कि क्लस्टर में तीन कैसंड्रा नोड हैं. अपनी स्थापना के लिए ज़रूरत के अनुसार इस मान को बदलें.
    1. Cassandra cqlsh उपयोगिता शुरू करें:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. "cqlsh>" पर ये CQL कमांड लागू करें रेप्लिकेशन सेट करने का प्रॉम्प्ट कैसेंड्रा कीस्पेस के लिए लेवल:
      1. cqlsh&gt; बदलाव KEYSPACE "Apigee_Baas_dc_1" WITH रेप्लिकेशन = { 'क्लास': 'Network टॉपोलॉजी स्ट्रैटेजी', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; बदलाव KEYSPACE "Apigee_Baas" WITH रेप्लिकेशन = { 'क्लास': 'NetworkTop ScienceStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; बदलाव KEYSPACE "Apigee_Baas_Locks" WITH रेप्लिकेशन = { 'क्लास': 'Network टॉपोलॉजी स्ट्रैटेजी', 'dc-1': '3','dc-2': '3' };
      4. cqlsh&gt; अन्य मुख्य स्पेस "system_traces" WITH रेप्लिकेशन = { 'क्लास': 'NetworkTop ScienceStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh&gt; बदलाव KEYSPACE "system_auth" WITH रेप्लिकेशन = { 'क्लास': 'NetworkTop ScienceStrategy', 'dc-1': '3','dc-2': '3' };
      6. आदेश का उपयोग करके कीस्पेस देखें:
        cqlsh&gt; इनमें से * चुनें system.schema_keyspaces;
      7. cqlsh से बाहर निकलें:
        cqlsh&gt; बाहर निकलें
  9. dc-2 में सभी कैसंड्रा नोड पर, रीबिल्ड कमांड चलाएं, और dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP रीबिल्ड dc-1
  10. "नोडेटूल स्थिति" चलाएं और पुष्टि करें कि सभी कैसंड्रा नोड में 'मालिकाना हक' वैल्यू के लिए '100%':
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool स्थिति
  11. dc-2 में BaaS इंस्टॉल करें:
    1. dc-2 में केवल कैसंड्रा नोड को सूचीबद्ध करने के लिए कॉन्फ़िगरेशन फ़ाइल में बदलाव करें:
      # dc-2 कैसंड्रा नोड की सूची बनाएं,
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है # कैसंड्रा डेटा सेंटर और रैक सफ़िक्स को छोड़ा जा रहा है
      CASS_HostS="$IP8 $IP9 $IP10"
    2. dc-2 के नोड 4, 5, और 6 पर ElasticSearch इंस्टॉल करें:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. dc-2 के नोड 4, 5, और 6 पर BaaS Stack इंस्टॉल करें:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. मशीन 7 पर BaaS पोर्टल को इंस्टॉल करें:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. डेटा सेंटर 1 में BaaS स्टैक नोड अपडेट करें:
    1. डेटा सेंटर 1 के पहले BaaS स्टैक नोड पर, /opt/apigee/customer/application/usergrid.properties में बदलाव करें एक एडिटर में. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    2. इन प्रॉपर्टी को usergrid.properties में जोड़ें:
      # वही मान जो BAAS_ बच्चों के लिए है BAAS_ दूसरे तरह का उपकरण_SEEDS dc-2 कॉन्फ़िगरेशन फ़ाइल में,
      # डबल कोट के बिना.
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है # वही वैल्यू जो dc-2 कॉन्फ़िगरेशन फ़ाइल में BAAS_CASS_DC_LIST में है.
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. बचे हुए BaaS स्टैक नोड पर, a और b के चरण दोहराएं.
    4. सभी BaaS स्टैक नोड को रीस्टार्ट करें.
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ध्यान दें: BaaS स्टैक नोड को रीस्टार्ट करते समय, उन्हें उसी मोड में फिर से चालू करें उसी क्रम में उन्हें BAAS_CLUSTER_SEEDS में सूचीबद्ध किया जाता है. BAAS_CLUSTER_SEEDS सूचियां: दो स्टैक नोड में से ज़्यादातर पर दिए जाते हैं. उन दो नोड को क्रम से फिर से शुरू करने के बाद, आप बचे हुए नोड किसी भी क्रम में हो जाते हैं.
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid रीस्टार्ट
  13. BaaS कीस्पेस वैल्यू को अपडेट करें. इन कीस्पेस को इंस्टॉल के समय प्रतिकृति के लिए सेट करना होगा, लेकिन यह ज़रूरी नहीं है कि यह रन टाइम का हो. रेप्लिकेशन हटाने से कैसंड्रा मेमोरी भी सेव होती है.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है आपको दोनों में से किसी भी डेटा सेंटर में किसी भी कैसेंड्रा सर्वर पर इस चरण को केवल एक बार चलाना है:
    1. Cassandra cqlsh उपयोगिता शुरू करें:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. कैसंड्रा के रेप्लिकेशन लेवल को सेट करने के लिए, नीचे दिए गए CQL कमांड चलाएं कीस्पेस:
      1. cqlsh&gt; अन्य मुख्य स्पेस &quot;Apigee_Baas_dc_1&quot; WITH रेप्लिकेशन = { 'क्लास': 'NetworkTopोलॉजीStrategy', 'dc-1': '3' };
      2. cqlsh&gt; अन्य मुख्य स्पेस &quot;Apigee_Baas_dc_2&quot; WITH रेप्लिकेशन = { 'क्लास': 'Network टॉपोलॉजी स्ट्रैटेजी', 'dc-2': '3' };
      3. आदेश का उपयोग करके कीस्पेस देखें:
        cqlsh&gt; इनमें से * चुनें system.schema_keyspaces;
      4. cqlsh से बाहर निकलें:
        cqlsh&gt; बाहर निकलें

दूसरे डेटा सेंटर की यह इंस्टॉलेशन अब पूरी हो गई है.

दोनों डेटा सेंटर के इंस्टॉलेशन और कॉन्फ़िगरेशन पूरा करने के बाद, नीचे दी गई प्रक्रिया का इस्तेमाल करके इंस्टॉलेशन की पुष्टि करें:

  1. सभी BaaS स्टैक नोड पर, स्टेटस देखें:
    &gt; कर्ल 0:8080/स्टेटस
  2. देखें कि टोकन एपीआई कॉल काम कर रहा है या नहीं:
    &gt; कर्ल -X पीओएसटी &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":adminEmail","passwordpWord"}'
  3. dc-2 के लिए, BaaS पोर्टल में लॉग इन करके देखें. पुष्टि करें कि सभी डेटा dc-2 में कॉपी किया गया है, जैसे कि dc-1 पर बनाए गए कलेक्शन.