ইনস্টলেশন সংক্রান্ত প্রয়োজনীয়তা

হার্ডওয়্যার সংক্রান্ত প্রয়োজনীয়তা

প্রোডাকশন গ্রেড এনভায়রনমেন্টে অত্যন্ত উপলভ্য ইনফ্রাস্ট্রাকচারের জন্য আপনাকে অবশ্যই নিম্নলিখিত ন্যূনতম হার্ডওয়্যার সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে হবে।

নিচের ভিডিওটি আপনার ইনস্টলেশনের জন্য হাই-লেভেল সাইজিং সংক্রান্ত নির্দেশিকা প্রদান করে:

ইনস্টলেশন টপোলজি-তে বর্ণিত সমস্ত ইনস্টলেশন পরিস্থিতির জন্য, নিম্নলিখিত সারণী ইনস্টলেশন কম্পোনেন্টগুলির ন্যূনতম হার্ডওয়্যার সংক্রান্ত প্রয়োজনীয়তা তালিকাভুক্ত করে।

এইসব টেবিলে হার্ড ডিস্কের প্রয়োজনীয়তা অপারেটিং সিস্টেমের জন্য প্রয়োজনীয় হার্ড ডিস্ক স্পেসের অতিরিক্ত। আপনার অ্যাপ্লিকেশন ও নেটওয়ার্ক ট্রাফিকের উপর নির্ভর করে, আপনার ইনস্টলেশনের জন্য নিচে তালিকাভুক্ত রিসোর্সের থেকে বেশি বা কম রিসোর্স প্রয়োজন হতে পারে।

ইনস্টলেশন কম্পোনেন্ট RAM CPU ন্যূনতম হার্ড ডিস্ক
Cassandra (স্ট্যান্ডঅ্যালোন) ১৬ জিবি ৮-কোর SSD-এর সাথে ২৫০ জিবি লোকাল স্টোরেজ যা ২০০০ IOPS-এ কাজ করে
একই মেশিনে Cassandra/Zookeeper ১৬ জিবি ৮-কোর SSD-এর সাথে ২৫০ জিবি লোকাল স্টোরেজ যা ২০০০ IOPS-এ কাজ করে
একই মেশিনে মেসেজ প্রসেসর/রাউটার ১৬ জিবি ৮-কোর ১০০ জিবি
মেসেজ প্রসেসর (স্ট্যান্ডঅ্যালোন) ১৬ জিবি ৮-কোর ১০০ জিবি
রাউটার (স্ট্যান্ডঅ্যালোন) ৮ জিবি ৮-কোর ১০০ জিবি
Analytics - Postgres/Qpid একই সার্ভারে ১৬ জিবি* ৮‑কোর* ৫০০ জিবি - ১ টিবি** নেটওয়ার্ক স্টোরেজ***, SSD ব্যাকএন্ড থাকলে ভাল হয়, ১০০০ IOPS বা তার বেশি*
Analytics - Postgres মাস্টার বা স্ট্যান্ডবাই স্বতন্ত্র ১৬ জিবি* ৮-কোর* ৫০০ জিবি - ১ টিবি** নেটওয়ার্ক স্টোরেজ***, SSD ব্যাকএন্ড থাকলে ভাল হয়, ১০০০ IOPS বা তার বেশি*
Analytics - Qpid (স্ট্যান্ডঅ্যালোন) ৮ জিবি ৪-কোর SSD সহ ৩০GB - ৫০GB লোকাল স্টোরেজ

ডিফল্ট Qpid কিউ সাইজ হল ১ জিবি, যা বাড়িয়ে ২ জিবি করা যেতে পারে। আপনার আরও ক্ষমতা প্রয়োজন হলে, অতিরিক্ত Qpid নোড যোগ করুন।

OpenLDAP/UI/ম্যানেজমেন্ট সার্ভার ৮ জিবি ৪-কোর ৬০ জিবি
UI/ম্যানেজমেন্ট সার্ভার ৪ জিবি ২-কোর ৬০ জিবি
OpenLDAP (স্ট্যান্ডঅ্যালোন) ৪ জিবি ২-কোর ৬০ জিবি

