文章更新于:2020-04-09

注1:hadoop 的安装及单机配置参见:Hadoop安装教程_单机(含Java、ssh安装配置)

注2:hadoop 的完全分布式配置参见:Hadoop安装教程_分布式

注3:hadoop 及其他软件的下载安装配置参见:让我来告诉你,学习大数据都是要安装哪些软件

一、下载安装 Hadoop

1.1、下载 Hadoop

  1. 可以去官网 https://hadoop.apache.org/releases.html 下载。

  2. 也可在文首注3里面提供的链接下载。

1.2、安装 Hadoop

  1. 将下载的 Hadoop 文件解压到系统(Linux)任意目录(/tmp 等目录除外)即可完成安装,但通常的做法是解压到 /usr/local/ 目录下以便统一管理。

  2. 建议将解压后的文件夹改名为 hadoop 以后后期方便管理。

  3. 建议配置环境变量以便打开终端即可执行命令。

二、配置 Hadoop

hadoop的伪分布式安装是指进行完全分布式安装,但所有节点都放在同一台机器上。因为其并不是真正意义上的分布式,所以称为伪分布式。

进行伪分布式安装需要修改 /usr/local/hadoop/etc/hadopp/ 目录下(此处的 /usr/local/hadoop 是我 hadoop 的安装路径)的两个配置文件。

2.1、修改 core-site.xml 配置文件

配置文件的内容是放一对在<configuration>标签中的,下同。

默认配置文件里面只有注释和一堆空标签,我们需要修改内容如下:

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

注:其中 <name><value> 标签指定了文件系统的主机和端口,这里是 localhost:9000,因为是伪分布式,所以指定为本机,端口你可以自定义。

2.2、修改 hdfs-site.xml 配置文件

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

注1:这里指定了存储文件的副本数,默认是3,这里设置为1。

注2:一个节点只能存储一个副本,所以如果你只有一个节点,但你设置为2,是无效的,还是按1来对待。

三、启动 Hadoop

注1:系统必须配置 JAVA_HOME 环境变量 Hadoop 才能启动。

注2:(伪)分布式 Hadoop 必须配置 passphraseless ssh (无密码 ssh)才能启动。

注3:Hadoop 的启动日志写在 $HADOOP_LOG_DIR 目录(如果指定),默认在 $HADOOP_HOME/logs

注4:下面的示例命令如果没有配置环境变量可能会报不到命令的错误。

3.1、格式化文件系统

启动前需要先格式化文件系统

hdfs namenode -format

3.2、启动守护进程

启动名称/数据节点守护进程

start-dfs.sh

3.2 确认启动情况

你可以使用 jps 命令查看节点是否启动,也可以通过webUI 界面来访问 NameNode 节点。

旧版本访问端口在 http://localhost:50070 ,新版端口在 9870

注:上图的数据端口 6789 是我自定义的,你的默认应该是 9000

四、在 hdfs 中创建目录及文件

刚格式化完毕的 hdfs 中应该是没有文件的。

你可以通过 hdfs dfs xxx 命令来操作 hdfs。

当你使用 hdfs dfs -ls 命令的时候,默认列出 /user/<username>/ 目录下的文件,但刚开始这个目录是不存在的,会报错。所以我们需要先创建这个目录。

从上图我们可以看出,使用 hdfs dfs -ls /user/bigdatahdfs dfs -ls 命令的执行效果是相同的。

五、运行示例程序

5.1、创建需要的目录及拷贝文件

# 创建输入文件夹
hdfs dfs -mkdir input
# 将本地文件推到 hdfs
hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input

5.2、执行程序

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

5.3、查看程序执行结果

  1. 可以直接在hdfs 中查看
