Cách cài đặt Hadoop cho Developer mới bắt đầu
White

Phuc Nguyen viết ngày 08/09/2015

alt text
Chắc hẳn bạn sẽ nghĩ mình sẽ giải thích Hadoop là gì, tuy nhiên trong bài viết này không đề cập đến vấn đề đó vì Google đã có rất nhiều bài giới thiệu về Hadoop rồi.

Bài viết này sẽ bày cách cài đặt Hadoop trên Linux dành cho developer nghiên cứu, cụ thể ở đây tôi sẽ chọn máy ảo Cent OS 6.5 được thực hiện hoàn toàn bằng Terminal.

Chuẩn bị

Bạn cần chuẩn bị các bước sau đây trước khi cài đặt Hadoop

1) Kiểm tra phiên bản Java hiện tại

$ java -version

Nếu version > 7.x thì bạn tiếp tục, không thì phải install/update lên

$ yum install java-1.7.0-openjdk-devel.x86_64

2) Tạo user/group cho Hadoop

Tạo group là hadoop, có một user là hdfs

$ groupadd hadoop
$ adduser hdfs -g hadoop

3) Quan trọng: SSH certificate

Generate ra certificate key cho user

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Cài đặt

Tiến hành các bước sau để cài đặt

1) Download Hadoop

Xem link bản mới nhất tại http://hadoop.apache.org/releases.html#Download

Chuyển sang user hdfs và tạo 1 folder cho user hdfs nếu chưa có

$ su hdfs
$ mkdir /home/hdfs => nếu chưa có thì tạo
$ cd /home/hdfs
$ wget http://mirrors.digipower.vn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
$ tar xvzf hadoop-2.2.0.tar.gz

Rename thư mục vừa giải nén cho nó gọn

$ mv hadoop-2.2.0 hadoop

2) Set biến môi trường cho Hadoop

Thoát ra khỏi user hdfs để vô user root

$ exit

Mở file /root/.bashrc

$ vi /root/.bashrc

Add thêm vô như sau

#Hadoop variables
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0/ #folder chua Java
export HADOOP_INSTALL=/home/hdfs/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
###end of paste

Chuyển sang user hdfs

$ su hdfs

Mở file /home/hdfs/hadoop/etc/hadoop/hadoop-env.sh

$ vi /home/hdfs/hadoop/etc/hadoop/hadoop-env.sh

Sửa lại như sau

JAVA_HOME=/usr/lib/jvm/jre-1.7.0/

4) Kiểm tra Hadoop shell

$ hadoop version

Ra được như vầy là tốt

Hadoop 2.2.0
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
This command was run using /home/hdfs/hadoop/share/hadoop/common/hadoop-common-2.2.0.jar

5) Thiết lập setting cho Hadoop

$ su hdfs
$ cd /home/hdfs
$ vi /home/hdfs/hadoop/etc/hadoop/core-site.xml

Sửa lại thành

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

Mở file

$ vi /home/hdfs/hadoop/etc/hadoop/yarn-site.xml

Sửa lại thành

<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>
</configuration>

$ vi /home/hdfs/hadoop/etc/hadoop/mapred-site.xml

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

6) Tạo Namenode & Datanode

Tạo folder cho namenode & datanote

$ mkdir -p /home/hdfs/namenode
$ mkdir -p /home/hdfs/datanode

7) Thiếp lập Namenode & Datanode

Mở file

$ vi /home/hdfs/hadoop/etc/hadoop/hdfs-site.xml

Sửa thành

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hdfs/datanode</value>
</property>
</configuration>

8) Format Namenode:

Gần xong rồi, đến đây cần phải format namenode cho HDFS ( Hadoop file system), giống như format phân vùng cho HDFS

$ cd /home/hdfs/hadoop
$ bin/hadoop namenode –format

Kết quả thành công như sau

14/04/15 12:20:00 INFO common.Storage: Storage directory /home/hdfs/namenode has been successfully formatted.
14/04/15 12:20:00 INFO namenode.FSImage: Saving image file /home/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
14/04/15 12:20:00 INFO namenode.FSImage: Image file /home/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 196 bytes saved in 0 seconds.

9) Khởi động dịch vụ Hadoop :

$ start-dfs.sh
$ start-yarn.sh

10) Kiểm tra Namenode & Datanode:

Nếu mọi chuyện tốt đẹp, dùng lệnh jps để kiểm tra, kết quả sẽ in ra màn hình

$ jps

1913 NodeManager
11822 ResourceManager
1680 SecondaryNameNode
2299 Jps
1431 NameNode
1519 DataNode

For English version, please see to learn in this link http://www.face4store.com/blog/how-to-setup-hadoop-2-2-0-hdfs-stable-version-in-your-centos

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Phuc Nguyen

1 bài viết.
1 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
1 bài viết.
1 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!