hadoop单节点安装文档

1.目的

这个文档描述了如何安装和配置hadoop,这样很快的你就可以使用hadoop mapreduce 和 HDFS(hadoop文件系统)进行简单操作。

 

2.先决条件:

2.1平台支持

.支持GUN/Linux 作为开发和生产的平台。hadoop 展示过在GUN/Linux 上的 2000节点的集群。

.也支持windows 平台,但是下面的步骤只适用于linux。windows 上安装页面,参考wiki.

http://wiki.apache.org/hadoop/Hadoop2OnWindows

2.2所需软件:

在linux 上需要安装下列软件:

1.java 必须安装 可以参考:http://wiki.apache.org/hadoop/HadoopJavaVersions

2.ssh 必须安装,并且sshd 必须用hadoop 脚本来运行,这样就可以管理远程hadoop后台进程。

 

3.软件安装:

如果你的集群节点没有所需的软件,你需要安装,例如在乌班图上:

sudo apt-get install ssh

sudo apt-get install rsync

 

3.1下载

可以从http://www.apache.org/dyn/closer.cgi/hadoop/common/相关页面找到下载地址。

3.2准备开启hadoop 集群:

解压下载的hadoop 分布式文件。cd到解压后的文件夹中,编辑etc/hadoop/hadoop-env.sh  定义下列参数:

# set to the root of your Java installation

export JAVA_HOME=/usr/java/latest

 

然后运行下列命令:

bin/hadoop

这将显示使用hadoop脚本的文档。

 

现在你可以用下列三种模式中的一种来启动 hadoop 集群:

  • Local (Standalone) Mode http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation
  • Pseudo-Distributed Mode
  • http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation
  • Fully-Distributed Mode
  • http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html#Fully-Distributed_Operation

4.独立操作模式:

默认情况,hadoop作为单独的java进程,以一个非分布式的模式的配置启动。这个一般用于debug调试。

下面的例子是使用 正则来匹配 从解压出的conf 文件中对应的文件,将这些文件拷贝到input文件夹作为input,然后output 到指定的目录中:

mkdir input

cp etc/hadoop/*.xml input

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output ‘dfs[a-z.]+’

cat output/*

–重新执行测试,output文件夹不能相同。

 

5.伪分布式操作:

hadoop 可以也在一个单独节点上使用伪分布式的模式,每个hadoop后台以单独java进程启动。

5.1配置:

 

etc/hadoop/core-site.xml:

 

 

configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

 

etc/hadoop/hdfs-site.xml:

 

 

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

 

5.2配置无密码ssh:

检查你的本地无密码

ssh localhost

 

如果不能无密码登陆,执行下列操作:

ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

export HADOOP\_PREFIX=/usr/local/hadoop

 

 

 

5.3执行:

下面介绍在本地运行一个MapReduce,如果你想在YARN上执行任务,参考YARN on a Single Node:

1文件系统格式:

bin/hdfs namenode -format

2.开启 NameNode进程和 DataNode进程

sbin/start-dfs.sh

hadoop后台日志写入到 $HADOOP_LOG_DIR (默认是 $HADOOP_HOME/logs)

3.为NameNode配置web界面;默认下这个是可用的:

NameNode – http://localhost:50070/

4.为执行MapReduce 任务配置 HDFS 目录:

bin/hdfs dfs -mkdir /user

bin/hdfs dfs -mkdir /user/<username>

5.拷贝输入文件到分布式文件系统:

bin/hdfs dfs -put etc/hadoop input

6.一些运行的例子:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output ‘dfs[a-z.]+’

 

7.检查输出文件:将output文件从分布式文件系统拷贝到本地文件系统并检查

bin/hdfs dfs -get output output

cat output/*

或者在分布式文件系统中检查:

bin/hdfs dfs -cat output/*

8.当你完成,可以停止后台进程:

sbin/stop-dfs.sh

 

 

6.在单独节点上使用YARN:

你可以在一个伪分布式节点上,通过设置一些参数,并且运行ResourceManager守护进程和NodeManager守护进程的条件下,在YARN 上运行MapReduce 任务。

下列1-4个操作步骤(假设上面介绍的执行步骤都已经执行):

6.1配置

etc/hadoop/mapred-site.xml:

 

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

etc/hadoop/yarn-site.xml:

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

 

 

6.2 执行

1.开启资源管理进程和节点管理进程

sbin/start-yarn.sh

2.为资源管理器配置web;默认地址是:

ResourceManager – http://localhost:8088/

3.运行一个 MapReduce 任务

4.当你完成时,关闭进程:

$ sbin/stop-yarn.sh

 

 

 

 

7.全分布式操作:

更多设置一个完整分布式,简单集群可以参考:

http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/ClusterSetup.html


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *