Hadoop(1)-入门示例

Hadoop安装

现在最新版为2.7.2,使用下面的链接下载:

https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

下载后使用下面的命令解压:

tar zxf hadoop-2.7.2.tar.gz

进入解压后的目录,通过下面的命令,检查Hadoop是否可正常执行:

hadoop version

看到类似如下信息,即可正常使用:

Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /home/ec2-user/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

单机运行

这是官网的一个示例,单机模式下,使用hadoop的mapreduce统计文件中与正则表达式匹配的数据,并将结果保存指定位置。

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

伪分布式模式

如果只有一台服务器用来测试,那么可以使用伪分布式,这时Hadoop的各个组件都拥有一个独立的进程。伪分布式模式下执行的操作与在真正的集群上运行几乎是一样的。

#配置etc/hadoop/core-site.xml#

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/ec2-user/data</value>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

hadoop.tmp.dir用于配置HDFS的基础目录,如果不配置,默认是/tmp/hadoop-${user.name}。使用mkdir /home/ec2-user/data建立目录。

fs.defaultFS配置默认的HDFS连接路径。

配置说明:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml

#配置etc/hadoop/hdfs-site.xml#

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

dfs.replication用于设置DataNode中存储的数据块的副本数量,默认值是3。

配置说明:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

#格式化HDFS#

bin/hdfs namenode -format

#设置无密码登录#

因为Hadoop需要在一台或多台主机的多个进程间通信,所以我们需要让使用Hadoop的用户不需要输入密码即可连接到所需的每台主机。这里通过创建一个空口令的Secure Shell密钥对来实现。

在创建密钥对前,可以先检查当前是不是就已经可以不需要密码登录本机了,使用下面的命令:

ssh localhost

如果报错,如Permission denied (publickey). 则需要使用下面的命令生成密钥对:

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

#启动NameNode和DataNode的守护进程#

sbin/start-dfs.sh

启动后的log都在logs目录下,也可以通过$HADOOP_LOG_DIR环境变量指定。

可以通过浏览器查看NameNode信息:http://{IP}:50070 。

#创建HDFS目录#

bin/hdfs dfs -mkdir /user

#复制文件到HDFS#

bin/hdfs dfs -put etc/hadoop/ /user/input

#查看HDFS中的文件#

bin/hdfs dfs -ls /user/input

#在HDFS中执行刚才单机的示例#

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep /user/input /user/output ‘dfs[a-z.]+‘

可以通过bin/hdfs dfs -ls /user/output看到,结果被存储在HDFS中。通过下面的命令查看结果:

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

#停止HDFS守护进程的命令#

sbin/stop-dfs.sh
时间: 2025-01-04 16:53:47

Hadoop(1)-入门示例的相关文章

Spring MVC 入门示例讲解

MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao类 业务层类 视图employeeListDisplay.jsp MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务

SpringMVC 入门示例讲解

首先要了解什么是MVC,MVC全称是Model View Controller,是模型(Model)-视图(View)和控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑·.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 伯乐在线-ImportNew:       http://www.importnew

ehcache2.8.3入门示例:hello world

一.pom.xml 依赖项 1 <dependency> 2 <groupId>net.sf.ehcache</groupId> 3 <artifactId>ehcache</artifactId> 4 <version>2.8.3</version> 5 </dependency> 6 7 <dependency> 8 <groupId>org.slf4j</groupId>

OpenCV 入门示例之五:一个复杂点的变换

前言 前文介绍了一个简单的变换.需要注意的是,很多时候,输出和输入图像的格式是不同的( 大小,深度,通道 ).在本文将展示的程序中,对图像进行了缩放( 使用cvPyrDown 函数 ),这种情况下需要先定制好输出图像的格式,然后再将其与输入图像一起传递进缩放函数. 代码示例 1 // 此头文件包含图像IO函数的声明 2 #include "highgui.h" 3 // 此头文件包含基本的图像处理函数和高级计算机视觉算法 4 #include "cv.h" 5 6

Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)

Android上对OpenGl的支持是无缝的,所以才有众多3D效果如此逼真的游戏,在Camera的一些流程中也有用到GLSurfaceView的情况.本文记录OpenGL在Android上的入门级示例,绘制一个三角形和正方形.尽管功能简单,可是我捣腾了好几个晚上,大量网上文章上的代码都有点问题,不是绘制不出来就是挂了. 第一个文件:MainActivity.java package com.example.learnopengl1; import android.opengl.GLSurface

OpenCV 入门示例之四:一个简单的变换

前言 图像的平滑处理,是计算机视觉中非常重要的操作,本文将展示一个可以对图像进行平滑处理的简单程序.而关于平滑处理深层次的知识,会在以后的文章中重点探讨. 代码示例 1 // 此头文件包含图像IO函数的声明 2 #include "highgui.h" 3 // 此头文件包含基本的图像处理函数和高级计算机视觉算法 4 #include "cv.h" 5 6 int main (void) { 7 8 // 将D盘目录下名为" 1.jpg "的图像

dubbo入门示例

本文主要介绍阿里dubbo的基本使用,关于dubbo的相关基础概念请自行参考dubbo官网:http://www.dubbo.io dubbo是一个服务治理的框架,在如今大规模的分布式应用和SOA架构中,服务治理的问题显的尤为的重要. 以我个人使用dubbo的场景来总结,dubbo主要解决如下问题: 1.项目服务化后,项目之间的高性能通讯问题.(项目被拆分成多个服务模块后必然会涉及模块之间的通讯) 2.服务的URL管理,当项目拆分为N个服务并且不断增加时,如何有效的管理的服务URL 3.服务发现

Activiti 入门示例

设置流程定义图bpmn     assignee :申请人.审核人 相关操作的表 -- act_re_procdef 流程定义表-- act_re_deployment 部署表 -- act_ge_property 通用属性表  id 生成策略  -- act_ru_execution  执行对象,流程实例,流程对象-- act_ru_task 任务表 入门示例: 1. 创建流程引擎及工作流数据表     - 数据库及表可以自动创建,       可以在配置数据库连接时,实现自动创建数据库和表 

OpenCV 入门示例之一:显示图像

前言 本文展示一个显示图像的示例程序,它用于从硬盘加载一副图像并在屏幕上显示之. 代码示例 OpenCV 入门示例之一:显示图像,布布扣,bubuko.com