Hadoop是一个基于Java的编程框架,支持在廉价机器集群上处理和存储极大数据集。它是大数据竞争领域的第一个主要开源项目,由Apache Software Foundation赞助。
Hadoop由四个主要层组成:
Hadoop集群的设置相对复杂,因此该项目包含一个独立模式,适用于学习Hadoop,执行简单操作和调试。
在本教程中,您将以独立模式安装Hadoop并运行其中包含的示例示例MapReduce程序之一来验证安装。
在开始之前,您可能还想看看“ 大数据概念和术语简介”或“Hadoop简介”
要学习本教程,您需要:
/etc/environment
中设置JAVA_HOME
环境变量,如如何在Debian 9上使用Apt安装Java,Hadoop需要设置此变量。要安装Hadoop,请首先访问Apache Hadoop Releases页面以查找最新的稳定版本。
导航到您要安装的发行版的二进制文件。在本指南中,我们将安装Hadoop 3.0.3。
在下一页上,右键单击并将链接复制到发布二进制文件。
在您的服务器上,用wget
来获取它:
wget http://www-us.apache.org/dist/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz
注意: Apache网站将动态引导您访问最佳镜像,因此您的URL可能与上面的URL不匹配。
为了确保您下载的文件没有被更改,请使用SHA-256进行快速检查。返回版本页面,然后右键单击并将链接复制到您下载的发布二进制文件的校验和文件:
再次,在您的服务器上使用wget
下载文件:
wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz.mds
然后运行验证:
sha256sum hadoop-3.0.3.tar.gz
db96e2c0d0d5352d8984892dfac4e27c0e682d98a497b7e04ee97c3e2019277a hadoop-3.0.3.tar.gz
将此值与.mds
文件中的SHA-256值进行比较:
cat hadoop-3.0.3.tar.gz.mds | grep SHA256
...
SHA256 = DB96E2C0 D0D5352D 8984892D FAC4E27C 0E682D98 A497B7E0 4EE97C3E 2019277A
您可以放心地忽略大小写和空格的区别。您针对我们从镜像下载的文件运行的命令输出应与您从apache.org下载的文件中的值相匹配。
既然您已经验证文件没有损坏或更改,请使用带有-x
标志的tar
命令来解压缩,带有-z
标志的用于解压缩,有-v
的来输出详细信息,有-f
的指定您从文件中提取存档。使用tab-completion或在下面的命令中替换正确的版本号:
tar -xzvf hadoop-3.0.3.tar.gz
最后,将提取的文件移动到/usr/local
,这是本地安装软件的适当位置。如果需要,请更改版本号以匹配您下载的版本。
sudo mv hadoop-3.0.3 /usr/local/hadoop
有了这个软件,我们就可以配置它的环境了。
让我们确保Hadoop运行。执行以下命令以启动Hadoop并显示其帮助选项:
/usr/local/hadoop/bin/hadoop
您将看到以下输出,它可以让您知道您已成功配置Hadoop以在独立模式下运行。
Usage: 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:
. . .
我们将通过运行它附带的示例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[.]*'
任务完成后,它会提供已处理内容和遇到的错误的摘要,但这不包含实际结果:
. . .
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
结果存储在~/grep_example
目录中。
如果此输出目录已存在,程序将失败,而不是看到摘要,您将看到如下内容:
. . .
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/*
你会看到这个输出:
19 allowed.
1 allowed
MapReduce任务发现allowed
单词有19次的出现后跟一个句点,1次的出现后没有跟句点。运行示例程序已验证我们的独立安装正常运行,并且系统上的非特权用户可以运行Hadoop进行探索或调试。
在本教程中,我们以独立模式安装了Hadoop,并通过运行它提供的示例程序对其进行了验证。要了解如何编写自己的MapReduce程序,请访问Apache Hadoop的MapReduce教程,该教程将介绍您在本教程中使用的示例背后的代码。准备好设置集群时,请参阅Apache Foundation Hadoop集群设置指南。
想要了解更多关于以独立模式安装Hadoop的相关教程,请前往腾讯云+社区学习更多知识。
参考文献:《How to Install Hadoop in Stand-Alone Mode on Debian 9》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。