hdfs dfs -cat output/*



2. 也可以将结果取回本地查看

hdfs dfs -get output/ result
cat result/*

六、停止 hadoop

stop-dfs.sh

七、配置文件的其他选项

7.1、临时文件的基础路径

hadoop 启动的时候会产生一些临时文件,如果没有指定路径,则这些文件将在 /tmp/hadoop-${user.name} 目录下产生。

不过你可以在 core-site.xml 文件中这样指定:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

7.2、NameNode & DataNode 数据的存储位置

  1. 你可以通过设置 dfs.namenode.name.dir 的值来指定 NameNode 的存储位置,如果你用逗号分隔写了多个路径,则数据表将同时写入这些路径以实现冗余,这个值默认是:file://${hadoop.tmp.dir}/dfs/name

  2. 你可以通过设置 dfs.datanode.data.dir 的值来指定 DataNode 数据块的存储位置,这个值默认是:file://${hadoop.tmp.dir}/dfs/data

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>

注:更改 replication 后,只对新创建的文件有效,之前创建的文件不受影响。

至此,hadoop伪分布式安装完成。

八、Enjoy!

Hadoop安装教程_伪分布式的更多相关文章

  1. Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0

    Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0 环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统.如果用的是 Ubuntu 系统,请查 ...

  2. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  3. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...

  4. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04(转)

    http://www.powerxing.com/install-hadoop/ http://blog.csdn.net/beginner_lee/article/details/6429146 h ...

  5. 【转】Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文链接:http://dblab.xmu.edu.cn/blog/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单, ...

  6. Hadoop安装教程_单机/伪分布式配置

    环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统(可参考使用VirtualBox安装CentOS).如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoo ...

  7. 新手推荐:Hadoop安装教程_单机/伪分布式配置_Hadoop-2.7.1/Ubuntu14.04

    下述教程本人在最新版的-jre openjdk-7-jdk OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/ ...

  8. Hadoop安装教程_集群/分布式配置

    配置集群/分布式环境 集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slav ...

  9. Hadoop安装教程_分布式

    Hadoop的分布式安装 hadoop安装伪分布式以后就可以进行启动和停止操作了. 首先需要格式化HDFS分布式文件系统.hadoop namenode -format 然后就可以启动了.start- ...

随机推荐

  1. 开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?

    起因 - 又是一封邮件 2020 年 3 月 2 日,收到了一封邮件,对,这次故事的起因又是一封邮件,和上次写个bug被国家信息安全漏洞共享平台抓到了一样. 这是一条评论通知邮件,一开始我以为只是正常 ...

  2. 深入理解JS引擎的执行机制

    深入理解JS引擎的执行机制 1.灵魂三问 : JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢? 2.JS中的event loop(1) 3.JS中的event loop(2) 4 ...

  3. c js 字符串反转

    1.例如:输入 i am     a student    输出 student a am i #include <stdio.h> #include <string.h> v ...

  4. [置顶] Django-rest framework框架

    出师表 先帝创业未半而中道崩殂,今天下三分,益州疲弊此诚危急存亡之秋也.然侍卫之臣不懈于内忠志之士忘身于外者盖追先帝之殊遇,欲报之于陛下也.诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻 ...

  5. Top命令你最少要了解到这个程度

    top命令几乎是每个程序员都会用到的Linux命令.这个命令用来查看Linux系统的综合性能,比如CPU使用情况,内存使用情况.这个命令能帮助我快速定位程序的性能问题. 虽然这个命令很重要,但是之前对 ...

  6. 深入解析Underscore.js源码架构

    Underscore.js是很有名的一个工具库,我也经常用他来处理对象,数组等,本文会深入解析Underscore源码架构,跟大家一起学习下他源码的亮点,然后模仿他写一个简单的架子来加深理解.他的源码 ...

  7. Ext.grid rowexpander的展开与收缩

    这里写Ext.grid.Panel的展开与收缩. 1. 确保在grid存在rowexpander对象: plugins: [{ ptype: 'rowexpander', rowBodyTpl: [' ...

  8. MySql锁与InnoDB引擎

    MySql锁与InnoDB引擎 mysql的锁是面试中很高频问题,也是我们在日常开发中经常会遇到但是我们并没有注意到的地方.我把我自己理解的锁通过本篇博文分享出来,由于锁需要结合事务来理解,本文只介绍 ...

  9. 【Weiss】【第03章】练习3.2

    [练习3.2] 给你一个链表L和另一个链表P,它们包含以升序排列的整数.操作printlots(L,P)将打印L中那些由P所指定的位置上的元素. 例如,如果p=1,3,4,6,那么,L的第一.第三.第 ...

  10. python迭代器、装饰器和生成器

    装饰器 1.装饰器的作用 1. 装饰器作用:本质是函数(装饰其他函数)就是为其他函数添加其他功能 2. 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 3.实 ...