Hadoop 2 On Windows
hadoop
11
bigdata
3
Apache
12
Java
77
YARN
4
White

Phạm Quốc Thắng viết ngày 17/03/2016

Mở đầu

Sáng giờ hì hục ngồi cài đặt Hadoop trên windows để thực hành BigData, thế mà cài mãi mới được, nên viết cái log lại cho sau này lưu ý :smile:

Problem?

Ban đầu mình tính tự build từ source hadoop ngay trên windows luôn, thế nhưng cứ build là lỗi, lỗi là fix. Đến một lúc mình đã phải cài những thứ sau

- JDK and set JAVA_HOME
- Maven and set path Maven\bin to PATH variable
- cygwin and set path cygwin64\bin to PATH
- protocol buffer v2.5.0

Và vẫn lỗi vì Visual Studio Command Tools nó không phù hợp với cái Net Framework 4.5 trong máy. Lần mò trên stackoverflow thì phải full uninstall cái Net Framework 4.5 và cài 4.0 thì mình từ bỏ luôn, không build nó nữa :smile:

Cài đặt

Vào đây tải bản đã được build rồi: Link

Mình chọn bản 2.7.2 (mới nhất hiện tại) Tải tại đây

Tuy nhiên, trước hết bạn phải cài JDK, theo Cloudera khuyến khích thì nên cài bản 1.7, nhưng mình chơi hẳn 1.8 luôn :smile: kệ nó

Bước 1

Giải nén file hadoop-2.7.2.tar.gz đã tải về ở trên vào C:\deploy (bạn có thể tùy chọn path khác)

Bước 2: Config HDFS mẫu

Vào folder c:\deploy\etc\hadoop
Edit file hadoop-env.cmd, thêm vào bên dưới lưu ý (c:\deploy là path của bạn)

set HADOOP_PREFIX=c:\deploy
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin

Edit file core-site.xml
Thay thế

<configuration>
</configuration>

thành

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://0.0.0.0:19000</value>
  </property>
</configuration>

Edit file hdfs-site.xml
Thay thế

<configuration>
</configuration>

thành

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

Edit file slaves và chắc chắn rằng file này chứa 1 dòng

localhost

Bước 3: Config YARN

Tạo hoặc sửa file mapred-site.xml với nội dung như sau

<configuration>

   <property>
     <name>mapreduce.job.user.name</name>
     <value>%USERNAME%</value>
   </property>

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

  <property>
    <name>yarn.apps.stagingDir</name>
    <value>/user/%USERNAME%/staging</value>
  </property>

  <property>
    <name>mapreduce.jobtracker.address</name>
    <value>local</value>
  </property>

</configuration>

Thay thế %USERNAME% thành username của bạn trong windows

Edit hoặc tạo mới file yarn-site.xml

<configuration>
  <property>
    <name>yarn.server.resourcemanager.address</name>
    <value>0.0.0.0:8020</value>
  </property>

  <property>
    <name>yarn.server.resourcemanager.application.expiry.interval</name>
    <value>60000</value>
  </property>

  <property>
    <name>yarn.server.nodemanager.address</name>
    <value>0.0.0.0:45454</value>
  </property>

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

  <property>
    <name>yarn.server.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
  </property>

  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/dep/logs/userlogs</value>
  </property>

  <property>
    <name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name>
    <value>0.0.0.0</value>
  </property>

  <property>
    <name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name>
    <value>0.0.0.0</value>
  </property>

  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>-1</value>
  </property>

  <property>
    <name>yarn.application.classpath</name>
    <value>%HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*</value>
  </property>
</configuration>

Bước 4: Fix lỗi :smile:

Đầu tiên bạn bật CMD, và run path file sau: c:\deploy\etc\hadoop\hadoop-env.cmd
Sau đó nhập

hadoop version

xem nó có báo lỗi ko nhé :smile:
Nếu nó trả về là

Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /C:/deploy/share/hadoop/common/hadoop-common-2.7.2.jar

Thì chúc mừng, bạn đã cài thành công. Tuy nhiên, sẽ gặp đa số bạn bị lỗi như sau:

The system cannot find the path specified.
Error: JAVA_HOME is incorrectly set.
       Please update c:\deploy\conf\hadoop-env.cmd
'-Xmx512m' is not recognized as an internal or external command,
operable program or batch file.

Lỗi này là do PATH JAVA_HOME, bạn mở file hadoop-env.cmd và sửa dòng sau:
Thay thế

set JAVA_HOME=%JAVA_HOME%

thành

set JAVA_HOME=C:\progra~1\Java\jdk1.8.0_73

Lưu ý: thay thế path theo đúng máy của bạn nhé (Tránh path có khoảng trắng, vì nó sẽ không hoạt động)

Xong rồi :smile:

Tham khảo thêm cách run HDFS - YARN tại Apache Hadoop
Nguồn: http://wiki.apache.org/hadoop/Hadoop2OnWindows

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

Phạm Quốc Thắng

15 bài viết.
44 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
22 33
Chuẩn bị Một link bài hát / video từ mp3.zing.vn Nghịch ngợm Cũng vì dạo này mình hơi rảnh rỗi với có một chút phiền phức khi đang thưởng thức ...
Phạm Quốc Thắng viết hơn 2 năm trước
22 33
White
10 1
Bài viết này mình sẽ trình bày những thứ cơ bản về cú pháp với Swift. Bài viết sẽ gồm các phần Phần 1 Hằng và Biến Ghi chú Dấu chấm phẩy S...
Phạm Quốc Thắng viết hơn 2 năm trước
10 1
White
7 1
Disclaimer: Mình đã thông báo bug này cho support tenlua.vn 2 lần, và họ đã fix bằng cách upgrade 1 bản api ver 2, tuy nhiên api ver 1 vẫn hoạt độn...
Phạm Quốc Thắng viết hơn 2 năm trước
7 1
Bài viết liên quan
White
1 0
Mở đầu Như đã nói ở bài trước, mình đang nghiên cứu về Spark nên cần log lại một số thứ để dành sau này dùng đến :smile: Đối tượng hướng đến vẫn ...
Phạm Quốc Thắng viết hơn 2 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
44 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á!