* থ্রুপুটের উপর ভিত্তি করে Postgres সিস্টেমের প্রয়োজনীয়তা অ্যাডজাস্ট করুন:

  • ২৫০ TPS-এর কম: ম্যানেজ করা নেটওয়ার্ক স্টোরেজ*** সহ ৮ জিবি, ৪-কোর বিবেচনা করা যেতে পারে যা ১০০০ IOPS বা তার বেশি কাজ করে
  • ২৫০ TPS-এর বেশি: ১৬ জিবি, ৮-কোর, ম্যানেজ করা নেটওয়ার্ক স্টোরেজ*** ১০০০ IOPS বা তার বেশি কাজ করে
  • ১০০০ TPS-এর বেশি: ১৬ জিবি, ৮-কোর, ম্যানেজ করা নেটওয়ার্ক স্টোরেজ*** ২০০০ IOPS বা তার বেশি কাজ করতে পারে
  • ২০০০-এর বেশি TPS: ৩২ জিবি, ১৬-কোর, ম্যানেজ করা নেটওয়ার্ক স্টোরেজ*** ২০০০ IOPS বা তার বেশি কাজ করতে পারে
  • ৪০০০ TPS-এর বেশি: ৬৪ জিবি, ৩২-কোর, ম্যানেজ করা নেটওয়ার্ক স্টোরেজ*** ৪০০০ IOPS বা তার বেশি কাজ করে

** Postgres হার্ড ডিস্কের ভ্যালু Edge-এর মাধ্যমে ক্যাপচার করা বক্সের বাইরে থাকা অ্যানালিটিক্সের উপর ভিত্তি করে তৈরি হয়। আপনি যদি অ্যানালিটিক্স ডেটাতে কাস্টম ভ্যালু যোগ করেন, তাহলে সেই অনুযায়ী এইসব ভ্যালু বাড়াতে হবে। প্রয়োজনীয় স্টোরেজ অনুমান করতে নিম্নলিখিত ফর্মুলা ব্যবহার করুন:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

যেমন:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB of storage needed

*** Postgresql ডেটাবেসের জন্য নেটওয়ার্ক স্টোরেজ সাজেস্ট করা হয় কারণ:

  • প্রয়োজন হলে এটি স্টোরেজের সাইজ ডাইনামিক পদ্ধতিতে বাড়াতে পারে।
  • আজকের দিনের বেশিরভাগ এনভায়রনমেন্ট/স্টোরেজ/নেটওয়ার্ক সাবসিস্টেমে নেটওয়ার্ক IOPS অন দ্য ফ্লাই অ্যাডজাস্ট করা যায়।
  • ব্যাক-আপ ও রিকভারি সমাধানের অংশ হিসেবে স্টোরেজ লেভেল স্ন্যাপশট চালু করা যেতে পারে।

এছাড়াও, আপনি যদি মনিটাইজেশন পরিষেবা ইনস্টল করতে চান, তাহলে নিম্নলিখিত হার্ডওয়্যার সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে হবে (অল-ইন-ওয়ান ইনস্টলেশনে কাজ করে না):

মনিটাইজেশন সহ কম্পোনেন্ট RAM CPU হার্ড ডিস্ক
ম্যানেজমেন্ট সার্ভার (মনিটাইজেশন পরিষেবা সহ) ৮ জিবি ৪‑কোর ৬০ জিবি
Analytics - Postgres/Qpid একই সার্ভারে ১৬ জিবি ৮-কোর ৫০০ জিবি - ১ টিবি নেটওয়ার্ক স্টোরেজ, SSD ব্যাকএন্ড থাকলে ভাল হয়, ১০০০ IOPS বা এর বেশি কাজ করে অথবা উপরের সারণী থেকে নিয়ম ব্যবহার করুন।
Analytics - Postgres মাস্টার বা স্ট্যান্ডবাই স্বতন্ত্র ১৬ জিবি ৮-কোর ৫০০ জিবি - ১ টিবি নেটওয়ার্ক স্টোরেজ, SSD ব্যাকএন্ড থাকলে ভাল হয়, ১০০০ IOPS বা এর বেশি কাজ করে অথবা উপরের সারণী থেকে নিয়ম ব্যবহার করুন।
Analytics - Qpid (স্ট্যান্ডঅ্যালোন) ৮ জিবি ৪-কোর SSD বা দ্রুত HDD সহ ৪০GB - ৫০০GB লোকাল স্টোরেজ

২৫০ TPS-এর বেশি ইনস্টলেশনের জন্য, ১০০০ IOPS-এর সাথে কাজ করে এমন লোকাল স্টোরেজ সহ HDD সাজেস্ট করা হয়।

Cassandra নেটওয়ার্ক ব্যান্ডউইথ সংক্রান্ত প্রয়োজনীয়তা

Cassandra গসিপ প্রোটোকল ব্যবহার করে নেটওয়ার্ক টপোলজি সম্পর্কে অন্যান্য নোডের সাথে তথ্য শেয়ার করে। Cassandra-র ডিস্ট্রিবিউট করা নেচার—যার মধ্যে রিড ও রাইট অপারেশনের জন্য একাধিক নোডের সাথে যোগাযোগ করা—এর সাথে Gossip-এর ব্যবহার নেটওয়ার্ক জুড়ে উল্লেখযোগ্য ডেটা ট্রান্সফার করে।

