Hadoop单机模式部署

举报
看山 发表于 2021/09/28 22:43:58 2021/09/28
【摘要】 Hadoop的安装有三种运行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop运行在一个Java进程中,使用本地文件系统,不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于只有...

Hadoop的安装有三种运行模式

  1. 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop运行在一个Java进程中,使用本地文件系统,不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。
  2. 伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于只有一个节点的集群,Hadoop的所有守护进程运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
  3. 完全分布式模式(Fully-Distributed Mode):根据需要进行配置。多节点,一般用于生产环境,可认为是由伪分布式模式的一个节点变为多个节点。

准备工作

支持的平台

支持Linux和Windows,但是个人觉得既然大部分生产环境都是Linux集群,索性就只关注Linux的部署即可,需要时再查就行,有兴趣可以看在Windows上安装Hadoop

需要的软件

  1. Java,因为Hadoop就是Java开发的,所以无论哪种模式,JDK都是必须安装的,且版本不能低于1.6。可以查看Ubuntu 14.04 安装 JDK 8RedHat 6.1中安装JDK
  2. ssh必须安装,且sshd必须是运行状态,因为Hadoop调用远程进程使用sshd(在单机模式中这个不是必须的)。另外,需要实现master节点向slave节点的无密码登录,可以查看实现ssh的无密码登录

下载Hadoop

当前Hadoop有三个分支:

  • 1.2.X - current stable version, 1.2 release
  • 2.5.X - current stable 2.x version
  • 0.23.X - similar to 2.X.X but missing NN HA.

上面是当前官网提供的信息,我使用的版本是2.4.1,略低于当前的2.5.1。

环境变量

环境变量JAVA_HOME是必需的,通常在安装JDK的时候就已经配置了。如果没有配置JAVA_HOME,则需要在$HADOOP_HOME/etc/hadoop/目录中的hadoop-env.shmapred-env.shyarn-env.sh中增加JAVA_HOME目录地址。

环境变量HADOOP_HOME或HADOOP_PREFIX指向Hadoop的安装目录,我在这里使用的是HADOOP_HOME。

另外,为了方便运行一些Hadoop提供的命令,可以将$JAVA_HOME/bin、$HADOOP_HOME/bin和$HADOOP_HOME/sbin加入到PATH变量中。

具体为:

export JAVA_HOME=~/jdk1.8.0_05
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=~/hadoop/hadoop-2.4.1
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

安装Hadoop

直接将下载到的压缩包解压即可,并在环境变量中添加HADOOP_HOME或HADOOP_PREFIX。

Apache官网提供的Hadoop是32位的,如果系统是64位的,会报错:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

需要重新编译,并替换掉$HADOOP_HOME/lib/native下的库文件,可以从这里下载。

然后验证是否成功:

$ hadoop version

如果出现下面的信息,说明Hadoop安装成功。

Hadoop 2.4.1
Subversion http://svn.apache.org/repos/asf/hadoop/common -r 1604318
Compiled by jenkins on 2014-06-21T05:43Z
Compiled with protoc 2.5.0
From source with checksum bb7ac0a3c73dc131f4844b873c74b630
This command was run using /home/lxh/hadoop/hadoop-2.4.1/share/hadoop/common/hadoop-common-2.4.1.jar

单机模式

在所有准备工作完成后,单机模式部署已经完成,下面就实验一下。

$ mkdir ~/input
$ echo "This is test." >> ~/input/test
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount ~/input ~/output
$ cat ~/output/*

上面就是Hadoop版的Hello World,如果成功打印下面信息:

This    1
is  1
test.   1

说明所有环境已经准备好,可以调试程序或者进行Hadoop伪分布式模式部署了。

文章来源: kanshan.blog.csdn.net,作者:看山,版权归原作者所有,如需转载,请联系作者。

原文链接:kanshan.blog.csdn.net/article/details/40110679

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。