Thứ năm, 20/03/2014 | 00:00 GMT+7

Cách cài đặt Hadoop trên Ubuntu 13.10


Yêu cầu

Yêu cầu duy nhất cho hướng dẫn này là một VPS được cài đặt Ubuntu 13.10 x64 .

Bạn cần thực hiện các lệnh từ dòng lệnh mà bạn có thể thực hiện theo một trong hai cách:

  1. Sử dụng SSH để truy cập server .

  2. Sử dụng 'Quyền truy cập Control panel ' từ Bảng quản lý Digital Ocean Server

Hadoop là gì?

Hadoop là một khuôn khổ (bao gồm các thư viện phần mềm) đơn giản hóa việc xử lý các tập dữ liệu được phân phối trên các cụm server . Hai trong số các thành phần chính của Hadoop là HDFSMapReduce .

HDFS là hệ thống file được Hadoop sử dụng để lưu trữ tất cả dữ liệu trên. Hệ thống file này trải dài trên tất cả các node đang được Hadoop sử dụng. Các node này có thể nằm trên một VPS duy nhất hoặc chúng có thể nằm trên một số lượng lớn các server ảo.

MapReduce là khuôn khổ điều phối tất cả các hoạt động của Hadoop. Nó xử lý việc phân công công việc cho các node khác nhau trong cụm.

Lợi ích của việc sử dụng Hadoop

Kiến trúc của Hadoop cho phép bạn mở rộng phần cứng của bạn khi cần thiết. Các node mới có thể được thêm vào từng bước mà không cần phải lo lắng về sự thay đổi định dạng dữ liệu hoặc việc xử lý các ứng dụng nằm trên hệ thống file .

Một trong những tính năng quan trọng nhất của Hadoop là nó cho phép bạn tiết kiệm số tiền khổng lồ bằng cách thay thế các server hàng hóa giá rẻ bằng các server đắt tiền. Điều này có thể xảy ra vì Hadoop chuyển trách nhiệm chịu lỗi từ lớp phần cứng sang lớp ứng dụng.

Cài đặt Hadoop

Việc cài đặt và cài đặt cũng như chạy Hadoop khá đơn giản. Tuy nhiên, vì quá trình này yêu cầu chỉnh sửa nhiều file cấu hình và cài đặt , hãy đảm bảo từng bước được thực hiện đúng.

1. Cài đặt Java

Hadoop yêu cầu cài đặt Java, vì vậy hãy bắt đầu bằng cách cài đặt Java:

apt-get update apt-get install default-jdk 

Các lệnh này sẽ cập nhật thông tin gói trên VPS của bạn và sau đó cài đặt Java. Sau khi thực hiện các lệnh này, hãy thực hiện lệnh sau để xác minh Java đã được cài đặt:

java -version 

Nếu Java đã được cài đặt, điều này sẽ hiển thị chi tiết version như được minh họa trong hình ảnh sau:

Java Verification

2. Tạo và cài đặt certificate SSH

Hadoop sử dụng SSH (để truy cập các node của nó) mà thông thường sẽ yêu cầu user nhập password . Tuy nhiên, yêu cầu này có thể được loại bỏ bằng cách tạo và cài đặt certificate SSH bằng các lệnh sau:

ssh-keygen -t rsa -P '' cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

Sau khi thực hiện lệnh đầu tiên trong hai lệnh này, bạn có thể được yêu cầu nhập tên file . Chỉ cần để trống và nhấn phím enter để tiếp tục. Lệnh thứ hai thêm khóa mới tạo vào danh sách các khóa được ủy quyền để Hadoop có thể sử dụng SSH mà không cần nhắc nhập password .

Setup SSH Certificates

3. Tìm nạp và cài đặt Hadoop

Trước tiên, hãy tìm nạp Hadoop từ một trong các bản sao bằng lệnh sau:

wget http://www.motorlogy.com/apache/hadoop/common/current/hadoop-2.3.0.tar.gz 

