NiFi Cluster Setup এবং Configuration

Java Technologies - অ্যাপাচি নিফাই (Apache NiFi) NiFi Cluster এবং High Availability |
152
152

অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা প্রবাহ অটোমেশন টুল যা ক্লাস্টার মোডে পরিচালিত হতে পারে। NiFi ক্লাস্টার সেটআপ এবং কনফিগারেশন আপনাকে একাধিক নোড (nodes) ব্যবহার করে ডেটা প্রোসেসিংকে স্কেল করতে সাহায্য করে। এটি ডেটা প্রোসেসিংয়ের কার্যকারিতা এবং স্কেলেবিলিটি বৃদ্ধি করতে সহায়ক, বিশেষ করে যখন বড় আকারের ডেটা বা ট্রাফিক পরিচালনা করতে হয়। এখানে আমরা NiFi ক্লাস্টার সেটআপ এবং কনফিগারেশন সম্পর্কিত বিস্তারিত আলোচনা করব।

NiFi ক্লাস্টার সেটআপের জন্য প্রয়োজনীয় পদক্ষেপ

NiFi ক্লাস্টার সেটআপের জন্য কিছু মূল পদক্ষেপ রয়েছে, যেগুলি সঠিকভাবে অনুসরণ করতে হবে। এই পদক্ষেপগুলির মধ্যে রয়েছে NiFi নোড কনফিগারেশন, নোড গঠনের জন্য উপযুক্ত কনফিগারেশন ফাইল সম্পাদনা, এবং ক্লাস্টার ক্লাস্টার কমিউনিকেশন নিশ্চিত করার জন্য অন্যান্য প্রয়োজনীয় কনফিগারেশন।

১. প্রারম্ভিক প্রস্তুতি

ক্লাস্টার সেটআপের আগে, নিচের বিষয়গুলি নিশ্চিত করুন:

  • আপনার সমস্ত নোডে একই ভার্সনের NiFi ইনস্টল করা থাকতে হবে।
  • সমস্ত নোডের জন্য ক্লাস্টার কমিউনিকেশন সঠিকভাবে কনফিগার করা থাকতে হবে।
  • কমপক্ষে দুটি নোড থাকতে হবে, একটি প্রধান নোড (Master) এবং এক বা একাধিক স্লেভ নোড (Slave)।

২. nifi.properties ফাইল কনফিগারেশন

প্রতিটি নোডে NiFi কনফিগারেশনের জন্য nifi.properties ফাইলটি কাস্টমাইজ করতে হবে। এই ফাইলটির মধ্যে ক্লাস্টার সংক্রান্ত গুরুত্বপূর্ণ সেটিংস থাকে।

  1. nifi.cluster.is.node: এই সেটিংটি ক্লাস্টার নোড কিনা তা নির্ধারণ করে। এটি স্লেভ নোডে true এবং মাষ্টার নোডে false হতে হবে।

    nifi.cluster.is.node=true
    
  2. nifi.cluster.node.address: প্রতিটি নোডের IP ঠিকানা বা DNS নাম দিতে হবে, যা ক্লাস্টার নোডের জন্য ব্যবহার হবে।

    nifi.cluster.node.address=<Node-IP-or-DNS>
    
  3. nifi.cluster.node.protocol.port: নোডের জন্য একটি পৃথক পোর্ট ব্যবহার করতে হবে, যার মাধ্যমে অন্যান্য নোডের সঙ্গে যোগাযোগ হবে। (যেমন 5000)

    nifi.cluster.node.protocol.port=5000
    
  4. nifi.cluster.node.read.timeout: ক্লাস্টার নোডের মধ্যে যোগাযোগের জন্য টেম্পোরারি টাইমআউট সেট করা।

    nifi.cluster.node.read.timeout=30 secs
    
  5. nifi.cluster.flow.election.max.wait.time: নির্বাচনের সময়সীমা সেট করুন। এটি ক্লাস্টারে কোন নোডকে মাস্টার হিসেবে নির্বাচন করা হবে তা নির্ধারণ করে।

    nifi.cluster.flow.election.max.wait.time=10 secs
    

৩. state.management.properties ফাইল কনফিগারেশন

