ক্লাউড ডেটাপ্রোক (কমান্ড লাইন) সহ একটি পরিচালিত হ্যাডুপ/স্পার্ক ক্লাস্টারের ব্যবস্থা করা এবং ব্যবহার করা

1. ওভারভিউ

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

এই টিউটোরিয়ালটি https://cloud.google.com/dataproc/overview থেকে অভিযোজিত হয়েছে

আপনি কি শিখবেন

  • কীভাবে একটি পরিচালিত ক্লাউড ডেটাপ্রোক ক্লাস্টার তৈরি করবেন ( অ্যাপাচি স্পার্ক আগে থেকে ইনস্টল করা আছে )।
  • কিভাবে একটি স্পার্ক কাজ জমা দিতে হয়
  • কিভাবে একটি ক্লাস্টার আকার পরিবর্তন
  • কিভাবে একটি Dataproc ক্লাস্টারের মাস্টার নোডে ssh করবেন
  • ক্লাস্টার, চাকরি এবং ফায়ারওয়াল নিয়মগুলি পরীক্ষা করার জন্য কীভাবে gcloud ব্যবহার করবেন
  • কীভাবে আপনার ক্লাস্টার বন্ধ করবেন

আপনি কি প্রয়োজন হবে

কিভাবে আপনি এই টিউটোরিয়াল ব্যবহার ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

আপনি Google ক্লাউড প্ল্যাটফর্ম পরিষেবাগুলি ব্যবহার করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ (যদি আপনার ইতিমধ্যেই একটি Gmail বা G Suite অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)

dMbN6g9RawQj_VXCSYpdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCemXuD0pdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCemXuD0pdYncY5Gv3GU Zw

ci9Oe6PgnbNuSYlMyvbXF1JdQyiHoEgnhl4PlV_MFagm2ppzhueRkqX4eLjJllZco_2zCp0V0bpTupUSKji9KkQyWqj11pqit1K1faS1V6aFxLpGtQd5Q55

8-tA_Lheyo8SscAVKrGii2coplQp2_D1Iosb2ViABY0UUO1A8cimXUu6Wf1R9zJIRExL5OB2j946aIiFtyKTzxDcNnuznmR45vZ2HMoK3oK3o67gCu67jCGUJCGUX67j

প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID হিসাবে উল্লেখ করা হবে।

  1. এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷

এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। "ক্লিনিং আপ" বিভাগে যে কোনও নির্দেশাবলী অনুসরণ করতে ভুলবেন না যা আপনাকে কীভাবে সংস্থানগুলি বন্ধ করতে হবে তা পরামর্শ দেয় যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন৷ Google ক্লাউডের নতুন ব্যবহারকারীরা $300USD ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

3. Cloud Dataproc এবং Google Compute Engine APIs সক্ষম করুন৷

স্ক্রিনের উপরের বাম দিকে মেনু আইকনে ক্লিক করুন।

2bfc27ef9ba2ec7d.png

ড্রপ ডাউন থেকে API ম্যানেজার নির্বাচন করুন।

408af5f32c4b7c25.png

Enable APIs এবং Services- এ ক্লিক করুন।

a9c0e84296a7ba5b.png

অনুসন্ধান বাক্সে "কম্পিউট ইঞ্জিন" অনুসন্ধান করুন। প্রদর্শিত ফলাফল তালিকায় "Google Compute Engine API" এ ক্লিক করুন।

b6adf859758d76b3.png

Google Compute Engine পৃষ্ঠায় Enable এ ক্লিক করুন

da5584a1cbc77104.png

একবার এটি সক্রিয় হয়ে গেলে ফিরে যেতে বাম দিকে নির্দেশিত তীরটিতে ক্লিক করুন।

এখন "Google Cloud Dataproc API" অনুসন্ধান করুন এবং এটিও সক্ষম করুন৷

f782195d8e3d732a.png

4. ক্লাউড শেল শুরু করুন

