安装ssh
1 | apt-get install ssh |
安装rsync
1 | apt-get install rsync |
配置ssh免密码登录(因为是单机伪分布式模式,所以仅需检查一下机器是否对自己运行ssh)
1 | ssh -keygen -t dsa -P '' -f ~/. ssh /id_dsa |
2 | cat ~/. ssh /id_dsa.pub >>~/. ssh /authorized_keys |
验证是否成功
1 | ssh localhost |
下载Hadoop0.20.2,JDK1.6.0_31
新建 linux 终端,建立app目录,Java和Hadoop都安装在此目录中。
1 | mkdir /home/app |
2 | 上传jdk与hadoop到app目录下面:rz ,选择要上传的文件上传。
接下来,安装Java和Hadoop,Hadoop解压即可。
1 | cd /home/app |
2 | chmod +x jdk-6u31-linux-i586.bin // 使其获得可执行权限 |
3 | ./jdk-6u31-linux-i586.bin // 进行安装 |
配置JDK环境变量
1 | vi /etc/profile |
增加下面语句到最后
#set java environment
| export JAVA_HOME=/home/app/jdk1.6.0_31 |
2 export
JRE_HOME=/home/app/jdk1.6.0_31/jre
3 | export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH |
4 | export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH |
一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的方法:
source /etc/profile
查看java环境变量是否配置成功:
java -version
接下来开始配置Hadoop
tar zxf hadoop-0.20.2-bin.tar.gz // 解压hadoop压缩包
mv hadoop-0.20.2 hadoop //将文件夹重命名为hadoop
配置Hadoop环境变量
1 | vi /etc/profile |
增加下面语句到最后
#set hadoop environment
export HADOOP_HOME=/home/app/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
进入Hadoop目录
1 | cd /home/app/hadoop |
修改配置文件,指定JDk安装路径
1 | vi conf/hadoop- env .sh |
2 | export JAVA_HOME=/home/app/jdk1.6.0_31 |
修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号
1 | vi conf/core-site.xml |
1 | < configuration > |
2 | < property > |
3 | < name >fs.default.name</ name > |
4 | < value >hdfs://localhost:9000</ value > |
5 | </ property > |
6 | </ configuration > |
修改Hadoop中HDFS的配置,配置的备份方式默认为3,因为安装的是单机版,所以需要改为1
1 | vi conf/hdfs-site.xml |
1 | < configuration > |
2 | < property > |
3 | < name >dfs.replication</ name > |
4 | < value >1</ value > |
5 | </ property > |
6 | </ configuration > |
修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口
1 | vi conf/mapred-site.xml |
1 | < configuration > |
2 | < property > |
3 | < name >mapred.job.tracker</ name > |
4 | < value >localhost:9001</ value > |
5 | </ property > |
6 | </ configuration > |
接下来,启动Hadoop,在启动之前,需要格式化Hadoop的文件系统HDFS,进入Hadoop文件夹,输入下面命令
1 | bin/hadoop namenode - format |
然后启动Hadoop,输入命令
1 | bin/start-all.sh |
这个命令为所有服务全部启动。
最后,验证Hadoop是否安装成功。
方法一:执行jps命令,查看是否有信息,如果没有看hadoop/logs下对应的log日志是否报错
方法二:打开浏览器,分别输入一下网址:
http://localhost:50030 (MapReduce的Web页面)
http://localhost:50070 (HDfS的web页面)
如果都能查看,说明安装成功。
$ sudo ufw disable
注意:这步非常重要。如果不关闭,有可能会出现找不到datanode 问题。
Hadoop分别从三个角度将主机划分为两种角色:
第一,划分为master和slave,即主人与奴隶。
第二,从HDFS的角度,将主机划分为namenode和datanode(在分布式文件系统中,目录的管理很重要,管理目录的就相当于主人,而namenode就是目录管理者)。
第三,从MapReduce的角度,将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。