运行环境:虚拟机linux redhat5(ip:192.168.200.129)
Hadoop版本:1.1.2
第一步:配置SSH免密码登陆(非必须,但是如果不配置,在启动和停止hadoop时都需要重复输入密码,所以最好配置此项)
一般来说,redhat5默认安装了SSH,所以不需要我们再单独安装SSH,如果没有则自行先安装SSH,配置ssh免密码登陆只需要2条命令即可:
ssh-keygen -t rsa -P -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
完成上面2步后,你可以输入 ssh localhost,如果出现下面字样,则表示配置ssh成功
[root@master~]# ssh localhost
Lastlogin: Mon Jun 3 10:22:37 2013 from192.168.200.129
第二步:配置jdk和环境变量,输入 env |grep JAVA_HOME,如果出现如下输出则表示jdk配置成功:
JAVA_HOME=/usr/java/jdk1.6.0_03
第三步: 下载hadoop 1.1.2 的安装包 hadoop-1.2.0-bin.tar.gz 或下载其他版本
(http://mirrors.cnnic.cn/apache/hadoop/common/), 上传到/usr/hadoop 下,并解压
第四步:修改配置文件,需要修改4个配置文件,都位于hadoop解压根目录的conf文件夹下,此处修改均为为最简配置
1. hadoop-env.sh
你会看到配置文件中大约第8行注释掉了JAVA_HOME的配置,在该行下面添加
export JAVA_HOME=/usr/java/jdk1.6.0_03
2. core-site.xml, 修改后如下
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.200.129:9000</value>
</property>
</configuration>
3. hdfs-site.xml,修改后配置如下
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4. mapred-site.xml,修改后配置如下
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.200.129:9001</value>
</property>
</configuration>
到此为止,hadoop伪分布式就配置完成了,下面介绍如何启动和简单使用hadoop
第五步: 格式化hadoop的文件系统hdfs,进入hadoop目录 /hadoop-1.2.0/bin,输入命令
[root@master bin]# ./hadoop namenode -format
会看到有一些带*行的输出,没有报错说明格式化成功
第六步: 启动hadoop,也在目录/hadoop-1.2.0/bin下运行命令
[root@master bin]# ./start-all.sh
会看到命令行输出
startingdatanode ······
startingsecondarynamenode ······
startingjobtracker ······
startingtasktracker ······
则表示已经成功启动hadoop了,那么如何可以直观的看到hadoop的运行状态呢,可以在网页中输入:
http://192.168.200.129:50070 可以查看HDFS的web页面
http://192.168.200.129:50030 可以查看MapReduce的web页面
在hdfs页面中有一个链接Browse thefilesystem 可以查看hadoop的文件系统
注意:很多时候会跳转会失败显示该页无法显示,需要修改2处地方,第一,修改虚拟机中的network connettion为桥接模式(Bridged),第二步需要在客户端的hosts文件里加入hadoop的ip地址与对应的主机名 (如:192.168.200.129 master ,master为你linux主机的hostname),这样就可以正常访问了。