ubuntu18.04 单机安装

原文链接

介绍

Hadoop是一个基于Java的编程框架,支持在廉价机器集群上处理和存储极大数据集。 它是大数据竞争领域的第一个主要开源项目,由Apache Software Foundation赞助。

Hadoop由四个主要层组成:

  • Hadoop Common是支持其他Hadoop模块的实用程序和库的集合。
  • HDFS代表Hadoop分布式文件系统,负责将数据保存到磁盘。
  • YARN是Yet Another Resource Negotiator的缩写,是HDFS的“操作系统”。
  • MapReduce是Hadoop集群的原始处理模型。 它在集群或映射中分配工作,然后将节点的结果组织并减少为对查询的响应。 许多其他处理模型可用于3.x版本的Hadoop。

Hadoop集群的设置相对复杂,因此该项目包含一个独立模式,适用于学习Hadoop,执行简单操作和调试。

在本教程中,我们将以独立模式安装Hadoop,并运行其中包含的示例示例MapReduce程序之一来验证安装。

先决条件

要学习本教程,您需要:

  • 具有sudo权限的非root用户的Ubuntu 18.04服务器 :您可以在使用Ubuntu 18.04指南的初始服务器设置中了解有关如何使用这些权限设置用户的更多信息。

完成此先决条件后,您就可以安装Hadoop及其依赖项了。

在开始之前,您可能还想看看“ 大数据概念和术语 简介”或“Hadoop简介”

第1步 - 安装Java

首先,我们将更新我们的包列表:

sudo apt update

接下来,我们将在Ubuntu 18.04上安装OpenJDK,这是默认的Java Development Kit:

sudo apt install default-jdk

安装完成后,让我们检查一下版本。

java -version
Outputopenjdk 10.0.1 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

此输出验证是否已成功安装OpenJDK。

第2步 - 安装Hadoop

现在我们应该能够运行Hadoop:

/usr/local/hadoop/bin/hadoop
OutputUsage: hadoop [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS]
 or    hadoop [OPTIONS] CLASSNAME [CLASSNAME OPTIONS]
  where CLASSNAME is a user-provided Java class

OPTIONS is none or any of:

config dir Hadoop config directory
debug turn on shell script debug mode
help usage information
buildpaths attempt to add
class files from build tree
hostnames list
[,of,host,names] hosts to use in slave mode
hosts filename list of hosts to
use in slave mode
loglevel level
set the log4j level for this command
workers turn on worker mode

SUBCOMMAND is one of:
. . .

帮助意味着我们已成功配置Hadoop以独立模式运行。 我们将通过运行它附带的示例MapReduce程序来确保它正常运行。 为此,在我们的主目录中创建一个名为input目录,并将Hadoop的配置文件复制到其中,以将这些文件用作我们的数据。

mkdir ~/input
cp
/usr/local/hadoop/etc/hadoop/.xml ~/input

接下来,我们可以使用以下命令来运行MapReduce hadoop-mapreduce-examples程序,这是一个包含多个选项的Java归档文件。 我们将调用它的grep程序,这是hadoop-mapreduce-examples包含的众多示例之一,后面是输入目录, input和输出目录grep_example MapReduce grep程序将计算文字或正则表达式的匹配。 最后,我们将提供正则表达式allowed[.]来查找声明性句子内或结尾处allowed的单词的出现。 表达式区分大小写,因此如果在句子开头大写,我们就找不到该单词:

/usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar grep ~/input ~/grep_example 'allowed[.]

任务完成后,它会提供已处理内容和遇到的错误的摘要,但这不包含实际结果。

Output . . .
File System Counters
FILE
: Number of bytes read=1330690
FILE
: Number of bytes written=3128841
FILE
: Number of read operations=0
FILE
: Number of large read operations=0
FILE
: Number of write operations=0
Map-Reduce Framework
Map input records=2
Map output records=2
Map output bytes=33
Map output materialized bytes=43
Input split bytes=115
Combine input records=0
Combine output records=0
Reduce input groups=2
Reduce shuffle bytes=43
Reduce input records=2
Reduce output records=2
Spilled Records=4
Shuffled Maps =1
Failed Shuffles=0
Merged Map outputs=1
GC time elapsed
(ms)=3
Total committed heap usage (bytes)=478150656
Shuffle Errors
BAD_ID
=0
CONNECTION
=0
IO_ERROR
=0
WRONG_LENGTH
=0
WRONG_MAP
=0
WRONG_REDUCE
=0
File Input Format Counters
Bytes Read=147
File Output Format Counters
Bytes Written=34

注意:如果输出目录已经存在,程序将失败,而不是看到摘要,输出将类似于:

Output . . .
at java
.base/java.lang.reflect.Method.invoke(Method.java:564)
at org
.apache.hadoop.util.RunJar.run(RunJar.java:244)
at org
.apache.hadoop.util.RunJar.main(RunJar.java:158)

结果存储在输出目录中,可以通过在输出目录上运行cat来检查:

cat ~/grep_example/
Output19  allowed.
1 allowed

MapReduce任务发现了19个出现的单词,后跟一个句点,一个出现在不出现的位置。 运行示例程序已验证我们的独立安装正常运行,并且系统上的非特权用户可以运行Hadoop进行探索或调试。

结论

在本教程中,我们以独立模式安装了Hadoop,并通过运行它提供的示例程序对其进行了验证。 要了解如何编写自己的MapReduce程序,您可能需要访问Apache Hadoop的MapReduce教程 ,该教程将介绍示例背后的代码。 准备好设置集群时,请参阅Apache Foundation Hadoop集群设置指南。


你可能感兴趣的:(大数据)