Lưu ý: Lệnh này sử dụng liên kết download trên một trong các bản sao được liệt kê trên trang web Hadoop. Danh sách các gương có thể được tìm thấy trên liên kết này . Bạn có thể chọn bất kỳ gương nào khác nếu bạn muốn. Để download version ổn định mới nhất, hãy chọn file * hadoop-XYZtar.gz ** từ folder hiện tại hoặc folder current2 trên máy nhân bản đã chọn của bạn. *

Sau khi download gói Hadoop, hãy thực hiện lệnh sau để extract nó:

tar xfz hadoop-2.3.0.tar.gz 

Lệnh này sẽ extract tất cả các file trong gói này trong một folder có tên là hadoop-2.3.0 . Đối với hướng dẫn này, cài đặt Hadoop sẽ được chuyển đến folder /usr/local/hadoop bằng lệnh sau:

mv hadoop-2.3.0 /usr/local/hadoop  

Lưu ý: Tên của folder được extract phụ thuộc vào version Hadoop mà bạn đã download và extract . Nếu version của bạn khác với version được sử dụng trong hướng dẫn này, hãy thay đổi lệnh trên cho phù hợp.

4. Chỉnh sửa và cài đặt file cấu hình

Để hoàn tất quá trình cài đặt Hadoop, các file sau sẽ phải được sửa đổi:

  • ~ / .bashrc
  • /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  • /usr/local/hadoop/etc/hadoop/core-site.xml
  • /usr/local/hadoop/etc/hadoop/yarn-site.xml
  • /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
  • /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Tôi. Chỉnh sửa ~ / .bashrc

Trước khi chỉnh sửa file .bashrc trong folder chính của bạn, ta cần tìm đường dẫn nơi Java đã được cài đặt để đặt biến môi trường JAVA_HOME . Hãy sử dụng lệnh sau để làm điều đó:

update-alternatives --config java 

Điều này sẽ hiển thị thông tin như sau:

Get Java Path

Đường dẫn hoàn chỉnh được hiển thị bởi lệnh này là:

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 

Giá trị cho JAVA_HOME là mọi thứ trước /jre/bin/java trong đường dẫn trên - trong trường hợp này là /usr/lib/jvm/java-7-openjdk-amd64 . Hãy ghi lại điều này vì ta sẽ sử dụng giá trị này trong bước này và trong một bước khác.

Bây giờ sử dụng nano (hoặc trình soạn thảo bạn muốn ) để chỉnh sửa ~ / .bashrc bằng lệnh sau:

nano ~/.bashrc 

Thao tác này sẽ mở file .bashrc trong editor . Đi tới cuối file và dán / nhập nội dung sau vào đó:

#HADOOP VARIABLES START export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export HADOOP_INSTALL=/usr/local/hadoop export PATH=$PATH:$HADOOP_INSTALL/bin export PATH=$PATH:$HADOOP_INSTALL/sbin export HADOOP_MAPRED_HOME=$HADOOP_INSTALL export HADOOP_COMMON_HOME=$HADOOP_INSTALL export HADOOP_HDFS_HOME=$HADOOP_INSTALL export YARN_HOME=$HADOOP_INSTALL export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib" #HADOOP VARIABLES END 

Lưu ý 1: Nếu giá trị của JAVA_HOME khác trên VPS của bạn, hãy đảm bảo thay đổi câu lệnh export đầu tiên trong nội dung trên cho phù hợp.

Lưu ý 2: Các tệp được mở và chỉnh sửa bằng nano có thể được lưu bằng Ctrl + X Khi được yêu cầu lưu thay đổi, hãy nhập Y Nếu bạn được yêu cầu nhập tên file , chỉ cần nhấn phím enter.

Phần cuối của file .bashrc sẽ giống như sau:

.bashrc contents

Sau khi lưu file .bashrc , hãy thực hiện lệnh sau để hệ thống của bạn nhận ra các biến môi trường mới được tạo:

source ~/.bashrc 

Đưa nội dung trên vào file .bashrc đảm bảo các biến này luôn có sẵn khi VPS của bạn khởi động.

ii. Chỉnh sửa /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Mở file /usr/local/hadoop/etc/hadoop/hadoop-env.sh bằng nano bằng lệnh sau:

nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh 

Trong file này, định vị dòng xuất biến JAVA_HOME . Thay đổi dòng này thành sau:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 

Lưu ý: Nếu giá trị của JAVA_HOME khác trên VPS của bạn, hãy đảm bảo thay đổi dòng này cho phù hợp.

Tệp hadoop-env.sh sẽ trông giống như sau:

hadoop-env.sh contents

Lưu file này. Thêm câu lệnh trên trong file hadoop-env.sh đảm bảo giá trị của biến JAVA_HOME sẽ có sẵn cho Hadoop khi nào nó được khởi động.

iii. Chỉnh sửa /usr/local/hadoop/etc/hadoop/core-site.xml

Tệp /usr/local/hadoop/etc/hadoop/core-site.xml chứa các thuộc tính cấu hình mà Hadoop sử dụng khi khởi động. Tệp này được dùng để overrides cài đặt mặc định mà Hadoop bắt đầu.

Mở file này bằng nano bằng lệnh sau:

nano /usr/local/hadoop/etc/hadoop/core-site.xml 

Trong file này, nhập nội dung sau vào giữa <configuration></configuration> :

<property>    <name>fs.default.name</name>    <value>hdfs://localhost:9000</value> </property> 

Tệp core-site.xml sẽ trông giống như sau:

core-site.xml contents

Lưu file này.

iv. Chỉnh sửa /usr/local/hadoop/etc/hadoop/yarn-site.xml

Tệp /usr/local/hadoop/etc/hadoop/yarn-site.xml chứa các thuộc tính cấu hình mà MapReduce sử dụng khi khởi động. Tệp này được dùng để overrides cài đặt mặc định mà MapReduce bắt đầu.

Mở file này bằng nano bằng lệnh sau:

nano /usr/local/hadoop/etc/hadoop/yarn-site.xml 

Trong file này, nhập nội dung sau vào giữa <configuration></configuration> :

<property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value> </property> <property>    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>    <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> 

Tệp yarn-site.xml sẽ trông giống như sau:

yarn-site.xml contents

Lưu file này.

v. Tạo và chỉnh sửa /usr/local/hadoop/etc/hadoop/mapred-site.xml

Theo mặc định, folder /usr/local/hadoop/etc/hadoop/ chứa /usr/local/hadoop/etc/hadoop/mapred-site.xml.template file phải được đổi tên / sao chép với tên mapred-site.xml . Tệp này được sử dụng để chỉ định khung công tác nào đang được sử dụng cho MapReduce.

Điều này có thể được thực hiện bằng cách sử dụng lệnh sau:

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml 

Sau khi hoàn tất, hãy mở file mới tạo bằng nano bằng lệnh sau:

nano /usr/local/hadoop/etc/hadoop/mapred-site.xml 

Trong file này, nhập nội dung sau vào giữa <configuration></configuration> :

<property>    <name>mapreduce.framework.name</name>    <value>yarn</value> </property> 

Tệp mapred-site.xml sẽ trông giống như sau:

mapred-site.xml contents

Lưu file này.

vi. Chỉnh sửa /usr/local/hadoop/etc/hadoop/hdfs-site.xml

/usr/local/hadoop/etc/hadoop/hdfs-site.xml phải được cấu hình cho từng server trong cụm đang được sử dụng. Nó được sử dụng để chỉ định các folder sẽ được sử dụng làm nút tên và nút dữ liệu trên server đó.

Trước khi chỉnh sửa file này, ta cần tạo hai folder chứa nút tên và nút dữ liệu cho cài đặt Hadoop này. Điều này có thể được thực hiện bằng các lệnh sau:

mkdir -p /usr/local/hadoop_store/hdfs/namenode mkdir -p /usr/local/hadoop_store/hdfs/datanode 

Lưu ý: Bạn có thể tạo các folder này ở các vị trí khác nhau, nhưng hãy đảm bảo sửa đổi nội dung của hdfs-site.xml phù hợp.