এই ফাইলটি NiFi স্টেট ম্যানেজমেন্ট কনফিগারেশন পরিচালনা করতে ব্যবহৃত হয়।

  1. state.management.provider: ক্লাস্টারে রিজিড স্টেট শেয়ার করতে হবে, সাধারণত Zookeeper ব্যবহৃত হয়।

    state.management.provider=org.apache.nifi.cluster.coordination.zookeeper.ZooKeeperStateManagementProvider
    
  2. state.management.zookeeper.connect.string: Zookeeper সার্ভারের ঠিকানা বা ক্লাস্টারের Zookeeper ইনস্ট্যান্সের ঠিকানা।

    state.management.zookeeper.connect.string=<Zookeeper-Host:Port>
    

৪. Zookeeper সেটআপ

NiFi ক্লাস্টারিং জন্য Zookeeper একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি নোডের মধ্যে স্টেট শেয়ার করে এবং ক্লাস্টারের সিঙ্ক্রোনাইজেশন নিশ্চিত করে।

  • Zookeeper ইনস্টল এবং কনফিগার করা থাকতে হবে।
  • state.management.zookeeper.connect.string ফিল্ডে Zookeeper এর IP ঠিকানা এবং পোর্ট উল্লেখ করতে হবে।

৫. NiFi ক্লাস্টার নোড চালানো

এখন, আপনার NiFi ক্লাস্টারের প্রতিটি নোডকে চালাতে হবে। প্রথমে, মাস্টার নোডটি চালু করুন:

./nifi.sh start

তারপর স্লেভ নোড চালু করুন:

./nifi.sh start

আপনার নোডগুলির সঠিকভাবে কাজ করার জন্য, আপনি NiFi UI তে লগইন করে সেগুলির অবস্থা চেক করতে পারেন।

৬. NiFi UI তে ক্লাস্টার মনিটরিং

একটি NiFi ক্লাস্টার সেটআপ করার পর, আপনি NiFi ওয়েব ইউজার ইন্টারফেসে (UI) গিয়ে পুরো ক্লাস্টারের অবস্থা দেখতে পারবেন। এখানে আপনি ক্লাস্টারের প্রতিটি নোডের স্ট্যাটাস, নোডের সংযোগ, এবং ফ্লো অবস্থা মনিটর করতে পারবেন।


NiFi ক্লাস্টার কনফিগারেশনের গুরুত্বপূর্ণ বিষয়

  1. নোড কনফিগারেশন: ক্লাস্টারের প্রতিটি নোডের কনফিগারেশন পৃথকভাবে সম্পাদনা করতে হবে এবং এগুলি একে অপরের সঙ্গে সঠিকভাবে যোগাযোগ করতে সক্ষম হতে হবে।
  2. Zookeeper Integration: ক্লাস্টার কনফিগারেশনের জন্য Zookeeper ইন্টিগ্রেশন অত্যন্ত গুরুত্বপূর্ণ। এটি ক্লাস্টারের নোডের মধ্যে স্টেট সিঙ্ক্রোনাইজ করতে সহায়তা করে।
  3. লগিং: ক্লাস্টারের নোডগুলির জন্য যথাযথ লগিং কনফিগারেশন থাকা উচিত, যাতে সমস্যা চিহ্নিত করা সহজ হয়।
  4. নেটওয়ার্ক কনফিগারেশন: নিশ্চিত করুন যে ক্লাস্টারের সব নোড একে অপরের সাথে যোগাযোগ করার জন্য একই নেটওয়ার্কে থাকতে হবে অথবা উপযুক্ত পোর্ট ফরওয়ার্ডিং এবং ফায়ারওয়াল সেটিংস করা থাকতে হবে।

সারাংশ

NiFi ক্লাস্টার সেটআপ এবং কনফিগারেশন করা একটি শক্তিশালী কার্যক্রম যা আপনাকে ডেটা প্রোসেসিংয়ের স্কেল এবং কার্যক্ষমতা বৃদ্ধি করতে সাহায্য করে। সঠিকভাবে nifi.properties, state.management.properties ফাইল কনফিগারেশন এবং Zookeeper ইনটিগ্রেশন সেটআপের মাধ্যমে আপনি একটি কার্যকরী NiFi ক্লাস্টার তৈরি করতে পারবেন। এই ক্লাস্টারের মাধ্যমে আপনি বড় আকারের ডেটা প্রবাহ পরিচালনা করতে পারবেন এবং একাধিক নোডের মধ্যে লোড ব্যালেন্সিং ও রিডান্ড্যান্স নিশ্চিত করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion