1. ওভারভিউ
ক্লাউড ডেটাপ্রোক একটি পরিচালিত স্পার্ক এবং হ্যাডুপ পরিষেবা যা আপনাকে ব্যাচ প্রক্রিয়াকরণ, অনুসন্ধান, স্ট্রিমিং এবং মেশিন লার্নিংয়ের জন্য ওপেন সোর্স ডেটা টুলগুলির সুবিধা নিতে দেয়৷ ক্লাউড ডেটাপ্রোক অটোমেশন আপনাকে ক্লাস্টারগুলিকে দ্রুত তৈরি করতে, সেগুলিকে সহজে পরিচালনা করতে এবং যখন আপনার প্রয়োজন না হয় তখন ক্লাস্টারগুলি বন্ধ করে অর্থ সাশ্রয় করতে সহায়তা করে৷ প্রশাসনে কম সময় এবং অর্থ ব্যয় করে, আপনি আপনার কাজ এবং আপনার ডেটাতে ফোকাস করতে পারেন।
এই টিউটোরিয়ালটি https://cloud.google.com/dataproc/overview থেকে অভিযোজিত হয়েছে
আপনি কি শিখবেন
- কীভাবে একটি পরিচালিত ক্লাউড ডেটাপ্রোক ক্লাস্টার তৈরি করবেন ( অ্যাপাচি স্পার্ক আগে থেকে ইনস্টল করা আছে )।
- কিভাবে একটি স্পার্ক কাজ জমা দিতে হয়
- কিভাবে একটি ক্লাস্টার আকার পরিবর্তন
- কিভাবে একটি Dataproc ক্লাস্টারের মাস্টার নোডে ssh করবেন
- ক্লাস্টার, চাকরি এবং ফায়ারওয়াল নিয়মগুলি পরীক্ষা করার জন্য কীভাবে gcloud ব্যবহার করবেন
- কীভাবে আপনার ক্লাস্টার বন্ধ করবেন
আপনি কি প্রয়োজন হবে
- একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
কিভাবে আপনি এই টিউটোরিয়াল ব্যবহার ব্যবহার করবেন?
আপনি Google ক্লাউড প্ল্যাটফর্ম পরিষেবাগুলি ব্যবহার করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ (যদি আপনার ইতিমধ্যেই একটি Gmail বা G Suite অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)
প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID
হিসাবে উল্লেখ করা হবে।
- এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷
এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। "ক্লিনিং আপ" বিভাগে যে কোনও নির্দেশাবলী অনুসরণ করতে ভুলবেন না যা আপনাকে কীভাবে সংস্থানগুলি বন্ধ করতে হবে তা পরামর্শ দেয় যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন৷ Google ক্লাউডের নতুন ব্যবহারকারীরা $300USD ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
3. Cloud Dataproc এবং Google Compute Engine APIs সক্ষম করুন৷
স্ক্রিনের উপরের বাম দিকে মেনু আইকনে ক্লিক করুন।
ড্রপ ডাউন থেকে API ম্যানেজার নির্বাচন করুন।
Enable APIs এবং Services- এ ক্লিক করুন।
অনুসন্ধান বাক্সে "কম্পিউট ইঞ্জিন" অনুসন্ধান করুন। প্রদর্শিত ফলাফল তালিকায় "Google Compute Engine API" এ ক্লিক করুন।
Google Compute Engine পৃষ্ঠায় Enable এ ক্লিক করুন
একবার এটি সক্রিয় হয়ে গেলে ফিরে যেতে বাম দিকে নির্দেশিত তীরটিতে ক্লিক করুন।
এখন "Google Cloud Dataproc API" অনুসন্ধান করুন এবং এটিও সক্ষম করুন৷
4. ক্লাউড শেল শুরু করুন
এই ডেবিয়ান-ভিত্তিক ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত বিকাশের সরঞ্জামগুলির সাথে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এর মানে হল যে এই কোডল্যাবের জন্য আপনার যা দরকার তা হল একটি ব্রাউজার (হ্যাঁ, এটি একটি Chromebook এ কাজ করে)।
- ক্লাউড কনসোল থেকে ক্লাউড শেল সক্রিয় করতে, কেবল ক্লাউড শেল সক্রিয় করুন ক্লিক করুন (পরিবেশের সাথে সংযোগ স্থাপন এবং সংযোগের জন্য এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে)।
একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রকল্পটি ইতিমধ্যেই আপনার 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
খুঁজছেন? সেটআপ ধাপে আপনি কোন আইডি ব্যবহার করেছেন তা দেখুন বা ক্লাউড কনসোল ড্যাশবোর্ডে দেখুন:
ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা আপনার ভবিষ্যত কমান্ড চালানোর সময় কার্যকর হতে পারে।
echo $GOOGLE_CLOUD_PROJECT
কমান্ড আউটপুট
<PROJECT_ID>
- অবশেষে, ডিফল্ট জোন এবং প্রকল্প কনফিগারেশন সেট করুন।
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-এর মানের আনুমানিকতা অন্তর্ভুক্ত করা হবে।
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 ব্যবহার করে আপনার ক্লাস্টার বন্ধ করতে হয়!
আরও জানুন
- Dataproc ডকুমেন্টেশন: https://cloud.google.com/dataproc/overview
- কনসোল কোডল্যাব ব্যবহার করে Dataproc দিয়ে শুরু করা
লাইসেন্স
এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 3.0 জেনেরিক লাইসেন্স এবং Apache 2.0 লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।