Cassandra-র জন্য ন্যূনতম নেটওয়ার্ক ব্যান্ডউইথ প্রতি নোডে ১ Gbps প্রয়োজন। প্রোডাকশন ইনস্টলেশনের জন্য, আরও বেশি ব্যান্ডউইথ ব্যবহার করলে ভালো হয়।

Cassandra-র জন্য সর্বাধিক বা ৯৯তম পার্সেন্টাইল লেটেন্সি ১০০ মিলিসেকেন্ডের কম হতে হবে।

অপারেটিং সিস্টেম ও থার্ড-পার্টি সফ্টওয়্যার সংক্রান্ত প্রয়োজনীয়তা

এইসব ইনস্টলেশন নির্দেশাবলী এবং সাপ্লাই করা ইনস্টলেশন ফাইলগুলি অপারেটিং সিস্টেম এবং কাজ করে এমন সফ্টওয়্যার ও কাজ করে এমন ভার্সন লিঙ্কে তালিকাভুক্ত থার্ড-পার্টি সফ্টওয়্যারে পরীক্ষা করা হয়েছে।

পূর্বশর্ত: EPEL রেপো চালু করতে হবে

ইনস্টলেশন প্রসেস শুরু করার আগে, EPEL (Extra Packages for Enterprise Linux) রিপোজিটরি চালু আছে কিনা তা নিশ্চিত করুন। আপনার অপারেটিং সিস্টেমের ভার্সনের উপর ভিত্তি করে নিম্নলিখিত কমান্ড ব্যবহার করুন:

  • Red Hat/CentOS/Oracle 8.X-এর জন্য:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo rpm -ivh epel-release-latest-8.noarch.rpm
  • Red Hat/CentOS/Oracle 9.X-এর জন্য:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo rpm -ivh epel-release-latest-9.noarch.rpm

Java

ইনস্টলেশনের আগে প্রতিটি মেশিনে Java 1.8-এর কাজ করে এমন ভার্সন ইনস্টল করতে হবে। কাজ করে এমন JDK-এর তালিকা কাজ করে এমন সফ্টওয়্যার ও কাজ করে এমন ভার্সন লিঙ্কে দেওয়া আছে।

ইনস্টলেশনকারী ব্যবহারকারীর জন্য JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবল JDK-এর রুটকে পয়েন্ট করছে কিনা তা নিশ্চিত করুন।

SELinux

SELinux-এর জন্য আপনার সেটিংসের উপর নির্ভর করে, Edge কম্পোনেন্ট ইনস্টল ও চালু করার সময় Edge-এর সমস্যা হতে পারে। প্রয়োজন হলে, ইনস্টলেশন চলাকালীন SELinux বন্ধ করতে পারেন অথবা এটিকে অনুমতিযোগ্য মোডে সেট করতে পারেন এবং ইনস্টলেশন হয়ে যাওয়ার পরে এটি আবার চালু করতে পারেন। আরও জানতে Edge apigee-setup ইউটিলিটি ইনস্টল করুন দেখুন।

'apigee' ব্যবহারকারী তৈরি করা হচ্ছে

ইনস্টলেশন প্রসেস 'apigee' নামের একটি Unix সিস্টেম ব্যবহারকারী তৈরি করে। Edge ডিরেক্টরি ও ফাইল 'apigee' ব্যবহারকারীর মালিকানাধীন, Edge প্রসেসও তাই। এর অর্থ হল, Edge কম্পোনেন্টগুলি 'apigee' ব্যবহারকারী হিসেবে রান করে। প্রয়োজন হলে, আপনি অন্য ব্যবহারকারী হিসেবে কম্পোনেন্ট রান করাতে পারবেন।

ইনস্টলেশন ডিরেক্টরি

ডিফল্ট হিসেবে, ইনস্টলার সব ফাইল /opt/apigee ডিরেক্টরিতে লেখে। আপনি এই ডিরেক্টরির লোকেশন পরিবর্তন করতে পারবেন না। আপনি এই ডিরেক্টরি পরিবর্তন করতে না পারলেও, /opt/apigee-কে অন্য লোকেশনে ম্যাপ করার জন্য /opt/apigee থেকে সিমলিঙ্ক তৈরি করা নিবন্ধে বর্ণিত পদ্ধতি অনুযায়ী সিমলিঙ্ক তৈরি করতে পারবেন।

