Thứ sáu, 07/09/2018 | 00:00 GMT+7

Cách cài đặt Hadoop ở chế độ độc lập trên Debian 9

Hadoop là một khung lập trình dựa trên Java, hỗ trợ xử lý và lưu trữ các bộ dữ liệu cực lớn trên một cụm máy rẻ tiền. Đây là dự án nguồn mở lớn đầu tiên trong playground dữ liệu lớn và được tài trợ bởi Apache Software Foundation.

Hadoop bao gồm bốn lớp chính:

  • Hadoop Common là tập hợp các tiện ích và thư viện hỗ trợ các module Hadoop khác.
  • HDFS , viết tắt của Hadoop Distributed File System, chịu trách nhiệm lưu trữ dữ liệu vào đĩa.
  • YARN , viết tắt của Yet Another Resource Negotiator, là “hệ điều hành” cho HDFS.
  • MapReduce là mô hình xử lý ban đầu cho các cụm Hadoop. Nó phân phối công việc trong cụm hoặc bản đồ, sau đó tổ chức và giảm kết quả từ các node thành phản hồi cho một truy vấn. Nhiều mô hình xử lý khác có sẵn cho version 3.x của Hadoop.

Các cụm Hadoop tương đối phức tạp để cài đặt , vì vậy dự án bao gồm một chế độ độc lập phù hợp để tìm hiểu về Hadoop, thực hiện các thao tác đơn giản và gỡ lỗi.

Trong hướng dẫn này, bạn sẽ cài đặt Hadoop ở chế độ độc lập và chạy một trong các chương trình MapReduce ví dụ mà nó bao gồm để xác minh cài đặt.

Trước khi bắt đầu, bạn cũng có thể cần xem Giới thiệu về các khái niệm và thuật ngữ dữ liệu lớn hoặc Giới thiệu về Hadoop

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

Bước 1 - Cài đặt Hadoop

Để cài đặt Hadoop, trước tiên hãy truy cập trang Bản phát hành Apache Hadoop để tìm bản phát hành ổn định mới nhất .

Điều hướng đến nhị phân cho bản phát hành bạn muốn cài đặt. Trong hướng dẫn này, ta sẽ cài đặt Hadoop 3.0.3.

Ảnh chụp màn hình trang phát hành Hadoop đánh dấu liên kết đến file  binary  ổn định mới nhất

Trên trang tiếp theo, nhấp chuột phải và sao chép liên kết vào file binary phát hành.

Ảnh chụp màn hình của trang nhân bản Hadoop

Trên server của bạn, hãy sử dụng wget để tìm nạp nó:

  • wget http://www-us.apache.org/dist/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz

Lưu ý: Trang web Apache sẽ tự động chuyển hướng bạn đến máy nhân bản tốt nhất, vì vậy URL của bạn có thể không trùng với URL ở trên.

Để đảm bảo file bạn đã download không bị thay đổi, hãy kiểm tra nhanh bằng SHA-256. Quay lại trang bản phát hành , sau đó nhấp chuột phải và sao chép liên kết đến file tổng kiểm tra cho bản binary bản phát hành mà bạn đã download :

Ảnh chụp màn hình đánh dấu file  .mds

, hãy sử dụng wget trên server của bạn để download file :

  • wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz.mds

Sau đó chạy xác minh:

  • sha256sum hadoop-3.0.3.tar.gz
Output
db96e2c0d0d5352d8984892dfac4e27c0e682d98a497b7e04ee97c3e2019277a hadoop-3.0.3.tar.gz

So sánh giá trị này với giá trị SHA-256 trong file .mds :

  • cat hadoop-3.0.3.tar.gz.mds | grep SHA256
~ / hadoop-3.0.3.tar.gz.mds
... SHA256 = DB96E2C0 D0D5352D 8984892D FAC4E27C 0E682D98 A497B7E0 4EE97C3E 2019277A 

Bạn có thể an toàn bỏ qua sự khác biệt trong trường hợp và khoảng trống. Đầu ra của lệnh bạn chạy với file ta đã download từ máy nhân bản phải trùng với giá trị trong file bạn đã download từ apache.org.

Đến đây bạn đã xác minh file không bị hỏng hoặc thay đổi, hãy sử dụng lệnh tar với cờ -x để extract , -z để extract , -v cho kết quả dài dòng và -f để chỉ định rằng bạn đang extract lưu trữ từ một file . Sử dụng hoàn thành tab hoặc thay thế số version chính xác trong lệnh bên dưới:

  • tar -xzvf hadoop-3.0.3.tar.gz

Cuối cùng, di chuyển các file đã extract vào /usr/local , nơi thích hợp cho phần mềm được cài đặt local . Thay đổi số version , nếu cần, để trùng với version bạn đã download .

  • sudo mv hadoop-3.0.3 /usr/local/hadoop