এই ডেবিয়ান-ভিত্তিক ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত বিকাশের সরঞ্জামগুলির সাথে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এর মানে হল যে এই কোডল্যাবের জন্য আপনার যা দরকার তা হল একটি ব্রাউজার (হ্যাঁ, এটি একটি Chromebook এ কাজ করে)।

  1. ক্লাউড কনসোল থেকে ক্লাউড শেল সক্রিয় করতে, কেবল ক্লাউড শেল সক্রিয় করুন ক্লিক করুন fEbHefbRynwXpq1vj2wJw6Dr17O0np8l-WOekxAZYlZQIORsWQE_xJl-cNhogjATLn-YxLVz8CgLvIW1Ncc0yXKJsfzJGMYgUeLsVBzxNg74Bg7fz7 kP-X3Q (পরিবেশের সাথে সংযোগ স্থাপন এবং সংযোগের জন্য এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে)।

I5aEsuNurCxHoDFjZRZrKBdarPPKPoKuExYpdagmdaOLKe7eig3DAKJitIKyuOpuwmrMAyZhp5AXpmD_k66cBuc1aUnWlJeSfo_aTKPY9aNMurhfeggN1NYp1NYp1CJ

স্ক্রীন শট 2017-06-14 10.13.43 PM.png এ

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রকল্পটি ইতিমধ্যেই আপনার PROJECT_ID তে সেট করা আছে।

gcloud auth list

কমান্ড আউটপুট

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি, কোন কারণে, প্রকল্পটি সেট করা না হয়, কেবল নিম্নলিখিত কমান্ডটি জারি করুন:

gcloud config set project <PROJECT_ID>

আপনার PROJECT_ID খুঁজছেন? সেটআপ ধাপে আপনি কোন আইডি ব্যবহার করেছেন তা দেখুন বা ক্লাউড কনসোল ড্যাশবোর্ডে দেখুন:

R7chO4PKQfLC3bvFBNZJALLTUiCgyLEq_67ECX7ohs_0ZnSjC7GxDNxWrJJUaoM53LnqABYamrBJhCuXF-J9XBzuUgaz7VvaxNrkP2TAn93DrxBzuUgaz7VvaxNrkP2TAn93DrxX7ohs-5GZXH52T

ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা আপনার ভবিষ্যত কমান্ড চালানোর সময় কার্যকর হতে পারে।

echo $GOOGLE_CLOUD_PROJECT

কমান্ড আউটপুট

<PROJECT_ID>
  1. অবশেষে, ডিফল্ট জোন এবং প্রকল্প কনফিগারেশন সেট করুন।
gcloud config set compute/zone us-central1-f

আপনি বিভিন্ন জোন বিভিন্ন চয়ন করতে পারেন. আরও তথ্যের জন্য, অঞ্চল এবং অঞ্চল দেখুন।

5. একটি ক্লাউড ডেটাপ্রোক ক্লাস্টার তৈরি করুন

ক্লাউড শেল চালু হওয়ার পরে, আপনি ক্লাউড SDK gcloud কমান্ড বা ভার্চুয়াল মেশিনের উদাহরণে উপলব্ধ অন্যান্য সরঞ্জামগুলি আহ্বান করতে কমান্ড লাইন ব্যবহার করতে পারেন।

এই ল্যাবে ব্যবহার করার জন্য একটি ক্লাস্টার নাম চয়ন করুন:

$ CLUSTERNAME=${USER}-dplab

একটি নতুন ক্লাস্টার তৈরি করে শুরু করা যাক:

$ gcloud dataproc clusters create ${CLUSTERNAME} \
  --region=us-central1 \
  --scopes=cloud-platform \
  --tags codelab \
  --zone=us-central1-c

ডিফল্ট ক্লাস্টার সেটিংস, যার মধ্যে দুই-কর্মী নোড রয়েছে, এই টিউটোরিয়ালের জন্য যথেষ্ট হওয়া উচিত। উপরের কমান্ডটিতে রয়েছে --zone বিকল্পটি নির্দিষ্ট করার জন্য যে ভৌগলিক অঞ্চলে ক্লাস্টার তৈরি করা হবে, এবং দুটি উন্নত বিকল্প, --scopes এবং --tags , যা আপনি যখন তাদের সক্ষম বৈশিষ্ট্যগুলি ব্যবহার করেন তখন নীচে ব্যাখ্যা করা হয়েছে। ক্লাস্টার সেটিংস কাস্টমাইজ করতে কমান্ড লাইন পতাকা ব্যবহার করার তথ্যের জন্য ক্লাউড SDK gcloud dataproc clusters create দেখুন৷

