[置顶] ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

时间:2022-01-10 08:54:48

1:下载hadoop-1.0.3.tar.gz安装包放到制定目录下;

2:将hadoop-1.0.3.tar.gz解压到/home/scs2000/app下(scs2000为当前用户名),其命令如下:

sudo tar xzf /mnt/hgfs/ubuntushare/hadoop-1.0.3.tar.gz

3:重命名文件夹hadoop-1.0.3为hadoop:

mv hadoop-1.0.3 hadoop

4:把hadoop的主属性改为scs2000:

sudo chown -R scs2000 hadoop

5:更新hadoop的环境变量:

gedit hadoop/conf/hadoop-env.sh

更改如下环境变量:

# The java implementation to use.  Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun

更改为本机jdk:

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_09

6:配置ssh

sudo apt-get install ssh
sudo apt-get install rsync
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

7:验证ssh配置是否成功:

ssh localhost

注意在出现提示信息时应输入yes,不是直接回车:

The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is d7:3f:3f:a0:bd:cc:42:09:b8:5d:8a:f1:62:45:28:37.
Are you sure you want to continue connecting (yes/no)? yes

8:搭建单机伪分布式运行环境

伪分布式运行模式是运行在单个机器上,每一个hadoop的守候一个单独的java进程。

配置conf/core-site.xml,添加如下内容:

gedit conf/core-site.xml
<configuration>    <property>       <name>fs.default.name</name>        <value>hdfs://localhost:9000</value>    </property></configuration>

配置conf/hdfs-site.xml,添加如下内容:

gedit conf/hdfs-site.xml
<configuration>    <property>        <name>dfs:replication</name>        <value>1</value>    </property></configuration>

配置conf/mapred-site.xml,添加如下内容:

gedit conf/mapred-site.xml
<configuration>    <property>       <name>mapred.job.tracker</name>       <value>localhost:9001</value>    </property></configuration>

9:格式化HDFS

进入hadoop目录。运行命令:

sudo bin/hadoop namenode -format

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

10:启动及验证hadoop监护进程

bin/start-all.sh

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

验证方法1:jps

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

验证方法2:

bin/hadoop dfsadmin -report

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

11:复制输入文件到HDFS

在HDFS下创建input目录,将hadoop/conf下的所有xml文件上传到input下:

bin/hadoop dfs -mkdir input
bin/hadoop dfs -put conf/*.xml input

查看input中上传的文件:

bin/hadoop dfs -ls input

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

12:运行例子,将结果输出到output。

bin/hadoop jar hadoop-examples-1.0.3.jar grep input output 'dfs[a-z].+'

如果报如下错误是因为执行了多次put之后,就会在分布式文件系统中生成子目录,删除重新put即可。
[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

 出现以上错误后执行如下命令清除多余子目录后在重新put。

部分运行结果:

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

13:结果文件输出

A:将结果输出文件从分布式文件系统拷贝到本地文件系统查看;

bin/hadoop dfs -get output output
cat output/*

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)

B:在分布式文件系统上输出查看:

bin/hadoop fs -cat output/part-*

[置顶]        ubuntu12.04下安装hadoop-1.0.3 并搭建单机伪分布式运行环境(一)