এই নির্দেশিকায় দেওয়া নির্দেশাবলীতে, ইনস্টলেশন ডিরেক্টরিকে /opt/apigee হিসেবে উল্লেখ করা হয়েছে।

সিমলিঙ্ক তৈরি করার আগে, আপনাকে অবশ্যই "apigee" নামের একটি ব্যবহারকারী ও গ্রুপ তৈরি করতে হবে। এটি Edge ইনস্টলারের তৈরি করা একই গ্রুপ ও ব্যবহারকারী।

সিমলিঙ্ক তৈরি করতে, bootstrap_4.53.01.sh ফাইল ডাউনলোড করার আগে এইসব ধাপ সম্পূর্ণ করুন। আপনাকে অবশ্যই রুট হিসেবে এইসব ধাপ সম্পূর্ণ করতে হবে:

  1. "apigee" ব্যবহারকারী ও গ্রুপ তৈরি করুন:
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. /opt/apigee থেকে আপনার পছন্দসই ইনস্টল রুটে একটি সিমলিঙ্ক তৈরি করুন:
    ln -Ts /srv/myInstallDir /opt/apigee

    যেখানে /srv/myInstallDir হল Edge ফাইলের কাঙ্ক্ষিত লোকেশন।

  3. ইনস্টল রুট ও সিমলিঙ্কের মালিকানা পরিবর্তন করে "apigee" ব্যবহারকারীকে দিন:
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

নেটওয়ার্ক সেটিং

Apigee সাজেস্ট করে যে ইনস্টলেশনের আগে নেটওয়ার্ক সেটিংস চেক করে নিন। ইনস্টলার আশা করে যে সব মেশিনে ফিক্সড IP অ্যাড্রেস আছে। সেটিং যাচাই করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:

  • hostname মেশিনের নাম রিটার্ন করে
  • hostname -i হোস্টনেমের জন্য IP অ্যাড্রেস রিটার্ন করে যা অন্য মেশিন থেকে অ্যাক্সেস করা যায়।

আপনার অপারেটিং সিস্টেমের ধরন ও ভার্সনের উপর নির্ভর করে, হোস্টনেম সঠিকভাবে সেট করা না থাকলে, আপনাকে হয়ত /etc/hosts ও /etc/sysconfig/network এডিট করতে হবে। আরও তথ্যের জন্য আপনার নির্দিষ্ট অপারেটিং সিস্টেমের ডকুমেন্টেশন দেখুন।

কোনও সার্ভারে একাধিক ইন্টারফেস কার্ড থাকলে, "hostname -i" কমান্ডটি স্পেস-সেপারেটেড IP অ্যাড্রেসের একটি তালিকা রিটার্ন করে। ডিফল্ট হিসেবে, Edge ইনস্টলার প্রথম IP অ্যাড্রেস ব্যবহার করে, যা সব পরিস্থিতিতে সঠিক নাও হতে পারে। বিকল্প হিসেবে, আপনি ইনস্টলেশন কনফিগারেশন ফাইলে নিম্নলিখিত প্রপার্টি সেট করতে পারেন:

ENABLE_DYNAMIC_HOSTIP=y

ওই প্রপার্টি "y" হিসেবে সেট করা থাকলে, ইনস্টলার আপনাকে ইনস্টল করার অংশ হিসেবে ব্যবহার করার জন্য IP অ্যাড্রেস বেছে নিতে প্রম্পট করে। ডিফল্ট ভ্যালু হল "n"। আরও জানতে Edge কনফিগারেশন ফাইল রেফারেন্স দেখুন।

TCP Wrappers

TCP Wrappers কিছু পোর্টের যোগাযোগ ব্লক করতে পারে এবং OpenLDAP, Postgres ও Cassandra ইনস্টলেশনকে প্রভাবিত করতে পারে। সেইসব নোডে, প্রয়োজনীয় OpenLDAP, Postgres এবং Cassandra পোর্টে কোনও বিধিনিষেধ আছে কিনা তা নিশ্চিত করতে /etc/hosts.allow এবং /etc/hosts.deny চেক করুন।

iptables

প্রয়োজনীয় এজ পোর্টে নোডগুলির মধ্যে কানেক্টিভিটি প্রতিরোধকারী কোনও iptables নীতি নেই তা যাচাই করুন। প্রয়োজন হলে, আপনি ইনস্টলেশন চলাকালীন কমান্ড ব্যবহার করে iptables বন্ধ করতে পারবেন:

sudo/etc/init.d/iptables stop

ডিরেক্টরি অ্যাক্সেস

Edge নোডে এমন ডিরেক্টরির তালিকা নিচে দেওয়া হল যেগুলির Edge প্রসেস থেকে বিশেষ প্রয়োজনীয়তা আছে: Edge প্রসেস:

