Home > Programming > Cài đặt và sử dụng Hadoop (II)

Cài đặt và sử dụng Hadoop (II)

+Phân bố hoàn toàn (fully-distributed)

Cài thêm 2 máy ảo (ubuntu), cài gói java, sửa hostname lại thành ubuntu1, ubuntu2, ubuntu3

$ sudo hostname ubuntu1

$ sudo gedit /etc/hostname

Ubuntu1 sẽ làm NameNode, sửa file /etc/hosts theo địa chỉ ip của các máy:

127.0.0.1 localhost

192.168.1.31 ubuntu1

192.168.1.32 ubuntu2

192.168.1.33 ubuntu3

Máy ubuntu2 và ubuntu3 làm DataNode, cũng sửa /etc/hosts lại

127.0.0.1 localhost

192.168.1.31 ubuntu1

192.168.1.32 ubuntu2

127.0.0.1 localhost

192.168.1.31 ubuntu1

192.168.1.33 ubuntu3

Tạo user tên grid trên 3 máy:

$ useradd –m grid

$ passwd grid

Trên 3 máy đều tạo folder ssh

$ mkdir .ssh

Trên ubuntu1 tạo cặp mật mã và copy sang 2 máy còn lại

$ ssh-keygen –t rsa

$ cd .ssh

$ cp id_rsa.pub authorized_keys

$ scp authorized_keys ubuntu2:/home/grid/.ssh

$ scp authorized_keys ubuntu3:/home/grid/.ssh

Trên 3 máy

$ chmod 644 authoried_keys

Config hadoop

Trên ubuntu1

$ tar –zxvf  /mnt/hgfs/SharedCloud/hadoop-0.19.2.tar.gz

Sửa đường dẫn Java trong conf/hadoop-env.sh lại cho đúng

Sửa file conf/hadoop-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://ubuntu1:9000</value>

</property>

<property>

<name>mapred.job.tracker</name>

<value>ubutu1:9001</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

Sửa conf/master với nội dung ubuntu1; conf/slaves với nội dung ubuntu2 và ubuntu3

Copy hadoop từ ubuntu1 sang 2 máy còn lại:

$ scp –r hadoop-0.19.2 ubuntu2:/home/grid

$ scp –r hadoop-0.19.2 ubuntu3:/home/grid

Nếu các máy ubuntu2 và ubuntu3 sử dụng java có version khác với ubuntu1 hoặc cài java ở thư mục khác thì phải sửa lại conf/hadoop-env.sh cho phù hợp

Chạy hadoop

$ bin/hadoop namenode –format

$ bin/start-all.sh

Tạo folder input chứa 2 file như phần trước

$ bin/hadoop dfs –put input in

$ bin/hadoop jar hadoop-0.19.2-examples.jar wordcount in out

$ bin/hadoop dfs –cat out/*

Kết thúc

$ bin/stop-all.sh

Notes:

1/Sau khi start-all, bạn có thể xem status của hệ thống tại http://ubuntu1:50070, http://ubuntu1:50030

2/Khi muốn format lại NameNode thì làm như sau:

Dùng bin/stop-all.sh

Xóa folder HADOOP_HOME/tmp

Format lại NameNode

Khởi động lại

3/Sau khi start-all nhưng không kết nối được trang http://ubuntu1:50070, chứng tỏ NameNode chưa được khởi động đúng, nếu dùng lệnh stop-all thì báo là no namenode to stop, cần khởi động lại lần nữa

4/Khi dùng lệnh bin/hadoop dfs -put input in thì báo lỗi could only be replicated to 0 nodes, instead of 1, mở http://ubuntu1:50070 thì thấy livenodes: 0 (livenodes trường hợp này phải là 2 mới đúng), format lại NameNode có thể khắc phục lỗi này (nhưng không phải lúc nào cũng thành công).

5/Qua thí nghiệm nhận thấy, lệnh start-all thường không khởi động đầy đủ 5 processes (như 2 lỗi 3/ và 4/), trường hợp này có thể dùng bổ sung 2 lệnh

bin/start-dfs.sh (khởi động NameNode và DataNode)

bin/start-mapred.sh (khởi động JobTracker và TaskTracker)

Categories: Programming Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: