API BaaS-এর জন্য একাধিক ডেটা সেন্টার ইনস্টলেশন

প্রাইভেট ক্লাউড v4.18.01 এর জন্য এজ

আপনি একটি সক্রিয়/সক্রিয় কনফিগারেশন ব্যবহার করে একাধিক ডেটা সেন্টার জুড়ে API BaaS ইনস্টল করতে পারেন। একটি বিদ্যমান BaaS ডেটা সেন্টারে কীভাবে একটি BaaS ডেটা সেন্টার যুক্ত করা যায় এই নথিটি বর্ণনা করে৷

Cassandra ক্লাস্টার এজ এর সাথে শেয়ার করা হলে একটি ডেটা সেন্টার যোগ করা

সমস্ত ডেটা সেন্টারে অবশ্যই একই সংখ্যক ক্যাসান্দ্রা নোড থাকতে হবে। একটি API BaaS ইনস্টলেশন তার নিজস্ব ক্যাসান্দ্রা ক্লাস্টার ব্যবহার করতে পারে, অথবা এটি এজের সাথে একটি ক্যাসান্দ্রা ক্লাস্টার ভাগ করতে পারে।

যদি BaaS ইনস্টলেশন এজের সাথে একটি Cassandra ক্লাস্টার শেয়ার করে, তাহলে নতুন ডেটা সেন্টারে Cassandra নোডগুলি চিনতে কনফিগার করার জন্য আপনাকে মূল ডেটা সেন্টারে ম্যানেজমেন্ট সার্ভার আপডেট করতে হবে।

বিদ্যমান ডেটা সেন্টার আপডেট করা হচ্ছে

একটি নতুন BaaS ডেটা সেন্টার (ডেটা সেন্টার 2) যোগ করার জন্য আপনাকে নতুন ডেটা সেন্টার ইনস্টল এবং কনফিগার করার পদক্ষেপগুলি সম্পাদন করতে হবে, তবে এর জন্য আপনাকে মূল BaaS ডেটা সেন্টার (ডেটা সেন্টার 1) আপডেট করতে হবে। এই পরিবর্তনগুলি প্রয়োজনীয় কারণ:

  • আপনি নতুন ডেটা সেন্টারে নতুন ক্যাসান্ড্রা নোড যোগ করছেন যা বিদ্যমান ডেটা সেন্টার দ্বারা অ্যাক্সেসযোগ্য হতে হবে।
  • ডেটা সেন্টার 2 থেকে তথ্য অন্তর্ভুক্ত করার জন্য আপনাকে BaaS স্ট্যাক নোড দ্বারা ব্যবহৃত প্রতিলিপি তথ্য কনফিগার করতে হবে। ডেটা সেন্টার 2 ইনস্টল না হওয়া পর্যন্ত আপনি সেই কনফিগারেশনটি সম্পাদন করতে পারবেন না।

ডেটা সেন্টার 1-এ এই আপডেটগুলি সম্পাদন করার জন্য, আপনি ডেটা সেন্টার 1 ইনস্টল করার জন্য ব্যবহৃত মূল কনফিগারেশন ফাইলটি আপডেট করুন এবং তারপরে ডেটা সেন্টার 1-এর ক্যাসান্দ্রা নোডগুলিতে অ্যাপিজি-সেটআপ পুনরায় চালু করুন৷ যদি ডেটা সেন্টার 1-এর জন্য ক্যাসান্দ্রা ক্লাস্টার একটি প্রান্তের সাথে ভাগ করা হয় ইনস্টলেশন, তারপর আপনাকে ম্যানেজমেন্ট সার্ভারটিও আপডেট করতে হবে।

কনফিগারেশন ফাইল তৈরি করা হচ্ছে

ডেটা সেন্টার 1 ইনস্টল করার জন্য, API BaaS ইনস্টলেশনে দেখানো কনফিগারেশন ব্যবহার করুন। কনফিগারেশন ফাইলে ডেটা সেন্টার 2 সম্পর্কে কোনও তথ্য অন্তর্ভুক্ত করার প্রয়োজন নেই যখন আপনি ডেটা সেন্টার ইনস্টল করবেন 1. আপনি ডেটা সেন্টার 2 ইনস্টল করার পরে কনফিগারেশন ফাইলে তথ্য যোগ করবেন।