পরিষেবা ডিরেক্টরি বিবরণ
রাউটার /etc/rc.d/init.d/functions

Edge রাউটার Nginx রাউটার ব্যবহার করে এবং এর /etc/rc.d/init.d/functions-এ রিড অ্যাক্সেস প্রয়োজন।

আপনার নিরাপত্তা প্রসেসের জন্য /etc/rc.d/init.d/functions-এ অনুমতি সেট করতে হলে, সেগুলি 700 হিসেবে সেট করবেন না, তা না হলে রাউটার চালু করা যাবে না।

আপনি 744-এ অনুমতি সেট করতে পারেন যাতে /etc/rc.d/init.d/functions-কে পড়ার অ্যাক্সেস দেওয়া যায়।

চিড়িয়াখানার কর্মী /dev/random Zookeeper ক্লায়েন্ট লাইব্রেরির র‍্যান্ডম নম্বর জেনারেটরে রিড অ্যাক্সেস থাকতে হবে /dev/random। /dev/random-এ রিড ব্লক করা থাকলে, তাহলে Zookeeper পরিষেবা চালু নাও হতে পারে।

Cassandra

সব Cassandra নোডকে একটি রিংয়ের সাথে কানেক্ট করতে হবে। নির্ভরযোগ্যতা ও ফল্ট টলারেন্স নিশ্চিত করতে Cassandra একাধিক নোডে ডেটা রেপ্লিকা স্টোর করে। প্রতিটি এজ কীস্পেসের জন্য রেপ্লিকেশন স্ট্র্যাটেজি নির্ধারণ করে যে রেপ্লিকা কোথায় প্লেস করা হবে। আরও জানতে, Cassandra সম্পর্কে রেপ্লিকেশন ফ্যাক্টর ও কনসিস্টেন্সি লেভেল দেখুন।

উপলভ্য মেমরির উপর ভিত্তি করে Cassandra অটোমেটিক তার জাভা হিপ সাইজ অ্যাডজাস্ট করে। আরও জানতে, পারফর্ম্যান্স খারাপ হলে বা বেশি মেমরি ব্যবহার হলে টিউনিং জাভা রিসোর্স দেখুন।

প্রাইভেট ক্লাউডের জন্য Edge ইনস্টল করার পরে, আপনি /opt/apigee/apigee-cassandra/conf/cassandra.yaml ফাইল পরীক্ষা করে দেখতে পারেন যে Cassandra সঠিকভাবে কনফিগার করা হয়েছে কিনা। যেমন, Edge for Private Cloud ইনস্টলেশন স্ক্রিপ্ট নিম্নলিখিত প্রপার্টি সেট করেছে কিনা তা নিশ্চিত করুন:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

PostgreSQL ডেটাবেস

Edge ইনস্টল করার পরে, আপনার সিস্টেমে উপলভ্য RAM-এর পরিমাণের উপর ভিত্তি করে, আপনি নিম্নলিখিত PostgreSQL ডেটাবেস সেটিংস অ্যাডজাস্ট করতে পারবেন:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

এইসব ভ্যালু সেট করতে:

  1. postgresql.properties ফাইল এডিট করুন:
    vi /opt/apigee/customer/application/postgresql.properties

    ফাইলটি না থাকলে, এটি তৈরি করুন।

  2. উপরে তালিকাভুক্ত প্রপার্টি সেট করুন।
  3. আপনার এডিট সেভ করুন।
  4. PostgreSQL ডেটাবেস রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Rocky 9.X-এর জন্য লোকেল কনফিগারেশন

আপনি Rocky 9.X ব্যবহার করলে, সিস্টেম-ওয়াইড লোকেল সেটিংসে LANG=en_US.utf8 দিয়ে আপনার সিস্টেম কনফিগার করা আছে কিনা তা নিশ্চিত করুন। এটি কনফিগার করতে, নিম্নলিখিত কমান্ডগুলি রান করুন:

dnf -y -q install langpacks-en
localectl set-locale LANG=en_US.utf8
reboot

সিস্টেমের সীমা

