Hadoop是MapReduce的开源实现,现在介绍它的单机模式安装方法。
实验平台:Ubuntu 9.04,Hadoop0.20,JDK1.6
step 1. ssh的安装设置
由于Hadoop用ssh 通信,因此先进行免密码登录设定,
$ apt-get install ssh
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >>
~/.ssh/authorized_keys
$ ssh localhost
完成后请登入确认不用输入密码,(第一次登入需按enter键,第二次就可以直接登入到系统。
~$ ssh localhost
~$ exit
~$ ssh localhost
~$ exit
step 2. 安装java
由于 Sun Java Runtime 是执行 Hadoop 必备的工具,因此我们需要安装 JRE 或 JDK。这里我们直接安装
JDK,因为后面写程序仍旧需要用到 JDK 所提供的编译程序。目前 Ubuntu 9.04 提供的 JDK 套件最新版本为 Sun
Java(TM) Development Kit (JDK) 6 ,套件名称为 sun-java6-jdk。并建议删除原本的 「
gcj 」 。
~$ sudo apt-get purge java-gcj-compat
~$ sudo apt-get install sun-java6-bin
sun-java6-jdk sun-java6-jre
step 3. 下载安装Hadoop
•请至下载 Hadoop 0.20,并解开压缩文件到 /opt 路径。
•$ tar zxvf hadoop-0.20.0.tar.gz
•$ sudo mv hadoop-0.20.0 /opt/
•$ sudo chown -R hadoop:hadoop /opt/hadoop-0.20.0
•$ sudo ln -sf /opt/hadoop-0.20.0 /opt/hadoop
step 4. 设定 hadoop-env.sh
•进入 hadoop 目录,做进一步的设定。我们需要修改两个档案,第一个是 hadoop-env.sh,需要设定 JAVA_HOME,
HADOOP_HOME, PATH 三个环境变量。
/
opt$ cd hadoop/
/opt/hadoop$ cat >>
conf/hadoop-env.sh <<
EOF
贴上以下信息
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:/opt/hadoop/bin
EOF
step 5. 设定 hadoop配置文件
•}鑿/ /opt/hadoop/conf/core-site.xml
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/tmp/hadoop/hadoop-${user.name}
•}鑿/ /opt/hadoop/conf/hdfs-site.xml
dfs.replication
1
•}鑿/ /opt/hadoop/conf/mapred-site.xml
mapred.job.tracker
localhost:9001
step 6. 格式化HDFS
•以上我们已经设定好 Hadoop 单机测试的环境,接着让我们来启动 Hadoop 相关服务,格式化 namenode,
secondarynamenode, tasktracker
•$ cd /opt/hadoop
•$ source /opt/hadoop/conf/hadoop-env.sh
•$ hadoop namenode -format
执行画面如:
09/03/23 20:19:47 INFO dfs.NameNode: STARTUP_MSG:
09/03/23 20:19:47 INFO fs.FSNamesystem:
fsOwner=hadooper,hadooper
09/03/23 20:19:47 INFO fs.FSNamesystem: supergroup=supergroup
09/03/23 20:19:47 INFO fs.FSNamesystem:
isPermissionEnabled=true
09/03/23 20:19:47 INFO dfs.Storage: Image file of size 82 saved in
0 seconds.
09/03/23 20:19:47 INFO dfs.Storage: Storage directory
/tmp/hadoop-hadooper/dfs/name has been successfully
formatted.
09/03/23 20:19:47 INFO dfs.NameNode: SHUTDOWN_MSG:
step 7. 启动Hadoop
•接着用 start-all.sh 来启动所有服务,包含 namenode, datanode,
/opt/hadoop$ bin/start-all.sh
执行画面如:
starting namenode, logging to
/opt/hadoop/logs/hadoop-hadooper-namenode-vPro.out
localhost: starting datanode, logging to
/opt/hadoop/logs/hadoop-hadooper-datanode-vPro.out
localhost: starting secondarynamenode, logging to
/opt/hadoop/logs/hadoop-hadooper-secondarynamenode-vPro.out
starting jobtracker, logging to
/opt/hadoop/logs/hadoop-hadooper-jobtracker-vPro.out
step 8. 安装完毕测试
•启动之后,可以检查以下网址,来观看服务是否正常。Hadoop 管理接口 Hadoop Task Tracker 状态 Hadoop
DFS 状态
•http://localhost:50030/ - Hadoop 管理接口
注:已安装测试成功,参考修改于
http://trac.nchc.org.tw/cloud/wiki/Hadoop_Lab1,感谢NCHC。