1.2单节点安装
1.2.1目的
本文档讲述怎样安装和配置一个单节点的Hadoop,使读者可以快速的开始一些使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)的简单操作。
1.2.2先决条件
1.2.2.1支持的平台
- 支持GNU / Linux作为开发和生产平台.Hadoop 2000个节点的集群部署已经在GNU / Linux得到了验证。
- 窗户也是一个被支持的平台,但以下步骤仅适用于Linux操作系统。关于如何在窗户上安装的Hadoop,请查看维基页面。
1.2.2.2必备软件
Linux的下的必备软件包括:
1. Java™必须要安装。推荐的Java版本可以从HadoopJavaVersion中找到。
2. ssh必须要安装,且sshd必须在运行中,以便可以使用Hadoop脚本管理远程Hadoop实例。
1.2.2.3安装软件
如果你的集群没有安装必备软件,你需要先安装这些软件。
以Ubuntu Linux为例:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
1.2.3下载
若要获得的Hadoop的发布,可以从Apache的下载镜像下载最近的稳定发布版。
1.2.4准备启动Hadoop集群
解压已下载的Hadoop的发布在解压后的文件夹中,修改等/ Hadoop的/ hadoop-env.sh文件,在文件中定义如下参数:
#设置为Java安装的根目录
export JAVA_HOME = / usr / java / latest
执行如下命令:
$ bin / hadoop
系统将展示的Hadoop脚本的使用文档。
现在你可以以以下三种方式之一启动你的Hadoop的集群:
- 本地(独立)模式
- 伪分布模式
- 全分布式模式
1.2.5独立模式操作
默认情况下,Hadoop的作为一个单一的Java的进程被配置运行在一个非分布式的模式下。
下面这个例子拷贝解压后的的conf目录作为输入,然后找到并展示每个匹配正则表达式的项,输出被写入指定的输出目录。
$ mkdir输入
$ cp etc / hadoop / * .xml输入
$ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.9.1.jar grep input output'dfs [az。] +'
$ cat输出/ *
1.2.6伪分布式操作
Hadoop的还可以在一个伪分布式的单一节点上运行。这种情况下,每个Hadoop的守护进程运行在独立的Java的进程上。
1.2.6.1配置
使用以下配置:
等/ hadoop的/芯-site.xml中:
<结构>
<属性>
<名称> fs.defaultFS </名称>
<值> HDFS://本地主机:9000 </值>
</属性>
</配置>
等/ hadoop的/ HDFS-site.xml中:
<结构>
<属性>
<名称> dfs.replication </名称>
<值> 1 </值>
</属性>
</配置>
1.2.6.2设置无密码的ssh
现在,请确认你可以通过SSH不使用密码连接到本地主机:
$ ssh localhost
如果你不能通过SSH不使用密码连接到本地主机,请执行下面的命令:
$ ssh-keygen -t rsa -P'' - f~ / .ssh / id_rsa
$ cat~ / .ssh / id_rsa.pub >>〜/ .ssh / authorized_keys
$ chmod 0600~ / .ssh / authorized_keys
1.2.6.3执行
以下的命令是在本地运行一个MapReduce的任务。如果你想在纱上执行一个任务,请参考单节点YARN章节。
1.格式化文件系统
$ bin / hdfs namenode -format
2.启动NameNode和DataNode守护进程:
$ sbin / start-dfs.sh
Hadoop的守护进程的日志被写入$ HADOOP_LOG_DIR定义的路径(默认写入$ HADOOP_HOME /日志)。
3.浏览NameNode的网页面。默认访问以下地址:
l 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输入
6.运行Hadoop提供的样例程序:
$ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.9.1.jar grep input output'dfs [az。] +'
7.检查输出文件:从分布式文件系统中拷贝输出文件到本地文件系统,并检查:
$ bin / hdfs dfs -get输出
$ cat输出/ *
或者
在分布式文件系统中查看输出文件:
$ bin / hdfs dfs -cat输出/ *
8.当操作完成后,用以下命令停止守护程序:
$ sbin / stop-dfs.sh
1.2.6.4单节点YARN
在伪分布模式下,你可以设置一些参数在纱线上运行一个MapReduce的任务,也可以运行ResourceManager的守护进程和节点管理器守护进程。
以下指令的运行假定一致性上一章节的1-4步的操作。
1.修改以下文件中的参数:
等/ hadoop的/ mapred-site.xml中:
<结构>
<属性>
<名称> mapreduce.framework.name </名称>
<值>纱</值>
</属性>
</配置>
等/ hadoop的/纱-site.xml中:
<结构>
<属性>
<名称> yarn.nodemanager.aux服务</名称>
<值> mapreduce_shuffle </值>
</属性>
</配置>
2.启动ResourceManager和NodeManager守护进程:
$ sbin / start-yarn.sh
3.浏览ResourceManager的Web页面。默认访问以下地址:
l ResourceManager - http:// localhost:8088 /
4.运行一个MapReduce任务。
5.当执行完毕,用以下命令停止守护进程:
$ sbin / stop-yarn.sh
1.2.7全分布式操作
有关全分布式,真正集群的安装配置信息,请参考集群安装章节。