6. আপনার ক্লাস্টারে একটি স্পার্ক কাজ জমা দিন

আপনি একটি Cloud Dataproc API jobs.submit অনুরোধের মাধ্যমে একটি কাজ জমা দিতে পারেন, gcloud কমান্ড লাইন টুল ব্যবহার করে, অথবা Google Cloud Platform Console থেকে। আপনি SSH ব্যবহার করে আপনার ক্লাস্টারে একটি মেশিনের উদাহরণের সাথে সংযোগ করতে পারেন এবং তারপরে উদাহরণ থেকে একটি কাজ চালাতে পারেন।

ক্লাউড শেল কমান্ড লাইন থেকে gcloud টুল ব্যবহার করে একটি কাজ জমা দেওয়া যাক:

$ gcloud dataproc jobs submit spark --cluster ${CLUSTERNAME} \
  --class org.apache.spark.examples.SparkPi \
  --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000

কাজটি চলার সাথে সাথে আপনি আপনার ক্লাউড শেল উইন্ডোতে আউটপুট দেখতে পাবেন।

কন্ট্রোল-সি প্রবেশ করে আউটপুট ব্যাহত করুন। এটি gcloud কমান্ড বন্ধ করবে, কিন্তু কাজটি এখনও Dataproc ক্লাস্টারে চলবে।

7. কাজের তালিকা করুন এবং পুনরায় সংযোগ করুন

কাজের তালিকা প্রিন্ট করুন:

$ gcloud dataproc jobs list --cluster ${CLUSTERNAME}

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

$ gcloud dataproc jobs wait jobId

কাজ শেষ হলে, আউটপুটে Pi-এর মানের আনুমানিকতা অন্তর্ভুক্ত করা হবে।

493928df54f61386.png

8. ক্লাস্টারের আকার পরিবর্তন করুন

বৃহত্তর গণনা চালানোর জন্য, আপনি এটির গতি বাড়ানোর জন্য আপনার ক্লাস্টারে আরও নোড যোগ করতে চাইতে পারেন। Dataproc আপনাকে যে কোনো সময় আপনার ক্লাস্টার থেকে নোডগুলিতে নোড যোগ করতে এবং অপসারণ করতে দেয়।

ক্লাস্টার কনফিগারেশন পরীক্ষা করুন:

$ gcloud dataproc clusters describe ${CLUSTERNAME}

কিছু অগ্রিম নোড যোগ করে ক্লাস্টারটিকে আরও বড় করুন:

$ gcloud dataproc clusters update ${CLUSTERNAME} --num-secondary-workers=2

আবার ক্লাস্টার পরীক্ষা করুন:

$ gcloud dataproc clusters describe ${CLUSTERNAME}

লক্ষ্য করুন যে মূল ক্লাস্টার বিবরণ থেকে workerConfig ছাড়াও, এখন একটি secondaryWorkerConfig রয়েছে যাতে প্রিম্পিবল কর্মীদের জন্য দুটি instanceNames রয়েছে। Dataproc নতুন নোড বুট করার সময় ক্লাস্টারের অবস্থা প্রস্তুত হিসাবে দেখায়।

যেহেতু আপনি দুটি নোড দিয়ে শুরু করেছেন এবং এখন চারটি আছে, আপনার স্পার্ক কাজগুলি প্রায় দ্বিগুণ দ্রুত চালানো উচিত।

9. ক্লাস্টারে SSH

মাস্টার নোডের সাথে ssh-এর মাধ্যমে সংযোগ করুন, যার উদাহরণের নাম সর্বদা -m যুক্ত ক্লাস্টার নাম থাকে:

