这篇文章将为大家详细讲解有关Apache Hadoop 2.4.1如何实现单节点安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
怎样去安装和配置一个单节点的Hadoop,因此您可以使用Hadoop MapReduce 和 Hadoop Distributed File System (HDFS) 快速展现一个简单的运算。
Hadoop支持GNU/Linux系统,并被作为开发和产品平台。经证实,在GNU/Linux平台上Hadoop可以支持2000个节点的集群。
Windows系统也是被支持的,但是下面的文档仅描述Hadoop在Linux上的安装,Hadoop在Windws系统的安装请参考 wiki page。
Linux需求的软件包含:
Java™ 必须被安装,推荐的Java版本请参考 HadoopJavaVersions.
ssh 必须被安装并且sshd是运行状态, 因为需要用Hadoop脚本去管理远程守护进程。
如果你的集群中没有上述软件,请安装它。
例如在Ubuntu下:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
获取Hadoop 分布式集群软件,从 Apache Download Mirrors上下载一个最近的稳定版本(当期稳定版本是2.4.1)。
解压下载好的Hadoop软件。 在安装目录里,编辑文件etc/hadoop/hadoop-env.sh,并定义下面一些参数:
# 设置JAVA的安装目录 export JAVA_HOME=/usr/java/latest
# 设置hadoop的安装目录,假如您的安装目录是 /usr/local/hadoop export HADOOP_PREFIX=/usr/local/hadoop
在Termimal中尝试输入以下命令:
$ bin/hadoop
输入上述命令后,Terminal中将会显示hadoop scripts的使用帮助文档。
接下来,你可以在下面三种模式中开始您的Hadoop集群
本地模式(单机模式)
为分布式模式
完全分布式模式
默认情况下,Hadoop作为一个简单的Java程序,被运行在一个没有分布式的模式。更多的是被用来调式程序。
在下面的例子中,复制Hadoop安装文件中的conf目录,使用它作为输入。然后再conf文件中找出与给定正则表达式匹配的文件。输出被写到给定的output目录。
$ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+' $ cat output/*
Hadoop也可以在一个单节点中运行伪分布式模式,Hadoop守护进程运行在一个分割的Java程序中。
配置的文件和属性如下:
etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
etc/hadoop/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
配置ssh无秘钥登录
使用如下命令检查您的ssh是否可以无秘钥登录
$ ssh localhost
如果不能使用无秘钥登录到localhost,请执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
下面这些命令运行一个MapReduce作业,如果您想执行一个YARN作业,请参考下一节的内容: 在单节点上运行YARN。
格式化文件系统:
$ bin/hdfs namenode -format
开启NameNode守护进程和DataNode守护进程:
$ sbin/start-dfs.sh
Hadoop守护进程日志输出在$HADOOP_LOG-DIRdiewctory目录(默认在 $HADOOP_HOME/logs 目录中)。
浏览NameNode的web接口; at:
NameNode -http://localhost:50070/
生成执行MapReduce作业需要的HDFS目录 :
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username>
上传输入文件(etc/hadoop)到HDFS,并重新命名为input:
$ bin/hdfs dfs -put etc/hadoop input
运行Hadoop提供的例子:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
检查输出文件:
从HDFS中复制出输出文件到本地文件系统并检查他们:
$ bin/hdfs dfs -get output output $ cat output/*
或者
直接在HDFS中查看输出文件:
$ bin/hdfs dfs -cat output/*
当你完成后,可以使用下面命令停止守护进程 :
$ sbin/stop-dfs.sh
你可以在伪分布式模式下通过设置一些参数,并运行ResourceManager和NodeMangaer守护进程的条件下,来运行一个在YARN上的MapReduce作业。
执行下面的命令,要确保以上的1~4个步骤已经被执行。
配置下面文件的参数:
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>
开启 ResourceManager 守护进程和NodeManager守护进程:
$ sbin/start-yarn.sh
浏览ResourceManager的web接口; 默认的有效路径是:
ResourceManager -http://localhost:8088/
运行一个MapReduce作业。
当你完成的时候, 可以使用以下命令停止YARN守护进程:
$ sbin/stop-yarn.sh
关于“Apache Hadoop 2.4.1如何实现单节点安装”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。