Download hadoop-2.7.7.tar.gz
下载稳定版本的hadoop-2.7.7.tar.gz(我用的2.6.0,但是官网只能下载2.7.7的了)
Required Software
Linux所需的软件包括:
必须安装Java。HadoopJavaVersions描述了推荐的Java版本。
必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护进程的Hadoop脚本。
安装jdk、ssh免密登录请看:
linux安装java 1.8
ssh免密登录
Prepare to Start the Hadoop Cluster
准备启动Hadoop集群
解压缩下载的Hadoop发行版。在分布式中,编辑文件etc / hadoop / hadoop-env.sh
以定义一些参数,如下所示:
#设置为Java安装的根目录
export JAVA_HOME = / usr / java / java1.8.0_25
#假设您的安装目录是/ usr / local / hadoop
export HADOOP_PREFIX = / usr / local / hadoop
请尝试以下命令:
$ bin / hadoop
- Local (Standalone) Mode------本地(独立)模式
- Pseudo-Distributed Mode------伪分布式模式
- Fully-Distributed Mode----------全分布式模式
Standalone Operation 本地(独立)操作
默认情况下,Hadoop配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。
以下示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出将写入给定的输出目录。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
$ cat output/*
Pseudo-Distributed Operation 伪分布式操作
Hadoop也可以在伪分布式模式下在单节点上运行,其中每个Hadoop守护程序在单独的Java进程中运行。
Configuration
Use the following:
先在解压的hadoop-2.6.0目录下创建data/tmp文件夹
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/programs/hadoop-2.6.0/data/tmp</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Execution
以下说明是在本地运行MapReduce作业。如果要在YARN上执行作业,请参阅单节点上的YARN 。
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.6.0.jar grep input output'dfs [az。] +'
7.检查输出文件:
将输出文件从分布式文件系统复制到本地文件系统并检查它们:
$ bin/hdfs dfs -get output output
$ cat output/*
要么
查看分布式文件系统上的输出文件:
$ bin/hdfs dfs -cat output/*
8.完成后,停止守护进程:
$ sbin / stop-dfs.sh
单节点上的YARN
您可以通过设置一些参数并运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。
以下说明假设已执行上述指令的 1.~4步骤。
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>
2.启动ResourceManager守护程序和NodeManager守护程序:
$ sbin / start-yarn.sh
3.浏览ResourceManager的Web界面; 默认情况下,它可用于:
ResourceManager - http:// localhost:8088 /
运行MapReduce作业。
4.完成后,停止守护进程:
$ sbin / stop-yarn.sh
Fully-Distributed Operation
请看下篇>>>全分布式模式配置