Hadoop学习笔记(一)Hadoop的单节点安装

时间:2021-12-07 21:41:29

要想深入学习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的目录结构也比较简单,如下图所示:

Hadoop学习笔记(一)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学习笔记(一)Hadoop的单节点安装

如果出现上图所示界面说明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. &lbrack;转帖&rsqb;hadoop学习笔记:hadoop文件系统浅析

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

  2. Hadoop学习笔记&lpar;1&rpar;-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&period;Hadoop Eclipse插件的使用

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

  7. &lbrack;Hadoop&rsqb; Hadoop学习笔记之Hadoop基础

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

  8. Hadoop学习笔记&lpar;3&rpar; Hadoop文件系统二

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

  9. Hadoop学习笔记&lpar;3&rpar; Hadoop文件系统一

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

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

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

随机推荐

  1. knockoutjs with绑定导致unobtrusive validation失效的问题

    如果最初的时候with绑定的对象是空的,那么with绑定内部的unobtrusive validation规则在提交的时候无法生效,无法进行验证. 解决办法: 在提交的时候(或者with绑定的对象非空 ...

  2. JS中的特有语句-for in

    <script> /* *js中特有语句for in *for(变量 in 对象)//对对象进行变量的语句 *{ *} */ var arr = [32,80,65]; for(i in ...

  3. mysql 导入导出的几个常用参数

    导出命令: mysqldump -t --skip-extended-insert -utest -p testdb tableA > testdb_tableA.sql 参数说明: -t: 仅 ...

  4. 【windows核心编程】DLL相关(2)

    关于DLL的延迟加载 延迟加载DLL,使用的是隐式加载方式,当为exe使用的DLL指定为延迟加载的时候,连接器会将exe的[导入段]中去除该DLL的相关信息,同时在exe中嵌入一个新的[延迟加载段]表 ...

  5. 在List中找出最大值的两种方法

    先说需求:找出一个对象List中,某个属性值最大的对象. 1.定义对象 private class A { public int ID { get; set; } public string Name ...

  6. iOS UICollectionView&lpar;转三&rpar;

    上篇博客的实例是自带的UICollectionViewDelegateFlowLayout布局基础上来做的Demo, 详情请看<iOS开发之窥探UICollectionViewControlle ...

  7. selenium定位方式-获取标签元素:find&lowbar;element&lowbar;by&lowbar;xxx

    定位方式取舍# 唯一定位方式.多属性定位.层级+角标定位(离目标元素越近,相对定位越好) # 推荐用css selector(很少用递进层次的定位)# 什么时候用xpath呢? 当你定位元素时,必须要 ...

  8. flink如何动态支持依赖jar包提交

    通常我们在编写一个flink的作业的时候,肯定会有依赖的jar包.flink官方希望你将所有的依赖和业务逻辑打成一个fat jar,这样方便提交,因为flink认为你应该对自己的业务逻辑做好单元测试, ...

  9. (转载)python调用shell命令之os 、commands、subprocess

    linux系统下进入python交互式环境: 一.os 模块 1.1.os模块的exec方法簇: python交互界面中: In [1]: import os In [2]: os.exec os.e ...

  10. Flask上下文

    Flask的核心机制!关于请求处理流程和上下文 学习一样东西不能只停留在表面,我们要探索其中的细节,学习作者的编程思想,这样才能更进一步. 关于WSGI WSGI(全称Web Server Gatew ...