要想深入学习Hadoop分布式文件系统,首先需要搭建Hadoop的实验环境,Hadoop有两种安装模式,即单节点集群模式安装(也称为伪分布式)和完全分布式模式安装,本节只介绍单节点模式的安装,参考官方文档:

http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html

由于Hadoop是运行在Linux/Unix平台,如果读者使用的是Windows操作系统,需要在虚拟机中搭建Linux运行环境,目前主流的虚拟机产品有vmware和vitualBox,Linux的发行版可以根据个人喜好自行选择,笔者使用的是vmware和ubuntu系统。

搭建Hadoop单节点安装环境需要以下几个步骤:

一.安装JDK,对于Ubuntu系统可以使用apt-get工具进行安装:

sudo apt-get install openjdk-7-jdk

默认安装路径为/usr/lib/jvm/java-7-openjdk-i386

二.获取Hadoop软件包,下载地址:http://hadoop.apache.org/releases.html

笔者选择的版本为2.7.1,下载完后解压到任意目录下。hadoop的目录结构也比较简单,如下图所示:

bin目录下存放最基本的管理脚本和使用脚本,用户可以使用这些脚本管理和使用Hadoop

etc目录下存放hadoop所有的配置文件,包括我们接下来会关注的core-site.xml、hdfs-site.xml等

include提供对为编程的c++的头文件,用于c++程序访问HDFS或编写MR程序等

lib为对外提供的静态库和动态库文件,与include目录下的头文件结合使用

libexec为各个服务所对应的shell配置文件所在目录,可用于配置日志输出目录、启动参数(比如JVM参数)等基本信息

sbin为hadoop管理脚本所在目录,主要包括HDFS和YARN中各类服务的启动/关闭脚本

share为各个模块编译后的jar包所在目录

三.修改Hadoop配置

1.修改hadoop解压目录下的 etc/hadoop/hadoop-env.sh文件

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

2.修改etc/hadoop/core-site.xml:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

3.修改etc/hadoop/hdfs-site.xml文件

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

四.安装Hadoop分布式文件系统

1.格式化文件系统:

bin/hdfs namenode -format

2.启动NameNode进程和DateNode进程

sbin/start-dfs.sh

3.查看hadoop进程是否正常启动

ps -ef|grep hadoop

3.在web浏览器中访问NameNode的web接口,默认地址为:http://localhost:50070/

如果出现上图所示界面说明hadoop启动成功。

4.创建HDFS目录用于执行MapReduce任务:

  $ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>

5.拷贝文件到分布式文件系统中:

  $ bin/hdfs dfs -put etc/hadoop input

6.运行hadoop提供的案例程序:

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

7.关闭hadoop进程:

$ sbin/stop-dfs.sh

Hadoop学习笔记(一)Hadoop的单节点安装的更多相关文章

  1. [转帖]hadoop学习笔记:hadoop文件系统浅析

    hadoop学习笔记:hadoop文件系统浅析 https://www.cnblogs.com/sharpxiajun/archive/2013/06/15/3137765.html 1.什么是分布式 ...

  2. Hadoop学习笔记(1)-Hadoop在Ubuntu的安装和使用

    由于小编在本学期有一门课程需要学习hadoop,需要在ubuntu的linux系统下搭建Hadoop环境,在这个过程中遇到一些问题,写下这篇博客来记录这个过程,并把分享给大家. Hadoop的安装方式 ...

  3. Hadoop学习笔记【Hadoop家族成员概述】

    Hadoop家族成员概述 一.Hadoop简介 1.1 什么是Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会所开发,目前Yahoo!是其最重要的贡献者. Hadoop实现了 ...

  4. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  5. 吴裕雄--天生自然Hadoop学习笔记:Hadoop简介

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统(H ...

  6. Hadoop学习笔记—6.Hadoop Eclipse插件的使用

    开篇:Hadoop是一个强大的并行软件开发框架,它可以让任务在分布式集群上并行处理,从而提高执行效率.但是,它也有一些缺点,如编码.调试Hadoop程序的难度较大,这样的缺点直接导致开发人员入门门槛高 ...

  7. [Hadoop] Hadoop学习笔记之Hadoop基础

    1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplif ...

  8. Hadoop学习笔记(3) Hadoop文件系统二

    1 查询文件系统 (1) 文件元数据:FileStatus,该类封装了文件系统中文件和目录的元数据,包括文件长度.块大小.备份.修改时间.所有者以及版权信息.FileSystem的getFileSta ...

  9. Hadoop学习笔记(3) Hadoop文件系统一

    1. 分布式文件系统,即为管理网络中跨多台计算机存储的文件系统.HDFS以流式数据访问模式来存储超大文件,运行于商用硬件集群上.HDFS的构建思路为:一次写入.多次读取是最高效的访问模式.数据集通常由 ...

  10. Hadoop学习笔记—3.Hadoop RPC机制的使用

    一.RPC基础概念 1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用: (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网 ...

随机推荐

  1. Cat VS Dog HDU_3829(最大独立集最大匹配)

    Cat VS Dog 题意:一群小朋友去动物园,如果每个小朋友喜欢的动物是猫,那么不喜欢的动物一定是狗,反之也是.现在动物园的管理者要拿走一些动物,如果拿走的是某个小朋友不喜欢的动物,那这个小朋友就非 ...

  2. web前端学习总结--JQuery

    jQuery 什么是jQuery jQuery是一个优秀的JavaScript框架,一个轻量级的JS库. 它封装了JS.CSS.DOM,提供了一致的.简洁的API. 兼容CSS3,及各种浏览器 使用户 ...

  3. The meaning of the number displayed on the man page in Linux

    0 Header files 0p Header files (POSIX) 1 Executable programs or shell commands 1p Executable program ...

  4. ubuntu18.04安装chrome浏览器

    前几天把系统弄崩溃了,弄了好久也没弄好,索性直接装18.04,下面是安装chrom浏览器的步骤,网络上照着16.04安装的,应该是一样的 启动终端. 输入以下命令: sudo wget http:// ...

  5. C#学习笔记_08_面向对象

    08_面向对象 面向对象:一种看待问题解决问题的思维方式,着眼点在于找到一个能够帮助我们解决问题的实体,然后委托这个实体来帮我们解决问题:(在面向对象之前你要有一个女朋友,否则代码会经常出现bug) ...

  6. sql 区分大小写查询

    sql 区分大小写查询 select * FROM [Users] where userName collate Chinese_PRC_CS_AS='ADMIN'

  7. noip模拟赛 可耻

    题目描述 给定一个长度为偶数的排列 p,你每次可以选取 p 排列中相邻的两个元素,假如分别是 x 和 y,那 么把 x 和 y 加入一个序列 q 的末尾,并将 x 和 y 从排列 p 中删除.重复上述 ...

  8. 清北学堂模拟赛d1t4 一道图论好题(graph)

    题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,不仅有边权还有点权. LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G ...

  9. group by语句,聚合函数与其他语句(关系,执行过程)

    (本文一切基于SQL SERVER 2008 R2) 先来看一个语句执行过程发生的错误提示: 消息 8120,级别 16,状态 1,第 2 行 选择列表中的列 'SC.CNO' 无效,因为该列没有包含 ...

  10. URIEncoding和useBodyEncodingForURI区别

    本文章会从tomcat的源码角度来解析Tomcat的两个参数设置URIEncoding和useBodyEncodingForURI. 对于一个请求,常用的有两种编码方式,如下: Java代码   &l ...