Hướng dẫn cài đặt Hadoop trên UbuntuHướng dẫn tải xuống và cài đặt
⚡ Tóm tắt thông minh
Cài đặt Apache Hadoop trên Ubuntu Quá trình này gồm hai bước: giải nén bản phát hành bằng tài khoản hệ thống chuyên dụng với SSH không cần mật khẩu, sau đó chỉnh sửa bốn tệp XML trước khi định dạng HDFS và khởi động cụm máy chủ đơn nút.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn từng bước cài đặt Apache Hadoop trên máy Linux (UbuntuĐây là một quy trình gồm hai bước: đầu tiên là tải xuống và cài đặt phiên bản, sau đó cấu hình nó.
Có hai điều kiện tiên quyết:
- Bạn phải có Ubuntu cài đặt và chạy.
- Bạn phải có Java cài đặt.
Ghi chú về phiên bản Hadoop 3.x cho thiết lập này
Các ảnh chụp màn hình trong hướng dẫn này được chụp trên Hadoop 2.2.0. Trình tự các bước không thay đổi trên các phiên bản hiện tại, nhưng một số tên và giá trị mặc định đã được thay đổi. Vui lòng kiểm tra bảng bên dưới trước khi sao chép bất kỳ lệnh nào một cách nguyên văn.
| Cài đặt hoặc bước | Trong hướng dẫn này (Hadoop 2.x) | Phiên bản Hadoop 3.x hiện tại |
|---|---|---|
| Lưu trữ bản phát hành | hadoop-2.2.0.tar.gz |
hadoop-3.5.0.tar.gzPhiên bản 3.5 ổn định đầu tiên được phát hành vào ngày 2 tháng 4 năm 2026. |
| Thuộc tính hệ thống tệp mặc định | fs.default.name trong văn xuôi, fs.defaultFS trong XML |
fs.defaultFS chỉ có; fs.default.name không được dùng nữa |
| Thuộc tính MapReduce | mapreduce.jobtracker.address |
mapreduce.framework.name đặt thành yarnCông việcTracker không còn tồn tại nữa sau khi YARN lên lịch thực hiện công việc. |
| mapred-site.xml | Được sao chép từ mapred-site.xml.template |
Tàu trong etc/hadoop đã có sẵn rồi, nên bước sao chép là không cần thiết. |
| Cổng giao diện người dùng web NameNode | 50070 | 9870 |
| Java | Java 6 hoặc Java 7 | Java 8 hoặc Java 11 |
Mọi thứ khác trong hướng dẫn này đều hoạt động theo cùng một cách trên Hadoop 3: tài khoản chuyên dụng, khóa SSH, bốn tệp cấu hình và các tập lệnh khởi động và dừng.
Phần 1) Tải xuống và cài đặt Hadoop
Bước 1) Thêm người dùng hệ thống Hadoop
Thêm người dùng hệ thống Hadoop bằng lệnh dưới đây.
sudo addgroup hadoop_
sudo adduser --ingroup hadoop_ hduser_
Nhập mật khẩu, tên và các thông tin khác.
LƯU Ý: Có khả năng xảy ra lỗi được đề cập bên dưới trong quá trình thiết lập và cài đặt này.
“hduser không có trong tập tin sudoers. Sự việc này sẽ được báo cáo.”
Lỗi này có thể được khắc phục bằng cách đăng nhập với tư cách người dùng root.
Thực hiện lệnh
sudo adduser hduser_ sudo
Re-login as hduser_
Bước 2) Định cấu hình SSH
Để quản lý các node trong một cụm, Hadoop yêu cầu quyền truy cập SSH.
Đầu tiên, chuyển đổi người dùng, nhập lệnh sau
su - hduser_
Lệnh này sẽ tạo một khóa mới.
ssh-keygen -t rsa -P ""
Kích hoạt quyền truy cập SSH vào máy cục bộ bằng khóa này.
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
Bây giờ hãy kiểm tra thiết lập SSH bằng cách kết nối với localhost với tư cách người dùng 'hduser_'.
ssh localhost
Lưu ý: Nếu bạn thấy lỗi bên dưới khi thực hiện lệnh 'ssh localhost', thì có khả năng SSH không khả dụng trên hệ thống này.
Để giải quyết vấn đề này –
Lọc SSH bằng cách sử dụng,
sudo apt-get purge openssh-server
Nên thực hiện việc xóa sạch dữ liệu trước khi bắt đầu cài đặt.
Cài đặt SSH bằng lệnh-
sudo apt-get install openssh-server
Bước 3) Tải xuống Hadoop
Bước tiếp theo là tải xuống Hadoop từ... Trang phát hành Apache Hadoop.
Chọn ổn định
Chọn tệp tar.gz (không phải tệp có đuôi src).
Sau khi quá trình tải xuống hoàn tất, hãy điều hướng đến thư mục chứa tệp tar.
nhập,
sudo tar xzf hadoop-2.2.0.tar.gz
Bây giờ, hãy đổi tên hadoop-2.2.0 thành hadoop.
sudo mv hadoop-2.2.0 hadoop
Cuối cùng, hãy giao thư mục đó cho người nhận tài khoản mới.
sudo chown -R hduser_:hadoop_ hadoop
Thay thế bằng phiên bản bạn thực sự đã tải xuống. hadoop-2.2.0 trong ba lệnh trên.
Phần 2) Định cấu hình Hadoop
Bước 1) Chỉnh sửa tệp ~/.bashrc
Thêm các dòng sau vào cuối tệp ~/.bashrc.
#Set HADOOP_HOME export HADOOP_HOME=<Installation Directory of Hadoop> #Set JAVA_HOME export JAVA_HOME=<Installation Directory of Java> # Add bin/ directory of Hadoop to PATH export PATH=$PATH:$HADOOP_HOME/bin
Bây giờ, hãy cập nhật cấu hình môi trường này bằng lệnh dưới đây.
. ~/.bashrc
Bước 2) Cấu hình liên quan đến HDFS
Thiết lập biến môi trường JAVA_HOME trong tệp $HADOOP_HOME/etc/hadoop/hadoop-env.sh, như hình bên dưới.
Với
Có hai tham số trong tệp $HADOOP_HOME/etc/hadoop/core-site.xml cần được thiết lập.
1. 'hadoop.tmp.dir' – Dùng để chỉ định thư mục mà Hadoop sẽ sử dụng để lưu trữ các tệp dữ liệu của nó.
2. 'fs.defaultFS' – Thuộc tính này chỉ định hệ thống tệp mặc định. Tên cũ của thuộc tính này, 'fs.default.name', đã lỗi thời.
Để đặt các tham số này, hãy mở core-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml
Sao chép các dòng bên dưới vào giữa thẻ.
<property> <name>hadoop.tmp.dir</name> <value>/app/hadoop/tmp</value> <description>Parent directory for other temporary directories.</description> </property> <property> <name>fs.defaultFS </name> <value>hdfs://localhost:54310</value> <description>The name of the default file system. </description> </property>
Điều hướng đến thư mục $HADOOP_HOME/etc/hadoop.
Bây giờ, hãy tạo thư mục được đề cập trong core-site.xml.
sudo mkdir -p <Path of Directory used in above setting>
Cấp quyền truy cập vào thư mục.
sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>
sudo chmod 750 <Path of Directory created in above step>
Bước 3) Cấu hình MapReduce
Trước khi bắt đầu với các cấu hình này, chúng ta hãy thiết lập đường dẫn HADOOP_HOME.
sudo gedit /etc/profile.d/hadoop.sh
và nhập
export HADOOP_HOME=/home/guru99/Downloads/Hadoop
Tiếp theo nhập
sudo chmod +x /etc/profile.d/hadoop.sh
Thoát khỏi cửa sổ Terminal và khởi động lại.
Gõ lệnh `echo $HADOOP_HOME` để kiểm tra đường dẫn.
Bây giờ sao chép tập tin
sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
Mở tệp mapred-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml
Thêm các thiết lập bên dưới vào giữa Và thẻ.
<property> <name>mapreduce.jobtracker.address</name> <value>localhost:54311</value> <description>MapReduce job tracker runs at this host and port. </description> </property>
Mở tệp $HADOOP_HOME/etc/hadoop/hdfs-site.xml như hình bên dưới,
sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Thêm các thiết lập bên dưới vào giữa Và thẻ.
<property> <name>dfs.replication</name> <value>1</value> <description>Default block replication.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hduser_/hdfs</value> </property>
Tạo thư mục được chỉ định trong phần cài đặt ở trên.
sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs
Sau đó, cấp quyền sở hữu và quyền truy cập cho nó.
sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs
sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs
Bước 4) Định dạng HDFS
Trước khi khởi động Hadoop lần đầu tiên, hãy định dạng HDFS bằng lệnh dưới đây.
$HADOOP_HOME/bin/hdfs namenode -format
Bước 5) Khởi động cụm máy chủ đơn Hadoop
Khởi động cụm Hadoop một nút bằng lệnh dưới đây.
$HADOOP_HOME/sbin/start-dfs.sh
Kết quả của lệnh trên được hiển thị bên dưới.
Sau đó khởi động các tiến trình nền YARN.
$HADOOP_HOME/sbin/start-yarn.sh
Sử dụng công cụ 'jps' để kiểm tra xem tất cả các tiến trình liên quan đến Hadoop có đang chạy hay không.
Nếu Hadoop khởi động thành công, kết quả đầu ra của lệnh jps sẽ hiển thị NameNode, NodeManager, ResourceManager, SecondaryNameNode và DataNode.
Bước 6) Dừng lạiping Hadoop
Tắt cụm máy chủ theo thứ tự ngược lại.
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
Cách kiểm tra xem Hadoop có đang chạy hay không và khắc phục các lỗi thường gặp
Kết quả đầu ra của lệnh jps xác nhận rằng các tiến trình đã được khởi chạy, nhưng không xác nhận rằng cụm máy chủ có thể sử dụng được. Bốn bước kiểm tra bổ sung sẽ giải quyết vấn đề đó.
- Mở giao diện web của NameNode tại
http://localhost:9870(cổng 50070 trên Hadoop 2.x) và xác nhận báo cáo tóm tắt chỉ còn một nút đang hoạt động. - Mở giao diện ResourceManager tại
http://localhost:8088Để xác nhận YARN đã chấp nhận NodeManager. - chạy
hdfs dfsadmin -reportđể kiểm tra dung lượng, các DataNode đang hoạt động và bất kỳ khối nào chưa được sao chép đầy đủ. - Hãy viết gì đó:
hdfs dfs -mkdir /testtiếp theohdfs dfs -ls /Chứng minh rằng không gian tên chấp nhận các thay đổi.
Hầu hết những lần thất bại đầu tiên đều thuộc một trong năm trường hợp sau.
| Triệu chứng | Nguyên nhân | Sửa chữa |
|---|---|---|
| Biến môi trường JAVA_HOME chưa được thiết lập và không thể tìm thấy. | Biến này được xuất trong tệp .bashrc nhưng không được xuất trong tệp hadoop-env.sh. | Hãy thiết lập đường dẫn tuyệt đối của JDK bên trong tệp hadoop-env.sh. |
| Quyền truy cập bị từ chối (publickey, password) trên ssh localhost | Biến authorized_keys bị thiếu hoặc quá lỏng lẻo. | Thêm lại nội dung tệp id_rsa.pub, sau đó chạy lệnh chmod 600 trên thư mục ~/.ssh/authorized_keys. |
| Kết nối bị từ chối trên cổng 22 | openssh-server chưa được cài đặt hoặc không đang chạy. | Cài đặt openssh-server và khởi động dịch vụ ssh. |
| DataNode bị thiếu trong jps sau khi định dạng lại. | Cluster Lỗi không khớp ID giữa NameNode đã định dạng và thư mục DataNode cũ. | Xóa sạch thư mục dfs.datanode.data.dir, sau đó định dạng lại một lần nữa. |
| start-dfs.sh: lệnh không tìm thấy | Biến môi trường HADOOP_HOME và PATH chưa bao giờ được nạp vào shell hiện tại. | Chạy tệp . ~/.bashrc hoặc mở một cửa sổ terminal mới. |





























