Apache Hadoop là gì ? cách xây dựng Apache Hadoop và code java với nó
Apache Hadoop là gì?#
Apache Hadoop là một framework mã nguồn mở, được thiết kế để xử lý và lưu trữ lượng dữ liệu cực lớn (Big Data) trên một cụm máy chủ phân tán. Hadoop có thể xử lý dữ liệu một cách hiệu quả bằng cách phân chia công việc và lưu trữ dữ liệu trên nhiều node (máy chủ).
Thành phần chính của Apache Hadoop#
Hadoop Distributed File System (HDFS): Hệ thống lưu trữ dữ liệu phân tán, chịu trách nhiệm chia nhỏ dữ liệu thành các khối (blocks) và phân phối chúng trên nhiều máy chủ.
- Cung cấp tính năng chịu lỗi và đảm bảo dữ liệu vẫn khả dụng khi một số máy chủ gặp sự cố.
MapReduce: Một mô hình lập trình để xử lý dữ liệu lớn song song.
Gồm hai giai đoạn: Map: Chia nhỏ và xử lý dữ liệu thành các cặp key-value.
- Reduce: Tóm tắt và tổng hợp dữ liệu đã được xử lý.
YARN (Yet Another Resource Negotiator): Quản lý tài nguyên hệ thống và lên lịch cho các ứng dụng Hadoop.
Hadoop Common: Bộ thư viện và tiện ích cần thiết để các module khác hoạt động.
Ưu điểm của Apache Hadoop#
Khả năng mở rộng: Hoạt động trên hàng ngàn máy chủ.
Chi phí thấp: Sử dụng phần cứng phổ thông thay vì các máy chủ cao cấp.
Chịu lỗi: Tự động sao lưu dữ liệu và chuyển đổi khi gặp lỗi.
Hiệu suất cao: Xử lý dữ liệu song song giúp giảm thời gian xử lý.
Cách xây dựng Apache Hadoop#
1. Yêu cầu hệ thống
Phần cứng: Tối thiểu 8GB RAM và CPU 4 lõi cho mỗi node.
- Dung lượng ổ cứng lớn, phụ thuộc vào dữ liệu cần xử lý.
Phần mềm: Hệ điều hành: Linux (thường là Ubuntu hoặc CentOS).
- Java JDK: Hadoop yêu cầu Java 8 hoặc cao hơn.
2. Các bước cài đặt
a. Chuẩn bị môi trường
Cài đặt Java:
sudo apt update sudo apt install openjdk-11-jdk -y java -versionTạo người dùng Hadoop:
sudo adduser hadoop sudo usermod -aG sudo hadoopCấu hình SSH: Tạo SSH Key:
ssh-keygen -t rsa- Thêm public key vào
authorized_keysđể truy cập mà không cần mật khẩu:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
- Thêm public key vào
b. Tải và cài đặt Hadoop
Tải Apache Hadoop: Tải phiên bản ổn định từ trang chính thức: Apache Hadoop Releases.
wget https://downloads.apache.org/hadoop/common/hadoop-<version>/hadoop-<version>.tar.gzGiải nén và cài đặt:
tar -xzvf hadoop-<version>.tar.gz sudo mv hadoop-<version> /usr/local/hadoopCấu hình biến môi trường: Thêm vào
~/.bashrc:export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64- Áp dụng thay đổi:
source ~/.bashrc
- Áp dụng thay đổi:
c. Cấu hình Hadoop
Cấu hình core-site.xml: Tệp:
$HADOOP_HOME/etc/hadoop/core-site.xml` `fs.defaultFS hdfs://localhost:9000 Cấu hình hdfs-site.xml: Tệp:
$HADOOP_HOME/etc/hadoop/hdfs-site.xml` `dfs.replication 1 Cấu hình mapred-site.xml: Tệp:
$HADOOP_HOME/etc/hadoop/mapred-site.xml` `mapreduce.framework.name yarn Cấu hình yarn-site.xml: Tệp:
$HADOOP_HOME/etc/hadoop/yarn-site.xml` `yarn.nodemanager.aux-services mapreduce_shuffle
d. Định dạng HDFS và khởi động Hadoop
Định dạng HDFS:
hdfs namenode -formatKhởi động dịch vụ Hadoop:
start-dfs.sh start-yarn.shKiểm tra trạng thái: Truy cập web UI: Namenode:
http://localhost:9870- Resource Manager:
http://localhost:8088
- Resource Manager:
Thực hành thêm#
Chạy thử các lệnh HDFS:
hdfs dfs -mkdir /user hdfs dfs -mkdir /user/hadoop hdfs dfs -put input.txt /user/hadoop hdfs dfs -ls /user/hadoopViết và chạy một chương trình MapReduce đơn giản.
1 phản hồi
Bài liên quan trong #Java
-
Cách xây dựng API cho CMS bằng Java từ A-Z
minhdev · 💬 1 -
Cách Xây Dựng Hệ Thống Phân Tán: Hướng Dẫn Toàn Diện Từ A-Z
minhdev · 💬 3 -
Hướng dẫn cài tomcat 9 lên server ubuntu 22.04
topdev -
Hàm gửi email google SMTP gmail bằng java
minhdev -
Xây Dựng Mô Hình Data Checking Tự Động Fix Lỗi Và Phục Hồi Thiếu Dữ Liệu
minhdev · 💬 2