一、安装&启动

安装

下载hadoop2.7.2

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

2.7.2-官方文档

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html

安装ssh

## 检查是否有ssh
## 若返回结果有openssh-clients、openssh-server说明安装
rpm -qa | grep ssh ## 检查ssh是否可用
ssh localhost

启动

查看hadoop版本

./bin/hadoop version

运行一个例子

  $ 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/*

输出结果

运行WordCount样例

创建文件夹wordinput以及在文件夹下创建word.txt文本,文本内容如下:

hello
world
hello
kafka kafka
hello world
big data
bigdata

执行脚本

 ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wordinput wordoutput

得到运行结果

Hadoop 配置文件

hadoop core-default配置文件介绍

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml

配置etc/hadoop/core-site.xml

<configuration>
<!-- 指定HDFS中的NameNode地址-->
<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>

启动HDFS

执行脚本

./bin/hdfs namenode -format

下面两种方式是等价的

./sbin/start-dfs.sh

## 启动namenode进程
./sbin/hadoop-daemon.sh start namenode ## 启动datanode进程
./sbin/hadoop-daemon.sh start datanode

namenode是什么?datanode是什么?为什么必须要格式化namenode才能启动成功?

访问 http://127.0.0.1:50070/dfshealth.html#tab-overview

看到DFS的面板。

启动Yarn

配置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>
</configuration>

启动 ResourceManager daemon and NodeManager daemon:

sbin/start-yarn.sh

打开资源管理的web页面,http://localhost:8088/

问题解决

每次启动HDFS,都必须格式化,才能启动NameNode

原因是,配置HDFS时,只配置了DataNode目录,没有配置NameNode相关信息。默认的tmp文件每次重新开机都会被清空,导致集群找不到NameNode信息,所以需要每次都重新格式化。

解决方法:

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/Hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>

参考文档

Hadoop官网-Hadoop: Setting up a Single Node Cluster

Hadoop官网2.7.3

《Hadoop权威指南》

尚硅谷大数据之Hadoop

运行第一个MapReduce程序

MapReduce过程详解(基于hadoop2.x架构)

Hadoop(一)—— 启动与基本使用的更多相关文章

  1. Hadoop的启动和停止说明

    Hadoop的启动和停止说明   sbin/start-all.sh 启动所有的Hadoop守护进程.包括NameNode. Secondary NameNode.DataNode.ResourceM ...

  2. 虚拟机搭建和安装Hadoop及启动

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  3. 马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动(转)

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  4. 使用root配置的hadoop并启动会出现报错

    1.使用root配置的hadoop并启动会出现报错 错误:         Starting namenodes on [master]         ERROR: Attempting to op ...

  5. hadoop datanode启动失败

    问题导读: 1.Hadoop出现问题时,该如何入手查看问题?2.datanode无法启动,我们该怎么解决?3.如何动态加入DataNode或TaskTracker? 一.问题描述当我多次格式化文件系统 ...

  6. hadoop namenode启动过程详细剖析及瓶颈分析

    NameNode中几个关键的数据结构 FSImage Namenode 会将HDFS的文件和目录元数据存储在一个叫fsimage的二进制文件中,每次保存fsimage之后到下次保存之间的所有hdfs操 ...

  7. Hadoop--有关Hadoop的启动

    这里我们已经安装好Hadoop,并且已经配置好了环境变量. 安装相关文章:http://blog.csdn.net/gaopeng0071/article/details/10216303 参考网站: ...

  8. hadoop datanode 启动出错

    FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block po ...

  9. Hadoop 配置文件 & 启动方式

    配置文件: 默认的配置文件:相对应的jar 中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 自定义配置文 ...

  10. Hadoop在启动时的坑——start-all.sh报错

    1.若你用的Linux系统是CentOS的话,这是一个坑: 它会提示你JAVA_HOME找不到,现在去修改文件: .修改hadoop配置文件,手动指定JAVA_HOME环境变量 [${hadoop_h ...

随机推荐

  1. js数据类型及判断数据类型

    众所周知,js有7种数据类型 1. null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7. ...

  2. 如何使用NPM?CNPM又是什么?

    背景介绍 什么是npm? npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装.卸载.管理依赖等), NPM是随同NodeJS一起安装的包管理工具 ...

  3. 一些 SQLite技巧

    SQLite自增ID自段 使用方法为 INTEGER PRIMARY KEY AUTOINCREMENT 如: CREATE   TABLE  21andy ( id  INTEGER   PRIMA ...

  4. TCP、UDP、HTTP、HTTPS之间的区别

    网络由下往上分为: 物理层--- 数据链路层--- 网络层 -- IP协议 传输层 -- TCP协议 会话层 -- 表示层和应用层 -- HTTP协议 1.TCP/IP连接 TCP传输控制协议,是一种 ...

  5. visual studio 应用场景

  6. 使用docker 安装 LNMP

    centos7 下 使用docker 安装 LNMP 一.安装 mysql 1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker ru ...

  7. 麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目

    虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了.好了不多废话了,直接开始!! 1.建立一个名为test的Asp.net core web应用程序 这一 ...

  8. 基于h5+的微信登录,hbuilder打包

    1.打开app项目的manifest.json的文件,选择模块权限配置,将OAuth(登录鉴权)模块添加至已选模块中 2.选择SDK配置,在plus.oauuth·登录鉴权中,勾选□ 微信登录,配置好 ...

  9. onclick与click的区别

    用法: Obj.click(function(){ }); Obj.onclick=function(){ } 相同:效果一样. 区别: 用户或浏览器执行的某种动作,例如click load,mous ...

  10. java中的String要点解析

    String类使我们经常使用的一个类,经常用来表示字符串常量. 字符串一旦被创建赋值,就不能被改变,因为String 底层是数组实现的,且被定义成final类型.我们可以看String源码. /** ...