Sau khi hoàn tất việc này, hãy mở file /usr/local/hadoop/etc/hadoop/hdfs-site.xml bằng nano bằng lệnh sau:

nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml 

Trong file này, nhập nội dung sau vào giữa <configuration></configuration> :

<property>    <name>dfs.replication</name>    <value>1</value>  </property>  <property>    <name>dfs.namenode.name.dir</name>    <value>file:/usr/local/hadoop_store/hdfs/namenode</value>  </property>  <property>    <name>dfs.datanode.data.dir</name>    <value>file:/usr/local/hadoop_store/hdfs/datanode</value>  </property> 

Tệp hdfs-site.xml sẽ trông giống như sau:

hdfs-site.xml contents

Lưu file này.

Định dạng hệ thống file Hadoop mới

Sau khi hoàn thành tất cả cấu hình được nêu trong các bước trên, hệ thống file Hadoop cần được định dạng để có thể bắt đầu sử dụng. Điều này được thực hiện bằng cách chạy lệnh sau:

hdfs namenode -format 

Lưu ý: Việc này chỉ cần thực hiện một lần trước khi bạn bắt đầu sử dụng Hadoop. Nếu lệnh này được thực thi lại sau khi Hadoop đã được sử dụng, nó sẽ phá hủy tất cả dữ liệu trên hệ thống file Hadoop.

Khởi động Hadoop

Tất cả những gì còn phải làm là khởi động cụm nút đơn mới được cài đặt:

start-dfs.sh 

Trong khi thực hiện lệnh này, bạn sẽ được yêu cầu hai lần với một thông báo tương tự như sau:

Bạn có chắc chắn muốn tiếp tục kết nối (có / không)?

Nhập yes cho cả hai dấu nhắc này và nhấn phím enter. Sau khi hoàn tất, hãy thực hiện lệnh sau:

start-yarn.sh 

Việc thực thi hai lệnh trên sẽ chạy Hadoop. Bạn có thể xác minh điều này bằng lệnh lệnh sau:

jps 

Việc thực thi lệnh này sẽ hiển thị cho bạn một cái gì đó tương tự như sau:

jps command

Nếu bạn có thể thấy kết quả tương tự như được mô tả trong ảnh chụp màn hình ở trên, điều đó nghĩa là bạn hiện có một version chức năng của Hadoop đang chạy trên VPS của bạn.

Bước tiếp theo

Nếu bạn có một ứng dụng được cài đặt để sử dụng Hadoop, bạn có thể kích hoạt ứng dụng đó và bắt đầu sử dụng nó với bản cài đặt mới. Mặt khác, nếu bạn chỉ chơi xung quanh và khám phá Hadoop, bạn có thể bắt đầu bằng cách thêm / thao tác dữ liệu hoặc file trên hệ thống file mới để cảm nhận nó.

<div class = “author”> Gửi bởi: <a href=osystemhttp://javascript.asiaosystem> Jay </a> </div>


Tags:

Các tin liên quan

Cách cài đặt Hadoop trên Ubuntu 13.10
2014-03-20
Cách cài đặt ProcessWire trên VPS Ubuntu
2014-03-20
Cách cài đặt HHVM (Máy ảo HipHop) trên VPS Ubuntu 13.10
2014-03-18
Cách thiết lập server cloud Ubuntu cho ứng dụng web Python
2014-02-25
Cách cài đặt và bắt đầu với CMS Mezzanine trên Django trên Ubuntu
2014-02-25
Cách cài đặt Django CMS phiên bản 3 Beta 3 với Django 1.6 trên Ubuntu
2014-02-25
Làm thế nào để Dockerise và triển khai nhiều ứng dụng WordPress trên Ubuntu
2014-02-13
Cách cài đặt Ruby 2.1.0 và Sinatra trên Ubuntu 13 với RVM
2014-02-10
Cách tạo Sách dạy nấu ăn Đầu bếp Đơn giản để Quản lý Cơ sở hạ tầng trên Ubuntu
2014-02-03
Cách cài đặt MariaDB từ Binary Tarballs trên Ubuntu 13.10
2014-01-28