Alex的说明
- 本页主要讨论Hadoop的搭建和使用,以及其中可能出现的问题。您可以了解:
- 如何快速试用Hadoop?比如手头只有一台装有Windows的计算机,用VMware中的Ubuntu虚拟机去体验Hadoop。
- 如何在一个简易集群上搭建Hadoop?比如在局域网内几台普通配置计算机上搭建。
- 如何在Hadoop上开发应用?比如在Windows上的Eclipse远程调试,可能需要编译Hadoop。
- 本页所做工作均通过本人测试。但配置方法条条大路通罗马,可能出现各种问题,本页也无法以偏概全,希望大家实践后能及时纠正和补充。
准备工作
版本选择
- 不同的版本号前缀表示版本所属的系列,比如稳定版或alpha、beta版。
- 1.0.X - current stable version, 1.0 release
- 1.1.X - current beta version, 1.1 release
- 2.X.X - current alpha version
- 0.23.X - simmilar to 2.X.X but missing NN HA.
- 0.22.X - does not include security
- 0.20.203.X - old legacy stable version
- 0.20.X - old legacy version
- 本页选择稳定版之1.0.4(05-Oct-2012)
支持的OS平台
- Hadoop最好运行在GNU/Linux环境之上,其开发和编译也需GNU/Linux的支持。本页使用常见的Ubuntu Desktop 12.04.2 LTS作为安装、编译等的演示平台。
-
Hadoop对Win32的支持不够好。本页使用Windows(7)上的Eclipse开发MapReduce应用,并在远端的Hadoop(VMware虚拟机或集群)上调试。
创建Hadoop账户
- Hadoop要求所有机器节点上Hadoop的部署目录结构要相同,并且都有一个相同用户名的帐户。
- 创建一个名为hadoop的用户并加入hadoop用户组:
sudo addgroup hadoop sudo adduser --ingroup hadoop hadoop ... Full Name []: hadoop ...
- 为hadoop用户赋予sudo权限,在/etc/sudoers如下位置加入hadoop ALL=(ALL) ALL:
... # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL hadoop ALL=(ALL) ALL ...
JDK安装
- Hadoop是用Java编写的,运行需要JVM支持,编译也需要安装JDK。
- 测试命令:
java -version javac -version
- Hadoop要求JDK的版本最好大于1.6。
apt-get方式
- Ubuntu从10.04版本起去掉了sun-java6-jre,sun-java6-jdk的源,标准库只有openJDK了,所以直接运行会提示:
sudo apt-get install sun-java6-jdk ... Package sun-java6-jdk is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'sun-java6-jdk' has no installation candidate
- 尝试使用8.04 LTS中的JDK源,在/etc/apt/sources.list中添加如下源,并update。
deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
-
在apt-get install的过程中,可能有4个包打包下载仍然没有源:
- java-common_0.38_all.deb
- odbcinst1debian2_2.2.14p2-1ubuntu1_i386.deb
- odbcinst_2.2.14p2-1ubuntu1_i386.deb
- unixodbc_2.2.14p2-1ubuntu1_i386.deb
- 安装完成的版本为:1.6.0_06
下载bin包手动安装
- Hadoop要求JDK的版本大于1.6,本页选择Java SE Development Kit 6 Update 45。
- 执行如下命令安装(解压)。
chmod u+x jdk-6u45-linux-i586.bin ./jdk-6u45-linux-i586.bin
- 用得到的名为jdk1.6.0_45的文件夹,创建JVM目录。
sudo mkdir -p /usr/lib/jvm sudo mv jdk1.6.0_45 /usr/lib/jvm/
- 配置(所有用户的)环境变量,编辑/etc/profile,末尾加入如下,并注销注销生效。