Cassandra এবং Message Processor নোডে নিম্নলিখিত সিস্টেম সীমা সেট করেছেন কিনা তা নিশ্চিত করুন:

  • Cassandra নোডে, নিম্নলিখিতগুলির জন্য সফট ও হার্ড মেমলক, নোফাইল ও অ্যাড্রেস স্পেস (as) সীমা সেট করুন: /etc/security/limits.d/90-apigee-edge-limits.conf নিচে দেখানো ইনস্টলেশন ব্যবহারকারী (ডিফল্ট হল "apigee"):
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
    apigee soft nproc 32768
    apigee hard nproc 65536
  • মেসেজ প্রসেসর নোডে, খোলা ফাইল ডেসক্রিপ্টরের সর্বাধিক সংখ্যা ৬৪K /etc/security/limits.d/90-apigee-edge-limits.conf-এ সেট করুন, যেমন নিচে দেখানো হয়েছে:
    apigee soft nofile 32768
    apigee hard nofile 65536

    প্রয়োজন হলে, আপনি সেই সীমা বাড়াতে পারবেন। যেমন, আপনার কাছে যদি একসাথে অনেক অস্থায়ী ফাইল খোলা থাকে।

  • আপনি কখনও রাউটার বা মেসেজ প্রসেসরে নিম্নলিখিত সমস্যা দেখতে পেলে system.log, আপনার ফাইল ডেসক্রিপ্টর সীমা খুব কম সেট করা হতে পারে:

    "java.io.IOException: Too many open files"

    আপনি এগুলি চালিয়ে ব্যবহারকারীর সীমা চেক করতে পারবেন:

    # su - apigee
    $ ulimit -n
    100000
    

    আপনি যদি ফাইল ডেসক্রিপ্টর সীমা 100000-তে সেট করার পরেও খোলা ফাইলের সীমায় পৌঁছে যান, তাহলে আরও সমস্যা সমাধানের জন্য Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।

নেটওয়ার্ক সিকিউরিটি সার্ভিস (NSS)

নেটওয়ার্ক নিরাপত্তা পরিষেবা (NSS) হল লাইব্রেরির একটি সেট যা নিরাপত্তা চালু করা ক্লায়েন্ট ও সার্ভার অ্যাপ্লিকেশন ডেভেলপমেন্টে সহায়তা করে। আপনাকে নিশ্চিত করতে হবে যে আপনি NSS v3.19 বা তার পরবর্তী যেকোনও ভার্সন ইনস্টল করেছেন।

আপনার বর্তমান ভার্সন চেক করতে:

yum info nss

NSS আপডেট করতে:

yum update nss

আরও তথ্যের জন্য RedHat-এর এই নিবন্ধটি দেখুন।

NSCD (নেম সার্ভিস ক্যাশে ডেমোন) ব্যবহার করার সময় IPv6-এ DNS লুক-আপ বন্ধ করুন

আপনি NSCD (নেম সার্ভিস ক্যাশে ডেমোন) ইনস্টল ও চালু করে থাকলে, মেসেজ প্রসেসর দুটি DNS লুক-আপ করে: একটি IPv4-এর জন্য এবং একটি IPv6-এর জন্য। NSCD ব্যবহার করার সময় আপনাকে IPv6-এ DNS লুক-আপ বন্ধ করে রাখতে হবে।

IPv6-এ DNS লুক-আপ বন্ধ করতে:

  1. প্রতিটি মেসেজ প্রসেসর নোডে, /etc/nscd.conf এডিট করুন
  2. নিম্নলিখিত প্রপার্টি সেট করুন:
    enable-cache hosts no

RHEL 8 ও তার পরবর্তী ভার্সনে IPv6 বন্ধ করা

Google Cloud Platform-এ RHEL 8 বা তার পরবর্তী যেকোনও ভার্সনে Edge ইনস্টল করলে, আপনাকে সব Qpid নোডে IPv6 বন্ধ করতে হবে।

IPv6 বন্ধ করার নির্দেশাবলীর জন্য, আপনার OS ভেন্ডরের দেওয়া ডকুমেন্টেশন দেখুন। যেমন, আপনি Red Hat Enterprise Linux ডকুমেন্টেশনে প্রাসঙ্গিক তথ্য খুঁজে পেতে পারেন।

Amazon Linux-এর পূর্বশর্ত

Amazon Linux 2023.7/2023.8/2023.9-এ নতুন করে ইনস্টল করার আগে অথবা 4.52.02 থেকে 4.53.01 ভার্সনে (Amazon Linux 2023.7/2023.8/2023.9-এ) আপগ্রেড করার আগে, /etc/yum.repos.d/amazonlinux.repo ফাইল এডিট করুন। [amazonlinux] থাকা বিভাগে নিম্নলিখিত বিষয়গুলি অবশ্যই থাকতে হবে, যাতে নিশ্চিত করা যায় যে প্যাকেজগুলি apigee-thirdparty থেকে ডাউনলোড করা হয়েছে, Amazon থেকে নয়:exclude=postgresql17,luajit*।

টুল

ইনস্টলার, EL5 বা EL6-এর দেওয়া স্ট্যান্ডার্ড ভার্সনে নিম্নলিখিত UNIX টুল ব্যবহার করে।

