阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop单节点环境搭建

239次阅读
没有评论

共计 3284 个字符,预计需要花费 9 分钟才能阅读完成。

下面介绍怎么在 Linux 系统上设置和配置一个单节点的 Hadoop,让你可以使用 Hadoop 的 MapReduce 和 HDFS(Hadoop Distributed File System)做一些简单的操作。

准备工作

1)下载 Hadoop;
2)为你的 linux 系统安装 JDK,推荐的 JDK 版本可以在这里(http://wiki.apache.org/hadoop/HadoopJavaVersions)查看;
3)为你的系统安装 ssh。

设置环境变量

1)为 Hadoop 设置 JDK 信息:
export JAVA_HOME=/usr/java/latest
2)将 Hadoop 解压到某个目录,例如 /usr/test 目录下。
然后编辑文件 /etc/profile 增加:
export HADOOP_INSTALL=/usr/test/hadoop-2.7.1
export PATH=$PATH:$HADOOP_INSTALL/bin
保存文件,然后使用命令 source /etc/profile 重新编译使配置生效。
执行下面的命令,如果配置正确,则会正确输出 Hadoop 的版本信息:
hadoop version

单节点模式

默认情况下,Hadoop 已经被配置到单节点模式,因此不需要在做额外的配置。
下面演示了一个例子,创建一个 input 目录,并放入一些文件,然后运行 Hadoop 的一个例子:

$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.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

如果你不能无密匙访问,则需要执行下面的命令:

$ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ export HADOOP\_PREFIX=/usr/local/hadoop

下面执行一个本地的 MaReduce 任务。

1)格式化文件系统

$ bin/hdfs namenode -format

2)开启 NameNode 精灵进程和 DataNode 精灵进程

如果该处出现错误“localhost: Error: JAVA_HOME is not set and could not be found”,则可以在 libexec/hadoop-config.sh 中直接配置“export JAVA_HOME=/usr/java/latest”。
hadoop 精灵进程日志记录在 $HADOOP_LOG_DIR 文件夹,默认是 $HADOOP_HOME/logs。
3)查看 NameNode 的 web 接口,默认为:

-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 input

input 必须在 hdfs 文件系统上创建好

6)运行提供的例子

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output ‘dfs[a-z.]+’

注意 input 和 output 对应 hdfs 上的文件夹

7)检查输出文件:从分布式文件系统拷贝输出文件到本地文件系统,并检测它们

$ bin/hdfs dfs -get output output
$ cat output/*

或者直接在分布式文件系统上查看输出文件:

$ bin/hdfs dfs -cat output/*

8)当你结束后,停止所有精灵进程

$ sbin/stop-dfs.sh

单节点 YARN

你能在伪分布式模式下使用 YARN 运行一个 MapReduce 任务,需要设置一些参数,并且运行 ResourceManager 精灵进程和 NodeManager 精灵进程。
假定你已经做了上一节的 1~4 步,接下来做下面的步骤:
1)配置 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>

2)启动 ResourceManager 精灵进程和 NodeManager 精灵进程

$ sbin/start-yarn.sh

3)查看 ResourceManager 的 web 接口,默认为:

-ResourceManager – http://localhost:8088/

4)运行一个 MapReduce 任务

5)当你结束后,停止所有精灵进程:

$ sbin/stop-yarn.sh

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-09/123289.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3284字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中