#### hdfs (Hadoop Distributed File System)

Single-node Hadoop klasteri — bu Hadoopning barcha komponentlari (NameNode, DataNode, ResourceManager va NodeManager) bitta mashinada yoki virtual mashinada ishlaydigan konfiguratsiyasi. Bu kichik loyihalar va testlar uchun ishlatiladi. Keling, uning qanday ishlashini batafsilroq tushuntiramiz:
### 1. **Hadoopning asosiy komponentlari va ularning rollari:**
#### - **HDFS (Hadoop Distributed File System):**
- **NameNode**: Bu tugun (node) HDFSda ma'lumotlarni boshqaradi va ularning qayerda joylashganligini kuzatib boradi. U ma'lumotlarning metama'lumotlarini saqlaydi (ma'lumot bloklari qayerda saqlanganligi haqida).
- **DataNode**: Bu HDFSdagi haqiqiy ma'lumotlarni saqlovchi tugundir. Single-node Hadoopda, NameNode va DataNode bir xil mashinada joylashadi. Bu esa ma'lumotlarni o'qish va yozishni bir joyda bajarilishini anglatadi.
#### - **YARN (Yet Another Resource Negotiator):**
- **ResourceManager**: YARNning asosiy boshqaruv qismi. U klasterdagi resurslarni boshqaradi, ya'ni qanday ilovalar va jarayonlar qaysi resurslardan foydalanishi kerakligini hal qiladi.
- **NodeManager**: Bu resurslarni boshqaradigan jarayon bo'lib, har bir tugunda (hatto single-node bo'lsa ham) ishlaydi va ilovalar uchun CPU va xotira kabi resurslardan foydalanishni taqsimlaydi.
### 2. **Single-node klasterining ishlash jarayoni:**
Hadoopning bitta tugunli versiyasi barcha komponentlarni bitta mashinada ishga tushiradi. Bu yerda tizim qanday ishlashini bosqichma-bosqich tushuntiramiz:
#### **a. Ma'lumotlarni yuklash:**
Ma'lumotlar HDFSga yuklanganda, ma'lumot bloklarga bo'linadi (masalan, 128 MB bloklar). Bu bloklar DataNode tomonidan saqlanadi. Single-node klasterda, DataNode bitta mashinada ishlaydi, shuning uchun ma'lumotlar aynan shu mashinada saqlanadi.
#### **b. Ma'lumotlarni boshqarish:**
NameNode har bir ma'lumot blokining qayerda joylashganligini kuzatadi. Bitta tugunli klasterda barcha bloklar bir xil tugunda saqlanadi, shuning uchun NameNode bloklarning joylashuvi haqida ma'lumot beradi va DataNode bloklarni boshqaradi.
#### **c. Ilovalar va jarayonlarni ishga tushirish (MapReduce orqali):**
MapReduce bu — Hadoopda ma'lumotlarni tahlil qilish uchun ishlatiladigan jarayon. Single-node Hadoopda quyidagi jarayonlar sodir bo'ladi:
1. **Map bosqichi**: Ma'lumotlar Map jarayoniga yuboriladi, bu yerda har bir ma'lumot bloki o'qiladi va tahlil qilinadi. Jarayon paralel ravishda ma'lumotlarni kichik qismlarga ajratib, ularda ishlaydi.
2. **Shuffle and Sort bosqichi**: Bu bosqichda Map natijalari to'planadi va qayta tashkil qilinadi, ya'ni bir xil kalitlar bir joyga yig'iladi.
3. **Reduce bosqichi**: Qayta tashkil qilingan ma'lumotlar Reduce jarayoniga yuboriladi. Bu jarayonda ma'lumotlar birlashtiriladi va yakuniy natija olinadi.
Single-node klasterda Map va Reduce jarayonlari bir xil mashinada ishlaydi, ya'ni butun jarayon bitta tugunda amalga oshadi.
#### **d. YARN boshqaruvi:**
Ilovalar ishga tushganda, ResourceManager bu jarayonni kuzatadi va unga resurslarni taqsimlaydi. Single-node klasterda, NodeManager ushbu tugundagi resurslarni boshqaradi, masalan, qancha xotira va CPU ma'lumot tahliliga ajratilishi kerakligini hal qiladi.
### 3. **Afzallik va cheklovlar:**
#### **Afzalliklar:**
- **Oddiylik**: Single-node klasterni sozlash juda oddiy, ayniqsa, bulut muhitida.
- **O'rganish uchun ideal**: Bu variant Hadoop va uning komponentlarini o'rganish uchun juda yaxshi, chunki barcha komponentlar bir joyda ishlaydi.
- **Resurslarni tejash**: Bitta mashinada ishlaganligi sababli, resurslar kamroq sarflanadi va kichik loyihalar uchun yetarli bo'ladi.
#### **Cheklovlar:**
- **Katta hajmdagi ma'lumotlar uchun yaroqsiz**: Single-node klaster yirik ma'lumotlar bilan ishlashga mos emas. U ma'lumotlarni paralel tarzda bir necha mashinalarda qayta ishlay olmaydi, shuning uchun ma'lumotlar hajmi o'sganda ishlash tezligi pasayadi.
- **Xavfsizlik va ishonchlilik**: Faqat bitta tugun ishlatilgani uchun, agar bu tugun nosoz bo'lsa yoki ishdan chiqsa, barcha ma'lumotlar va jarayonlar yo'qoladi.
### 4. **Single-node klasterini sozlash:**
Cloud muhitida bitta tugunli Hadoop klasterini sozlash oson bo'lib, ko'p hollarda bulut provayderlari maxsus xizmatlar taklif qiladi:
- **Amazon EMR**: Bu xizmat orqali single-node Hadoop klasterini yaratish mumkin. Bu xizmat foydalanuvchilarga Hadoopni o'rnatish, boshqarish va ishlatish imkonini beradi.
- **Google Cloud Dataproc**: Hadoopni bulutda ishga tushirish uchun Google tomonidan taqdim etilgan xizmat bo'lib, foydalanuvchilarga tez va oson klaster yaratish imkonini beradi.
- **Microsoft Azure HDInsight**: Hadoop klasterlarini yaratish uchun Microsoft tomonidan taqdim etilgan xizmat.
Shuningdek, lokal muhitda (o'z kompyuteringizda) **Apache Hadoopning rasmiy qo'llanmasi** orqali single-node klasterini o'rnatish mumkin.
### Xulosa:
Single-node Hadoop klasteri yirik ma'lumotlar muhitini sinovdan o'tkazish, o'rganish yoki kichik hajmdagi ma'lumotlar ustida ishlash uchun yaxshi tanlovdir. Barcha jarayonlar va komponentlar bitta mashinada ishlaganligi sababli, bu muhitdan yirik tahlil loyihalari uchun foydalanish mos emas, lekin test va o'rganish uchun ideal hisoblanadi.
|