$ gcloud compute ssh ${CLUSTERNAME}-m --zone=us-central1-c

আপনি ক্লাউড শেলে প্রথমবার একটি ssh কমান্ড চালালে এটি সেখানে আপনার অ্যাকাউন্টের জন্য ssh কী তৈরি করবে। আপনি একটি পাসফ্রেজ চয়ন করতে পারেন, বা এখন একটি ফাঁকা পাসফ্রেজ ব্যবহার করতে পারেন এবং আপনি চাইলে ssh-keygen ব্যবহার করে পরে এটি পরিবর্তন করতে পারেন।

উদাহরণে, হোস্টনাম চেক করুন:

$ hostname

যেহেতু আপনি ক্লাস্টার তৈরি করার সময় --scopes=cloud-platform উল্লেখ করেছেন, আপনি আপনার ক্লাস্টারে gcloud কমান্ড চালাতে পারেন। আপনার প্রকল্পে ক্লাস্টার তালিকাভুক্ত করুন:

$ gcloud dataproc clusters list

আপনার হয়ে গেলে ssh সংযোগ থেকে লগ আউট করুন:

$ logout

10. ট্যাগ পরীক্ষা করুন

আপনি যখন আপনার ক্লাস্টার তৈরি করেছিলেন তখন আপনি ক্লাস্টারের প্রতিটি নোডে একটি ট্যাগ যুক্ত করার জন্য একটি --tags বিকল্প অন্তর্ভুক্ত করেছিলেন। প্রতিটি নোডে ফায়ারওয়াল নিয়ম সংযুক্ত করতে ট্যাগ ব্যবহার করা হয়। আপনি এই কোডল্যাবে কোন মিল ফায়ারওয়াল নিয়ম তৈরি করেননি, তবে আপনি এখনও একটি নোডের ট্যাগ এবং নেটওয়ার্কে ফায়ারওয়াল নিয়মগুলি পরীক্ষা করতে পারেন।

মাস্টার নোডের বিবরণ প্রিন্ট করুন:

$ gcloud compute instances describe ${CLUSTERNAME}-m --zone us-central1-c

tags: আউটপুটের শেষের কাছাকাছি এবং দেখুন এতে codelab অন্তর্ভুক্ত রয়েছে।

ফায়ারওয়াল নিয়ম প্রিন্ট করুন:

$ gcloud compute firewall-rules list

SRC_TAGS এবং TARGET_TAGS কলাম নোট করুন। একটি ফায়ারওয়াল নিয়মে একটি ট্যাগ সংযুক্ত করে, আপনি উল্লেখ করতে পারেন যে এটি সেই ট্যাগ আছে এমন সমস্ত নোডে ব্যবহার করা উচিত।

11. আপনার ক্লাস্টার বন্ধ করুন

আপনি একটি Cloud Dataproc API clusters.delete অনুরোধের মাধ্যমে একটি ক্লাস্টার বন্ধ করতে পারেন, gcloud dataproc clusters delete এক্সিকিউটেবল ব্যবহার করে কমান্ড লাইন থেকে বা Google ক্লাউড প্ল্যাটফর্ম কনসোল থেকে।

ক্লাউড শেল কমান্ড লাইন ব্যবহার করে ক্লাস্টার বন্ধ করা যাক:

$ gcloud dataproc clusters delete ${CLUSTERNAME} --region us-central1

12. অভিনন্দন!

আপনি শিখেছেন কিভাবে একটি Dataproc ক্লাস্টার তৈরি করতে হয়, একটি স্পার্ক কাজ জমা দিতে হয়, একটি ক্লাস্টারের আকার পরিবর্তন করতে হয়, আপনার মাস্টার নোডে লগ ইন করতে ssh ব্যবহার করতে হয়, ক্লাস্টার, কাজ এবং ফায়ারওয়ালের নিয়মগুলি পরীক্ষা করতে gcloud ব্যবহার করতে হয় এবং gcloud ব্যবহার করে আপনার ক্লাস্টার বন্ধ করতে হয়!

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 3.0 জেনেরিক লাইসেন্স এবং Apache 2.0 লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।