Cài đặt Hadoop 1.0.4 trên Ubuntu (Single Node Cluster)

Hadoop là một framework mã nguồn mở viết bằng Java cho phép phát triển các ứng dụng phân tán có cường độ dữ liệu lớn một cách miễn phí. Nó cho phép các ứng dụng có thể làm việc với hàng ngàn node khác nhau và hàng trăm petabytes dữ liệu. Tuy nhiên Hadoop chỉ chạy trên môi trường Linux vì vậy chúng ta sẽ gặp phải nhiều khó khăn trong việc cài đặt cũng như làm việc trên môi trường này. Bài viết này sẽ giúp các bạn có thể cài đặt và khởi chạy Hadoop 1.0.4 trên hệ điều hành unbuntu.

Chuẩn bị:

  • Cài đặt Java: do Hadoop được viết bằng Java do vậy ta cần cài đặt máy ảo Java để có thể chạy được nó. Ở đây, chúng ta cài bộ JDK-7 của Oracle.
    Trên giao diện dòng lệnh nhập các lệnh sau:

    sudo add-apt-repository ppa:eugenesan/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer

    Kiểm tra cài đặt theo 2 cách: trên giao diện dòng lệnh gõ:

                  java -version

    hoặc trên bảng điều khiển (Dashboard) gõ: “Oracle Java 7 VisualVM”.

  • Cài đặt SSH: để chạy được Hadoop chúng ta cần cài thêm SSH:

    sudo apt-get install ssh

  • Thêm người dùng mới để chạy Hadoop: điều này là không bắt buộc tuy nhiên chúng ta nên tạo 1 user mới để chạy Hadoop độc lập với các ứng dụng khác.

    sudo addgroup hadoop
    sudo adduser –ingroup hadoop hduser

  • Cấu hình cho SSH:

    su hduser
    ssh-keygen -t rsa -P “”
    cd .ssh
    cat id_rsa.pub >> authorized_keys
    ssh localhost
    exit
    exit

  • Cài đặt trình soạn thảo Vim: ở đây ta dùng trình soạn thảo vim thay cho gedit để có thể chỉnh sửa file text trực tiếp trên giao diện dòng lệnh (terminal). Cài đặt:

    sudo apt-get install vim

    Cách dùng: để chỉnh sửa nội dung trong file text ta chuyển từ chế độ Command sang chế độ Insert (phím i), để chuyển lại chế độ Command ấn phím Esc. Để thoát file mà không lưu dùng :q, lưu và thoát file dùng :wq.

Tiến hành cài đặt Hadoop:

Để file vừa download vào thư mục Home, sau đó thực hiện các lệnh:

tar -xvf  hadoop-1.0.4.tar.gz
sudo mv hadoop-1.0.4 /usr/local/
cd /usr/local/
sudo chown -R hduser:hadoop hadoop-1.0.4/
sudo ln -s hadoop-1.0.4 hadoop
cd /
sudo mkdir  -p /app/hadoop/tmp
sudo chown -R hduser:hadoop /app
cd /usr/local/hadoop
su hduser
cd conf
vim hadoop-env.sh

Sửa nội dung file hadoop-env.sh như sau:

# Set Hadoop-specific environment variables here.

# The only required environment variable is JAVA_HOME.  All others are
# optional.  When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/

# Extra Java CLASSPATH elements.  Optional.
# export HADOOP_CLASSPATH=

# The maximum amount of heap to use, in MB. Default is 1000.
# export HADOOP_HEAPSIZE=2000

# Extra Java runtime options.  Empty by default.
export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true

# Command specific options appended to HADOOP_OPTS when specified
export HADOOP_NAMENODE_OPTS=”-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS”
export HADOOP_SECONDARYNAMENODE_OPTS=”-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS”
export HADOOP_DATANODE_OPTS=”-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS”
export HADOOP_BALANCER_OPTS=”-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS”
export HADOOP_JOBTRACKER_OPTS=”-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS”
# export HADOOP_TASKTRACKER_OPTS=
# The following applies to multiple commands (fs, dfs, fsck, distcp etc)
# export HADOOP_CLIENT_OPTS

lưu file. tiếp tục lệnh:

vi core-site.xml

Sửa nội dung file:

<?xml version=”1.0″?>
<?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>

<!– Put site-specific property overrides in this file. –>

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>Base folder other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:2810</value>
<description>This is name of default file system.</description>
</property>
</configuration>

lưu file và tiếp tục lệnh:

vi mapred-site.xml

Sửa nội dung file thành:

<?xml version=”1.0″?>
<?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>

<!– Put site-specific property overrides in this file. –>

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:2811</value>
<description>The host and port that the MapReduce job tracker runs at.</description>
</property>
</configuration>

Mở và sửa file hdfs-site.xml bằng lệnh: vi hdfs-site.xml

<?xml version=”1.0″?>
<?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>

<!– Put site-specific property overrides in this file. –>

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default data blocks replication</description>
</property>
</configuration>

Sửa file .bashrc :

cd ~
vi .bashrc

thêm vào cuối file (trước các ký tự “~”):

# Set Hadoop-related environment variables
export HADOOP_PREFIX=/usr/local/hadoop
export HADOOP_HOME=/usr/local/hadoop

# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/

# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs=”hadoop fs”
unalias hls &> /dev/null
alias hls=”fs -ls”

# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed ‘lzop’ command.
#
lzohead(){
hadoop fs -cat $1 | lzop -dc | head -1000 | less
}

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_PREFIX/bin

Sau đó thực hiện lệnh:

. ./.bashrc

Như vậy chúng ta đã cài đặt xong Hadoop.

Tiến hành tạo 1 namenode:

hadoop namenode -format

(Để biết cài đặt thành công hay không các bạn tìm xem có dòng: INFO common.Storage: Storage directory /app/hadoop/tmp/dfs/name has been successfully formated. Nếu có báo lỗi và không xuất hiện dòng này, các bạn xem lại các bước bên trên :))

Khởi chạy Hadoop:

cd /usr/local/hadoop/bin/
./start-all.sh

Bây giờ bạn hãy vào trình duyệt web kiểm tra kết quả của mình: truy cập vào địa chỉ localhost:50070 để xem giao diện web của namenode, ngoài ra còn JobTracker Web Interface: localhost:50030 và TaskTracker Web Interface: localhost:50060

Chúc các bạn thành công! 🙂

Advertisements

One thought on “Cài đặt Hadoop 1.0.4 trên Ubuntu (Single Node Cluster)

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s