নীচে ডেটা সেন্টার 2-এর কনফিগারেশন ফাইলগুলি দেখানো হয়েছে। এই কনফিগারেশন ফাইলটি অনুমান করে যে আপনি 10টি নোডে dc-2 ইনস্টল করছেন, যেমনটি ইনস্টলেশন টপোলজিসে বর্ণিত হয়েছে। আপনি যদি 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. ক্যাসান্ড্রা ইনস্টল করুন, হয় একটি বিদ্যমান এজ ইনস্টলেশনের অংশ হিসাবে বা BaaS-এর জন্য একটি স্বতন্ত্র ক্লাস্টার হিসাবে:
    1. ইন্টারনেট বা নন-ইন্টারনেট পদ্ধতি ব্যবহার করে dc-2, মেশিন 8-এর প্রথম ক্যাসান্দ্রা নোডে এজ অ্যাপিজি-সেটআপ ইউটিলিটি ইনস্টল করুন। আরও জানতে এজ অ্যাপিজি-সেটআপ ইউটিলিটি ইনস্টল করুন দেখুন।
    2. কমান্ড প্রম্পটে, প্রথম নোডে ক্যাসান্দ্রা ইনস্টল করতে সেটআপ স্ক্রিপ্টটি চালান:
      > /opt/apigee/apigee-setup/bin/setup.sh -pc -f কনফিগার ফাইল

      "-p c" বিকল্পটি ক্যাসান্দ্রা ইনস্টল করার জন্য নির্দিষ্ট করে।

      কনফিগারেশন ফাইলটি "এপিজি" ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য বা পাঠযোগ্য হতে হবে।
    3. dc-2-এ অবশিষ্ট ক্যাসান্ড্রা নোড, মেশিন 9 এবং 10 এর জন্য ধাপ 3 এবং 4 পুনরাবৃত্তি করুন।
  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-এর প্রথম Cassandra নোডে, নতুন dc-1 কনফিগারেশন ফাইলের সাথে setup.sh চালান যাতে dc-2 থেকে Cassandra নোডগুলি অন্তর্ভুক্ত থাকে:
    > /opt/apigee/apigee-setup/bin/setup.sh -pc -f কনফিগার ফাইল
  6. dc-1-এ অবশিষ্ট ক্যাসান্ড্রা নোডগুলির জন্য ধাপ 6 এবং 7 পুনরাবৃত্তি করুন।
  7. আপনি যদি এজ-এর সাথে ভাগ করা dc-1-এর জন্য একটি Cassandra ক্লাস্টারের সাথে সংযোগ করছেন , dc-1-এর ম্যানেজমেন্ট সার্ভার নোডের জন্য কনফিগার ফাইলে dc-2 Cassandra নোড যোগ করুন এবং setup.sh চালান:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f কনফিগার ফাইল
  8. দুটি ডেটা সেন্টারের জন্য সঠিক রেপ্লিকেশন ফ্যাক্টর সহ ক্যাসান্দ্রা কীস্পেস আপডেট করুন। যেকোনও ডাটা সেন্টারের যেকোনো ক্যাসান্দ্রা সার্ভারে আপনাকে শুধুমাত্র একবার এই ধাপটি চালাতে হবে:

    দ্রষ্টব্য : নীচের কমান্ডগুলি প্রতিলিপি ফ্যাক্টরটিকে "3" এ সেট করে, ক্লাস্টারে তিনটি ক্যাসান্ড্রা নোড নির্দেশ করে। আপনার ইনস্টলেশনের জন্য প্রয়োজনীয় হিসাবে এই মান পরিবর্তন করুন.
    1. Cassandra cqlsh ইউটিলিটি শুরু করুন:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Cassandra কীস্পেসের জন্য প্রতিলিপি স্তর সেট করতে "cqlsh>" প্রম্পটে নিম্নলিখিত CQL কমান্ডগুলি চালান:
      1. cqlsh> কীস্পেস পরিবর্তন করুন "Apigee_Baas_dc_1" প্রতিলিপি = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3' };
      2. cqlsh> প্রতিলিপি দিয়ে "Apigee_Baas" কীস্পেস পরিবর্তন করুন = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3' };
      3. cqlsh> কীস্পেস পরিবর্তন করুন "Apigee_Baas_Locks" এর সাথে প্রতিলিপি = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3' };
      4. cqlsh> KEYSPACE "system_traces" পরিবর্তন করুন প্রতিলিপি = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3' };
      5. cqlsh> KEYSPACE "system_auth" পরিবর্তন করুন প্রতিলিপি = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3' };
      6. কমান্ড ব্যবহার করে কীস্পেস দেখুন:
        cqlsh> system.schema_keyspaces থেকে * নির্বাচন করুন;
      7. cqlsh থেকে প্রস্থান করুন:
        cqlsh> প্রস্থান করুন
  9. dc-2-এর সমস্ত ক্যাসান্দ্রা নোডে, dc-1-এর অঞ্চলের নাম উল্লেখ করে, rebuild কমান্ডটি চালান:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP পুনর্নির্মাণ dc-1
  10. প্রতিটি ক্যাসান্দ্রা নোডে "নোডটুল স্ট্যাটাস" চালান এবং যাচাই করুন যে সমস্ত ক্যাসান্দ্রা নোডের 'নিজের' মানের জন্য '100%' আছে:
    > /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 এ ইলাস্টিক সার্চ ইনস্টল করুন:
      > /opt/apigee/apigee-setup/bin/setup.sh -pe -f কনফিগার ফাইল
    3. dc-2 এর নোড 4, 5, এবং 6-এ BaaS স্ট্যাক ইনস্টল করুন :
      > /opt/apigee/apigee-setup/bin/setup.sh -pb -f কনফিগার ফাইল
    4. মেশিন 7 এ BaaS পোর্টাল ইনস্টল করুন:
      > /opt/apigee/apigee-setup/bin/setup.sh -pp -f কনফিগার ফাইল
  12. ডেটা সেন্টার 1 এ BaaS স্ট্যাক নোড আপডেট করুন:
    1. ডেটা সেন্টার 1-এর প্রথম BaaS স্ট্যাক নোডে, একটি এডিটরে /opt/apigee/customer/application/usergrid.properties সম্পাদনা করুন। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    2. usergrid.properties এ নিম্নলিখিত বৈশিষ্ট্য যোগ করুন:
      # dc-2 কনফিগার ফাইলে BAAS_CLUSTER_SEEDS এর মতো একই মান,
      # ডবল কোট ছাড়া।
      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 স্ট্যাক নোডের সর্বাধিক দুটি তালিকা করে। ক্রমানুসারে ঐ দুটি নোড পুনরায় চালু করার পরে, আপনি যে কোনো ক্রমে অবশিষ্ট নোড পুনরায় চালু করতে পারেন।

      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid পুনরায় চালু করুন
  13. BaaS কীস্পেস মান আপডেট করুন। এই কীস্পেসগুলি ইনস্টল করার সময় প্রতিলিপি করার জন্য সেট করতে হবে, তবে রান টাইমে থাকতে হবে না। প্রতিলিপি অপসারণ এছাড়াও ক্যাসান্দ্রা মেমরি সংরক্ষণ করে.

    ?আপনাকে যেকোনও ডাটা সেন্টারের যেকোনো ক্যাসান্দ্রা সার্ভারে এই ধাপটি শুধুমাত্র একবার চালাতে হবে:
    1. Cassandra cqlsh ইউটিলিটি শুরু করুন:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. ক্যাসান্ড্রা কীস্পেসের জন্য প্রতিলিপি স্তর সেট করতে নিম্নলিখিত CQL কমান্ডগুলি চালান:
      1. cqlsh> কীস্পেস পরিবর্তন করুন "Apigee_Baas_dc_1" প্রতিলিপি = { 'class': 'NetworkTopology Strategy', 'dc-1': '3' };
      2. cqlsh> কীস্পেস পরিবর্তন করুন "Apigee_Baas_dc_2" প্রতিলিপি = { 'class': 'NetworkTopology Strategy', 'dc-2': '3' };
      3. কমান্ড ব্যবহার করে কীস্পেস দেখুন:
        cqlsh> system.schema_keyspaces থেকে * নির্বাচন করুন;
      4. cqlsh থেকে প্রস্থান করুন:
        cqlsh> প্রস্থান করুন

দ্বিতীয় ডেটা সেন্টারের এই ইনস্টলেশন এখন সম্পূর্ণ।

আপনি দুটি ডেটা সেন্টারের ইনস্টলেশন এবং কনফিগারেশন সম্পূর্ণ করার পরে, আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে ইনস্টলেশন যাচাই করতে পারেন:

  1. সমস্ত BaaS স্ট্যাক নোডে, স্থিতি পরীক্ষা করুন:
    > কার্ল 0:8080/স্ট্যাটাস
  2. চেক টোকেন API কল কাজ করছে:
    > curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"পাসওয়ার্ড", "ব্যবহারকারীর নাম":" অ্যাডমিন ইমেইল ","পাসওয়ার্ড":" pWord "}'
  3. dc-2 এর জন্য BaaS পোর্টালে লগ ইন করার চেষ্টা করুন। যাচাই করুন, সমস্ত ডেটা dc-2-তে প্রতিলিপি করা হয়েছে, যেমন dc-1-এ তৈরি করা সংগ্রহ।