awk

expr

libxslt

rpm

আনজিপ করা

basename

grep

lua-socket

rpm2cpio

useradd

bash

হোস্টনাম

ls

sed

wc

bc

id

net-tools

sudo

wget

কার্ল

libaio

perl (from procps)

টার

xerces-c

cyrus-sasl libdb4 pgrep (procps থেকে) tr সুস্বাদু

তারিখ

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
একো librdmacm python    

সময় সিঙ্ক্রোনাইজ করা

Apigee সাজেস্ট করে যে আপনার সার্ভারের সময় সিঙ্ক্রোনাইজ করা উচিত। আগে থেকে কনফিগার করা না থাকলে, ntpdate ইউটিলিটি বা সমতুল্য টুল, সার্ভারগুলি সময় অনুযায়ী সিঙ্ক্রোনাইজ করা আছে কিনা তা যাচাই করে এই উদ্দেশ্য পূরণ করতে পারে। যেমন, ইউটিলিটি ইনস্টল করতে আপনি yum install ntp বা সমতুল্য কমান্ড ব্যবহার করতে পারেন। LDAP সেট-আপ রেপ্লিকেট করার জন্য এটি বিশেষভাবে উপযোগী। মনে রাখবেন, আপনাকে সার্ভারের টাইম জোন UTC হিসেবে সেট করতে হবে।

ফায়ারওয়াল ও ভার্চুয়াল হোস্ট

virtual শব্দটি সাধারণত IT জগতে অনেক বেশি ব্যবহৃত হয় এবং Apigee Edge for Private Cloud ডিপ্লয়মেন্ট ও ভার্চুয়াল হোস্টের ক্ষেত্রেও তাই হয়। স্পষ্ট করে বলতে গেলে, virtual শব্দটির দুটি প্রধান ব্যবহার রয়েছে:

  • ভার্চুয়াল মেশিন (VM): প্রয়োজন নেই, তবে কিছু ডিপ্লয়মেন্ট VM টেকনোলজি ব্যবহার করে Apigee কম্পোনেন্টের জন্য আইসোলেটেড সার্ভার তৈরি করে। ফিজিক্যাল হোস্টের মতো VM হোস্টেরও নেটওয়ার্ক ইন্টারফেস ও ফায়ারওয়াল থাকতে পারে।
  • ভার্চুয়াল হোস্ট: ওয়েব এন্ডপয়েন্ট, যা Apache ভার্চুয়াল হোস্টের মতো।

VM-এর মধ্যে থাকা রাউটার একাধিক ভার্চুয়াল হোস্টকে এক্সপোজ করতে পারে (যতক্ষণ না সেগুলি একে অপরের থেকে হোস্ট অ্যালিয়াস বা ইন্টারফেস পোর্টে আলাদা হয়)।

নামকরণের উদাহরণ হিসেবে, একটি ফিজিক্যাল সার্ভারে A দুটি VM চলতে পারে, "VM1" ও "VM2" নামে। ধরে নেওয়া যাক, "VM1" একটি ভার্চুয়াল ইথারনেট ইন্টারফেস এক্সপোজ করে, যা VM-এর মধ্যে "eth0" নামে পরিচিত এবং যা ভার্চুয়ালাইজেশন মেশিনারি বা নেটওয়ার্ক DHCP সার্ভার দ্বারা IP অ্যাড্রেস 111.111.111.111 অ্যাসাইন করা হয়; এবং তারপর ধরে নেওয়া যাক VM2 একটি ভার্চুয়াল ইথারনেট ইন্টারফেস এক্সপোজ করে, যা "eth0" নামেও পরিচিত এবং এটিতে IP অ্যাড্রেস 111.111.111.222 অ্যাসাইন করা হয়।

দুটি VM-এর প্রতিটিতেই Apigee রাউটার চলতে পারে। রাউটারগুলি ভার্চুয়াল হোস্ট এন্ডপয়েন্ট প্রকাশ করে, যেমন এই কাল্পনিক উদাহরণে দেখানো হয়েছে:

VM1-এর Apigee রাউটার, এর eth0 ইন্টারফেসে তিনটি ভার্চুয়াল হোস্ট এক্সপোজ করে (যেটির কিছু নির্দিষ্ট IP অ্যাড্রেস আছে), api.mycompany.com:80, api.mycompany.com:443 এবং test.mycompany.com:80.

VM2-এর রাউটার api.mycompany.com:80 (VM1-এর মতো একই নাম ও পোর্ট) এক্সপোজ করে।

