目的

这篇文档描述如何安装和配置一个单一节点的Hadoop,以便你可以快速使用hadoop mapreduce和Hadoop Distributed File System (HDFS)的一些简单操作。

先决条件

支持平台
  • GNU/Linux 是受支持的开发和生成平台。Hadoop已经证明了2000各节点的GNU/Linux 集群。
  • Windows也是受支持的平台,但是一下步骤只是用于Linux。要在Windows上安装,情况 wiki page
所需软件

Linux平台所需软件包括:

  1. Java。推荐的Java版本在 HadoopJavaVersions中描述。
  2. ssh必须安装。推荐安装pdsh。

安装软件

如果你还没有安装这些软件:

  $ sudo apt-get install ssh
$ sudo apt-get install pdsh

下载

获取最新的Hadoop发行版,从Apache Download Mirrors中选一个最新的稳定版下载。

准本开始Hadoop集群

解压下载的Hadoop,编辑etc/hadoop/hadoop-env.sh定义一些参数如下:

  # set to the root of your Java installation
export JAVA_HOME=/usr/java/latest

试下下面命令:

$ bin/hadoop

此处会显示hadoop脚本用法。

现在你已经准备好了,Hadoop集群支持三种模式之一:

  • Local (Standalone) Mode(本地模式)
  • Pseudo-Distributed Mode(为分布模式)
  • Fully-Distributed Mode(全分布模式)

Standalone操作

默认情况下,Hadoop是以一个Java进程运行为非分布模式,有利于调试。

下面示例复制解压的conf文件夹作为输入,然后查找显示每个匹配正则表达式的项,输出结果写到到output文件夹。

  $ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha2.jar grep input output 'dfs[a-z.]+'
$ cat output/*

Pseudo-Distributed 操作

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需要密码登陆,执行下面命令:

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

执行

下面的说明是在本地运行MapReduce作业。如果你想基于YARN运行作业,请看YARN on Single Node.

  1. 格式化文件系统:
$ bin/hdfs namenode -format
  1. 启动NameNode守护进程和DataNode守护进程:
$ sbin/start-dfs.sh

hadoop守护进程日志写在$HADOOP_LOG_DIR文件夹中(默认是 $HADOOP_HOME/logs)。

3. 浏览NameNode的web接口;默认在:

NameNode - http://localhost:9870/
  1. 为需要运行的MapReduce作业创建HDFS文件夹:
  $ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
  1. 把input文件复制到分布式文件夹中:
  $ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
  1. 运行一些提供实例:
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha2.jar grep input output 'dfs[a-z.]+'
  1. 检查输出文件:把分布式文件系统中的输出文件拷贝到本地文件系统然后查看:
  $ bin/hdfs dfs -get output output
$ cat output/*

或者

直接在分布式文件系统中浏览:

  $ bin/hdfs dfs -cat output/*
  1. 完成后,关闭守护进程:
 $ sbin/stop-dfs.sh

YARN on a Single Node

你可以在伪分布模式上通过设置一些参数和启动ResourceManager和NodeManager 守护进程执行基于YARN的MapReduce作业。

以下说明假设你已经执行完上面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>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
  1. 启动ResourceManager和NodeManager守护进程:
  $ sbin/start-yarn.sh
  1. 浏览ResourceManager的web接口,默认是:
ResourceManager - http://localhost:8088/
  1. 运行一个MapReduce作业。
  2. 当你完成后,关闭守护进程:
  $ sbin/stop-yarn.sh

全分布操作

对于安装全分布而不是测试的集群的信息,请看集群安装

Hadoop--设置单一节点集群的更多相关文章

  1. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

  2. CentOS7搭建hadoop2.6.4双节点集群

    环境: CentOS7+SunJDK1.8@VMware12. NameNode虚拟机节点主机名:master,IP规划:192.168.23.101,职责:Name node,Secondary n ...

  3. Hadoop-2.2.0中国文献——MapReduce 下一代 —配置单节点集群

    Mapreduce 包 你需从公布页面获得MapReduce tar包.若不能.你要将源代码打成tar包. $ mvn clean install -DskipTests $ cd hadoop-ma ...

  4. Ambari安装之部署单节点集群

    前期博客 大数据领域两大最主流集群管理工具Ambari和Cloudera Manger Ambari架构原理 Ambari安装之Ambari安装前准备(CentOS6.5)(一) Ambari安装之部 ...

  5. Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群

    4:创建Fabric多节点集群 4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过 ...

  6. Nova控制节点集群

    #Nova控制节点集群 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##Nova控制节点集群 # control ...

  7. Neutron控制节点集群

    #Neutron控制节点集群 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #.Neutron控制节点集群 #本实 ...

  8. kubeadm安装K8S单master双节点集群

    宿主机:master:172.16.40.97node1:172.16.40.98node2:172.16.40.99 # 一.k8s初始化环境:(三台宿主机) 关闭防火墙和selinux syste ...

  9. 高可用OpenStack(Queen版)集群-9.Cinder控制节点集群

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

随机推荐

  1. vue使用stylus

    在package.json中添加  stylus-loader "css-loader": "^0.28.0", "stylus-loader&quo ...

  2. 【BZOJ4402】Claris的剑(组合计数)

    题意: 给定数列的定义: 1.每个元素都是正整数 2.每个元素不能超过M 3.相邻两个元素的差的绝对值必须是1 4.第一个元素的值必须是1 求有多少个长度不超过N的合法的本质不同的序列 两个序列本质不 ...

  3. 【Codeforces Round #519】

    A:https://www.cnblogs.com/myx12345/p/9872082.html B:https://www.cnblogs.com/myx12345/p/9872124.html ...

  4. VijosP1303 导弹拦截

    背景 实中编程者联盟为了培养技术精湛的后备人才,必须从基础题开始训练. 描述 某国为了防御敌国的导弹袭击,研发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度, ...

  5. Html.AntiForgeryToken 防止伪造提交

    原文发布时间为:2011-05-03 -- 来源于本人的百度文章 [由搬家工具导入] In this tutorial, I am not going to discuss the concept i ...

  6. 拖动层 拖动div 封装js 貌似不兼容FF,郁闷

    原文发布时间为:2009-12-02 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  7. Java下使用Swing来进行图形界面开发

    1. GUI从创建window开始,通常会使用JFrame.JFrame frame = new JFrame(); 2. 你可以这样加入按钮,文字字段等组件.frame.getContentPane ...

  8. struts2 package 属性说明

    package节点是整个配置的核心部分.每个package,从语义上讲,其实代表了每一个独立的模块.在这个模块中,你可以定义隶属于这个模块的行为方式,而与其他的模块没有关系.所以,每个package都 ...

  9. Spring Boot学习——表单验证

    我觉得表单验证主要是用来防范小白搞乱网站和一些低级的黑客技术.Spring Boot可以使用注解 @Valid 进行表单验证.下面是一个例子. 例子说明:数据库增加一条Student记录,要求学生年龄 ...

  10. Smpt命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !

    刚发现以前做的QQ邮箱发送邮件不能用了,查找了下原因:未加( EnableSsl  SSL加密连接 )导致的,顿时觉得很坑,以前QQ邮箱也没有这个限制啊,可能是最近加的. 好吧不多说直接从头走起,照顾 ...