Với phần mềm tại chỗ, ta đã sẵn sàng để cấu hình môi trường của nó.

Bước 2 - Chạy Hadoop

Hãy đảm bảo Hadoop chạy. Thực thi lệnh sau để chạy Hadoop và hiển thị các tùy chọn trợ giúp của nó:

  • /usr/local/hadoop/bin/hadoop

Bạn sẽ thấy kết quả sau đây, cho bạn biết bạn đã cấu hình thành công Hadoop để chạy ở chế độ độc lập.

Output
Usage: hadoop [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] or hadoop [OPTIONS] CLASSNAME [CLASSNAME OPTIONS] where CLASSNAME is a user-provided Java class OPTIONS is none or any of: --config dir Hadoop config directory --debug turn on shell script debug mode --help usage information buildpaths attempt to add class files from build tree hostnames list[,of,host,names] hosts to use in slave mode hosts filename list of hosts to use in slave mode loglevel level set the log4j level for this command workers turn on worker mode SUBCOMMAND is one of: . . .

Ta sẽ đảm bảo nó hoạt động bình thường bằng cách chạy chương trình MapReduce mẫu mà nó vận hành. Để làm như vậy, hãy tạo một folder được gọi là input trong folder chính của bạn và sao chép các file cấu hình của Hadoop vào đó để sử dụng các file đó làm dữ liệu của ta .

  • mkdir ~/input
  • cp /usr/local/hadoop/etc/hadoop/*.xml ~/input

Tiếp theo, ta sẽ chạy chương trình MapReduce hadoop-mapreduce-examples , một repository Java với một số tùy chọn. Ta sẽ gọi chương trình grep của nó, một trong nhiều ví dụ có trong hadoop-mapreduce-examples , tiếp theo là folder input , input và folder kết quả grep_example . Chương trình Grep MapReduce sẽ đếm các kết quả phù hợp của một từ theo nghĩa đen hoặc biểu thức chính quy. Cuối cùng, ta sẽ cung cấp biểu thức chính quy allowed[.]* Để tìm các lần xuất hiện của từ allowed trong hoặc ở cuối câu khai báo. Biểu thức có phân biệt chữ hoa chữ thường, vì vậy ta sẽ không tìm thấy từ nếu nó được viết hoa ở đầu câu.

Thực hiện lệnh sau:

  • /usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar grep ~/input ~/grep_example 'allowed[.]*'

Khi nhiệm vụ hoàn thành, nó cung cấp một bản tóm tắt về những gì đã được xử lý và các lỗi mà nó đã gặp phải, nhưng phần này không chứa kết quả thực tế:

Output
. . . File System Counters FILE: Number of bytes read=1330690 FILE: Number of bytes written=3128841 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 Map-Reduce Framework Map input records=2 Map output records=2 Map output bytes=33 Map output materialized bytes=43 Input split bytes=115 Combine input records=0 Combine output records=0 Reduce input groups=2 Reduce shuffle bytes=43 Reduce input records=2 Reduce output records=2 Spilled Records=4 Shuffled Maps =1 Failed Shuffles=0 Merged Map outputs=1 GC time elapsed (ms)=3 Total committed heap usage (bytes)=478150656 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=147 File Output Format Counters Bytes Written=34

Kết quả được lưu trong folder ~/grep_example .

Nếu folder kết quả này đã tồn tại, chương trình sẽ không thành công và thay vì xem bản tóm tắt, bạn sẽ thấy thông tin như sau:

Output
. . . at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.apache.hadoop.util.RunJar.run(RunJar.java:244) at org.apache.hadoop.util.RunJar.main(RunJar.java:158)

Kiểm tra kết quả bằng cách chạy cat trên folder kết quả :

  • cat ~/grep_example/*

Bạn sẽ thấy kết quả này:

Output
19 allowed. 1 allowed

Nhiệm vụ MapReduce đã tìm thấy 19 lần xuất hiện của từ allowed theo sau là dấu chấm và một lần xuất hiện khi không được phép. Việc chạy chương trình ví dụ đã xác minh cài đặt độc lập của ta đang hoạt động bình thường và user không có quyền trên hệ thống có thể chạy Hadoop để thăm dò hoặc gỡ lỗi.

Kết luận

Trong hướng dẫn này, ta đã cài đặt Hadoop ở chế độ độc lập và xác minh nó bằng cách chạy một chương trình ví dụ mà nó cung cấp. Để tìm hiểu cách viết các chương trình MapReduce của bạn , hãy truy cập hướng dẫn MapReduce của Apache Hadoop, hướng dẫn này xem qua mã đằng sau ví dụ bạn đã sử dụng trong hướng dẫn này. Khi đã sẵn sàng cài đặt một cụm, hãy xem hướng dẫn Cài đặt Cụm Hadoop của Apache Foundation.


Tags:

Các tin liên quan