ফিজিক্যাল হোস্টের অপারেটিং সিস্টেমে নেটওয়ার্ক ফায়ারওয়াল থাকতে পারে; যদি থাকে, তাহলে সেই ফায়ারওয়ালকে ভার্চুয়ালাইজড ইন্টারফেসে (111.111.111.111:{80, 443} ও 111.111.111.222:80) এক্সপোজ করা পোর্টগুলিতে TCP ট্রাফিক পাস করার জন্য কনফিগার করতে হবে। এছাড়াও, প্রতিটি VM-এর অপারেটিং সিস্টেম তার eth0 ইন্টারফেসে নিজস্ব ফায়ারওয়াল প্রদান করতে পারে এবং এগুলিকেও কানেক্ট করার জন্য পোর্ট ৮০ ও ৪৪৩ ট্রাফিককে অনুমতি দিতে হবে।

বেসপাথ হল তৃতীয় কম্পোনেন্ট যা আপনার ডিপ্লয় করা বিভিন্ন API প্রক্সি তে API কল রাউটিং করার সাথে যুক্ত। API প্রক্সি বান্ডেলের বেসপাথ আলাদা হলে, সেগুলি একটি এন্ডপয়েন্ট শেয়ার করতে পারে। যেমন, একটি বেসপাথকে http://api.mycompany.com:80/ হিসেবে এবং অন্যটিকে http://api.mycompany.com:80/salesdemo হিসেবে সংজ্ঞায়িত করা যেতে পারে।

এই ক্ষেত্রে, আপনাকে এমন কোনও লোড ব্যালেন্সার বা ট্রাফিক ডাইরেক্টর ব্যবহার করতে হবে যা http://api.mycompany.com:80/ ট্রাফিককে দুটি IP অ্যাড্রেসের মধ্যে ভাগ করে দেয় (111.111.111.111 VM1-এ এবং 111.111.111.222 VM2-তে)। এই ফাংশনটি আপনার নির্দিষ্ট ইনস্টলেশনের জন্য নির্দিষ্ট এবং আপনার স্থানীয় নেটওয়ার্কিং গ্রুপ এটি কনফিগার করে।

আপনি কোনও API ডেপ্লয় করলে বেসপাথ সেট হয়ে যায়। উপরের উদাহরণ থেকে, আপনি দুটি API, mycompany এবং testmycompany, ভার্চুয়াল হোস্ট সহ সংস্থা mycompany-org-এর জন্য ডেপ্লয় করতে পারবেন, যার হোস্ট অ্যালিয়াস হল api.mycompany.com এবং পোর্ট 80-এ সেট করা আছে। আপনি যদি ডিপ্লয়মেন্টে কোনও বেসপাথ ঘোষণা না করেন, তাহলে রাউটার বুঝতে পারে না যে কোন API-তে ইনকামিং অনুরোধ পাঠাতে হবে।

তবে, আপনি যদি API testmycompany /salesdemo-এর বেস URL-এর সাথে ডেপ্লয় করেন, তাহলে ব্যবহারকারীরা http://api.mycompany.com:80/salesdemo ব্যবহার করে সেই API অ্যাক্সেস করেন। আপনি যদি / বেস URL সহ আপনার API mycompany ডেপ্লয় করেন, তাহলে আপনার ব্যবহারকারীরা http://api.mycompany.com:80/ URL-এর মাধ্যমে API অ্যাক্সেস করবেন।

লাইসেন্স দেওয়া

Edge-এর প্রতিটি ইনস্টলেশনের জন্য একটি অনন্য লাইসেন্স ফাইল প্রয়োজন যা আপনি Apigee থেকে পান। ম্যানেজমেন্ট সার্ভার ইনস্টল করার সময় আপনাকে লাইসেন্স ফাইলের পাথ দিতে হবে, যেমন /tmp/license.txt.

ইনস্টলার লাইসেন্স ফাইলটি /opt/apigee/customer/conf/license.txt-এ কপি করে।

লাইসেন্স ফাইল বৈধ হলে, ম্যানেজমেন্ট সার্ভার মেয়াদ শেষ হওয়ার তারিখ ও অনুমোদিত Message Processor (MP)-এর সংখ্যা যাচাই করে। লাইসেন্স সেটিংসের মেয়াদ শেষ হয়ে গেলে, আপনি নিম্নলিখিত লোকেশন থেকে লগ খুঁজে পেতে পারেন: /opt/apigee/var/log/edge-management-server/logs. এই ক্ষেত্রে, মাইগ্রেশন সংক্রান্ত বিবরণের জন্য আপনি Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করতে পারেন।

আপনার কাছে এখনও লাইসেন্স না থাকলে, Apigee সেলস টিমের সাথে যোগাযোগ করুন।