Ubuntu11.10下安装Hadoop环境(单机伪分布式)
安装ssh
1 |
apt-get install ssh
|
安装rsync
1 |
apt-get install rsync
|
配置ssh免密码登录(因为是单机伪分布式模式,所以仅需检查一下机器是否对自己运行ssh)
1 |
ssh -****** -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,从这个角度不难理解它们之间的关系)。