Edge for Private Cloud v. 4.17.01
আপনি অ্যাক্টিভ/অ্যাক্টিভ কনফিগারেশন ব্যবহার করে একাধিক ডেটা সেন্টার জুড়ে API BaaS ইনস্টল করতে পারবেন। এই ডকুমেন্ট থেকে জানা যাবে যে আগে থেকে থাকা BaaS ডেটা সেন্টারে কীভাবে BaaS ডেটা সেন্টার যোগ করতে হয়।
Cassandra ক্লাস্টার Edge-এর সাথে শেয়ার করা হলে ডেটা সেন্টার যোগ করা
সব ডেটা সেন্টারে একই সংখ্যক Cassandra নোড থাকতে হবে। API BaaS ইনস্টলেশন নিজস্ব Cassandra ক্লাস্টার ব্যবহার করতে পারে অথবা Edge-এর সাথে Cassandra ক্লাস্টার শেয়ার করতে পারে।
BaaS ইনস্টলেশন যদি Edge-এর সাথে Cassandra ক্লাস্টার শেয়ার করে, তাহলে আপনাকে আসল ডেটা সেন্টারে ম্যানেজমেন্ট সার্ভার আপডেট করতে হবে যাতে এটি নতুন ডেটা সেন্টারে Cassandra নোড শনাক্ত করার জন্য কনফিগার করা যায়।
আগে থেকে থাকা ডেটা সেন্টার আপডেট করা হচ্ছে
নতুন BaaS ডেটা সেন্টার (ডেটা সেন্টার ২) যোগ করার জন্য আপনাকে নতুন ডেটা সেন্টার ইনস্টল ও কনফিগার করার ধাপগুলি সম্পূর্ণ করতে হবে, তবে এর পাশাপাশি আপনাকে আসল BaaS ডেটা সেন্টারও (ডেটা সেন্টার ১) আপডেট করতে হবে। এইসব পরিবর্তন করা প্রয়োজন কারণ:
- আপনি নতুন ডেটা সেন্টারে নতুন Cassandra নোড যোগ করছেন যা আগে থেকে থাকা ডেটা সেন্টার দ্বারা অ্যাক্সেসযোগ্য হতে হবে।
- ডেটা সেন্টার ২ থেকে তথ্য অন্তর্ভুক্ত করার জন্য আপনাকে ডেটা সেন্টার ১-এ BaaS স্ট্যাক নোড দ্বারা ব্যবহৃত রেপ্লিকেশন তথ্য কনফিগার করতে হবে। ডেটা সেন্টার ২ ইনস্টল না করা পর্যন্ত আপনি সেই কনফিগারেশন করতে পারবেন না।
ডেটা সেন্টার ১-এ এইসব আপডেট করতে, ডেটা সেন্টার ১ ইনস্টল করার জন্য ব্যবহৃত আসল কনফিগারেশন ফাইল আপডেট করুন এবং তারপরে ডেটা সেন্টার ১-এর Cassandra নোডে apigee-setup আবার রান করুন। ডেটা সেন্টার ১-এর Cassandra ক্লাস্টার যদি কোনও Edge ইনস্টলেশনের সাথে শেয়ার করা হয়, তাহলে আপনাকে ম্যানেজমেন্ট সার্ভারও আপডেট করতে হবে।
কনফিগারেশন ফাইল তৈরি করা হচ্ছে
ডেটা সেন্টার ১ ইনস্টল করার জন্য, API BaaS ইনস্টলেশন-এ দেখানো কনফিগারেশন ব্যবহার করুন। ডেটা সেন্টার ১ ইনস্টল করার সময় কনফিগারেশন ফাইলে ডেটা সেন্টার ২ সম্পর্কে কোনও তথ্য যোগ করার প্রয়োজন নেই। ডেটা সেন্টার ২ ইনস্টল করার পরে আপনি কনফিগারেশন ফাইলে তথ্য যোগ করতে পারবেন।
ডেটা সেন্টার ২-এর কনফিগারেশন ফাইল নিচে দেখানো হয়েছে। এই কনফিগারেশন ফাইল ধরে নেয় যে আপনি ১০টি নোডে dc-2 ইনস্টল করছেন, যেমনটি ইনস্টলেশন টপোলজি-তে বর্ণনা করা হয়েছে। আপনি ৭টি নোডে ইনস্টল করলে, সেই অনুযায়ী এই ফাইলটি পরিবর্তন করুন।
লক্ষ্য করুন যে ডেটা সেন্টার ২ (dc-2)-এর কনফিগ ফাইলে ডেটা সেন্টার ১ (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
BaaS ডেটা সেন্টার যোগ করুন
- API BaaS ইনস্টলেশন-এ যেভাবে বর্ণনা করা হয়েছে সেইভাবে প্রথম ডেটা সেন্টার ইনস্টল করুন। সেই ডকুমেন্টে কনফিগারেশন ফাইল অন্তর্ভুক্ত থাকে যা আপনি ডেটা সেন্টার ১ ইনস্টল করতে ব্যবহার করেন।
- উপরে যেভাবে উল্লেখ করা আছে সেইভাবে dc-2-এর জন্য কনফিগারেশন ফাইল তৈরি করুন।
- Cassandra ইনস্টল করুন, হয় আগে থেকে থাকা Edge ইনস্টলেশনের অংশ হিসেবে অথবা BaaS-এর জন্য স্ট্যান্ডঅ্যালোন
ক্লাস্টার হিসেবে:
- ইন্টারনেট বা নন-ইন্টারনেট পদ্ধতি ব্যবহার করে dc-2, মেশিন 8-এর প্রথম Cassandra নোডে Edge apigee-setup ইউটিলিটি ইনস্টল করুন। আরও জানতে Edge apigee-setup ইউটিলিটি ইনস্টল করুন দেখুন।
- কমান্ড প্রম্পটে, প্রথম নোডে Cassandra ইনস্টল করতে সেটআপ স্ক্রিপ্ট রান করুন:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
“-p c” বিকল্পটি Cassandra ইনস্টল করার জন্য নির্দিষ্ট করে।
"apigee" ব্যবহারকারীর কাছে কনফিগারেশন ফাইল অ্যাক্সেসযোগ্য বা পাঠযোগ্য হতে হবে। - dc-2-এ বাকি Cassandra নোড, মেশিন 9 এবং 10-এর জন্য 3 এবং 4 নম্বর ধাপগুলি পুনরাবৃত্তি করুন।
- dc-1-এর Cassandra নোডে, আপনি কীভাবে Cassandra ইনস্টল করেছেন তার উপর ভিত্তি করে ডেটা সেন্টার ২ থেকে Cassandra নোড যোগ করতে কনফিগারেশন ফাইল এডিট করুন:
# প্রথমে dc-1 নোডের তালিকা, তারপর dc-2,
# Cassandra ডেটা সেন্টার এবং র্যাক সাফিক্স সহ
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - dc-1-এর প্রথম Cassandra নোডে, নতুন dc-1 কনফিগ ফাইলের সাথে setup.sh রান করুন,
যার মধ্যে dc-2 থেকে Cassandra নোড অন্তর্ভুক্ত:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - dc-1-এ বাকি Cassandra নোডের জন্য ৬ ও ৭ নম্বর ধাপ আবার করুন।
- আপনি যদি Edge-এর সাথে শেয়ার করা dc-1-এর জন্য Cassandra ক্লাস্টারে কানেক্ট করেন,
dc-1-এর ম্যানেজমেন্ট সার্ভার নোডের জন্য কনফিগারেশন ফাইলে dc-2 Cassandra নোড যোগ করুন এবং
setup.sh রান করুন:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - দুটি ডেটা সেন্টারের জন্য সঠিক রেপ্লিকেশন ফ্যাক্টর সহ Cassandra কীস্পেস আপডেট করুন। আপনাকে
যেকোনও ডেটা সেন্টারের যেকোনও Cassandra সার্ভারে এই ধাপটি একবারই রান করতে হবে:
মনে রাখবেন: নিচের সব কমান্ড রেপ্লিকেশন ফ্যাক্টর "৩" হিসেবে সেট করে, যা ক্লাস্টারে তিনটি Cassandra নোডকে নির্দেশ করে। আপনার ইনস্টলেশনের জন্য প্রয়োজন অনুযায়ী এই ভ্যালু পরিবর্তন করুন।- Cassandra cqlsh ইউটিলিটি শুরু করুন:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Cassandra কীস্পেসের জন্য রেপ্লিকেশন লেভেল সেট করতে "cqlsh>" প্রম্পটে নিম্নলিখিত CQL কমান্ডগুলি
এক্সিকিউট করুন:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- এই কমান্ড ব্যবহার করে কীস্পেস দেখুন:
cqlsh> select * from system.schema_keyspaces; - cqlsh থেকে বেরিয়ে আসুন:
cqlsh> exit
- Cassandra cqlsh ইউটিলিটি শুরু করুন:
- dc-2-এর সব Cassandra নোডে, dc-1-এর অঞ্চলের নাম উল্লেখ করে, রিবিল্ড কমান্ড রান করুন:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - প্রতিটি Cassandra নোডে "nodetool status" রান করুন এবং যাচাই করুন যে সব Cassandra নোডের
‘Owns’ ভ্যালু ‘100%’ আছে:
> /opt/apigee/apigee-cassandra/bin/nodetool status - dc-2-এ BaaS ইনস্টল করুন:
- dc-2-তে শুধু Cassandra নোড তালিকাভুক্ত করতে কনফিগ ফাইল এডিট করুন:
# dc-2 Cassandra নোড তালিকাভুক্ত করুন,
# Cassandra ডেটা সেন্টার এবং র্যাক সাফিক্স বাদ দিয়ে
CASS_HOSTS="$IP8 $IP9 $IP10" - dc-2-এর নোড 4, 5, এবং 6-এ ElasticSearch ইনস্টল করুন:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - dc-2-এর 4, 5, এবং 6 নোডে BaaS স্ট্যাক ইনস্টল করুন:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - মেশিন ৭-এ BaaS পোর্টাল ইনস্টল করুন:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- dc-2-তে শুধু Cassandra নোড তালিকাভুক্ত করতে কনফিগ ফাইল এডিট করুন:
- ডেটা সেন্টার ১-এ BaaS স্ট্যাক নোড আপডেট করুন:
- ডেটা সেন্টার ১-এর প্রথম BaaS স্ট্যাক নোডে, একটি এডিটরে /opt/apigee/customer/application/usergrid.properties এডিট করুন। ফাইলটি না থাকলে, এটি তৈরি করুন।
- 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 - বাকি BaaS Stack নোডে 'ক' ও 'খ' ধাপগুলি আবার করুন।
- সব BaaS Stack নোড রিস্টার্ট করুন।
মনে রাখবেন: BaaS Stack নোড রিস্টার্ট করার সময়, BAAS_CLUSTER_SEEDS-এ যে ক্রমে তালিকাভুক্ত করা আছে সেই ক্রমেই রিস্টার্ট করুন। BAAS_CLUSTER_SEEDS-এ সর্বাধিক দুটি Stack নোডের তালিকা থাকে। এই দুটি নোড ক্রমানুসারে রিস্টার্ট করার পরে, আপনি যেকোনও ক্রমে বাকি নোডগুলি রিস্টার্ট করতে পারবেন।
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- BaaS কীস্পেস ভ্যালু আপডেট করুন। ইনস্টল করার সময় রেপ্লিকেশনের জন্য এই কীস্পেস সেট করতে হবে,
তবে রান টাইমে করতে হবে না। রেপ্লিকেশন সরিয়ে দিলে Cassandra মেমরিও সেভ হয়।
আপনাকে যেকোনও ডেটা সেন্টারের যেকোনও Cassandra সার্ভারে এই ধাপটি একবারই রান করতে হবে:- Cassandra cqlsh ইউটিলিটি শুরু করুন:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Cassandra কীস্পেসের জন্য রেপ্লিকেশন লেভেল সেট করতে নিম্নলিখিত CQL কমান্ডগুলি এক্সিকিউট করুন:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- এই কমান্ড ব্যবহার করে কীস্পেস দেখুন:
cqlsh> select * from system.schema_keyspaces; - cqlsh থেকে বেরিয়ে আসুন:
cqlsh> exit
- Cassandra cqlsh ইউটিলিটি শুরু করুন:
দ্বিতীয় ডেটা সেন্টারের এই ইনস্টলেশন এখন সম্পূর্ণ হয়েছে।
দুটি ডেটা সেন্টারের ইনস্টলেশন ও কনফিগারেশন সম্পূর্ণ করার পরে, আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে ইনস্টলেশন যাচাই করতে পারবেন:
- সব BaaS Stack নোডে, স্ট্যাটাস চেক করুন:
> curl 0:8080/status - টোকেন API কল কাজ করছে কিনা তা চেক করুন:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - dc-2-এর জন্য BaaS পোর্টালে লগ-ইন করার চেষ্টা করুন। dc-2-তে সব ডেটা রেপ্লিকেট করা হয়েছে কিনা তা যাচাই করুন, যেমন dc-1-এ তৈরি করা কালেকশন।