Hadoop运行模式

(1)本地模式(默认模式):

  不需要启用单独进程,直接可以运行,测试和开发时使用。

  即在一台机器上进行操作,仅为单机版。

  本地运行Hadoop官方MapReduce案例 操作命令:

  执行案例: hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.2.jar wordcount xxx(文件位置) xxx(输出位置)

(2)伪分布式模式:

等同于完全分布式,只有一个节点。

配置集群:

    配置:core-site.xml

<!-- 指定HDFS中NameNode的地址 -->

<property>

  <name>fs.defaultFS</name>

<value>hdfs://hadoop101:9000</value>

</property>

  

  配置:hdfs-site.xml

<!-- 指定HDFS副本的数量 -->

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

启动集群

格式化namenode(第一次启动时格式化,不要总格式化) hdfs namenode -format

   启动namenode:  hadoop-daemon.sh start namenode

   启动datanode:  hadoop-daemon.sh start datanode

查看集群

jps:查看Java进程

可以在浏览器输入IP:50070进入可视化端查看HDFS文件系统

操作集群

新建文件夹:   hadoop fs -mkdir -p /xx/xx  (-p为递归创建)

   上传文件到文件系统 hadoop fs -put /文件位置    /放置的位置

查看上传的文件   hadoop fs -cat /文件位置

在HDFS上运行MapReduce程序 :

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/atguigu/mapreduce/wordcount/input/ /user/atguigu/mapreduce/wordcount/output

  跟本地模式一样,只是需要修改文件在文件系统中的路径

查看结果 hadoop fs -cat /XX

下载内容到本地  hadoop fs -get /XX  /XX

删除结果   hadoop fs -rmr /XX   (-rmr即递归删除)

在YARN上运行MapReduce程序:

配置yarn-env.sh  :配置一下JAVA_HOME

  配置yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop101</value>

</property>

配置:mapred-env.sh:配置一下JAVA_HOME

配置: (对mapred-site.xml.template重新命名为) mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

启动resourcemanager

sbin/yarn-daemon.sh start resourcemanager

启动nodemanager

sbin/yarn-daemon.sh start nodemanager

yarn的浏览器页面查看

http://192.168.1.101:8088/cluster

(3)完全分布式模式:

多个节点一起运行。

步骤:

1)虚拟机准备 准备3台客户机

2)安装jdk和hadoop并配置环境变量

3)配置客户机之间ssh无密登录

4)配置集群

4)启动集群

配置客户机之间ssh无密登录

首先进入当前用户的家目录,然后进入.ssh文件夹(此文件夹为隐藏 可通过ls -al查看所有文件)

生成一对公钥和私钥   ssh-keygen -t rsa

将会生成id_rsa(私钥)和id_rsa_pub(公钥)

将公钥复制到要免密登录的目标机器上  ssh-copy-id 192.168.1.102

rsync

rsync远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

rsync -rvl     $pdir/$fname         $user@hadoop$host:$pdir

-r 递归

-v 显示复制过程

-l 拷贝符号连接

编写集群分发脚本xsync

在/usr/local/bin这个目录下存放的脚本,可以在系统任何地方直接执行,需要制定路径。

在/usr/local/bin目录下创建xsync文件,文件内容如下:

#!/bin/bash

#1 获取输入参数个数,如果没有参数,直接退出

pcount=$#

if((pcount==0)); then

echo no args;

exit;

fi

#2 获取文件名称

p1=$1

fname=`basename $p1`

echo fname=$fname

#3 获取上级目录到绝对路径

pdir=`cd -P $(dirname $p1); pwd`

echo pdir=$pdir

#4 获取当前用户名称

user=`whoami`

#5 循环

for((host=103; host<105; host++)); do

#echo $pdir/$fname $user@hadoop$host:$pdir

echo --------------- hadoop$host ----------------

rsync -rvl $pdir/$fname $user@hadoop$host:$pdir

done

修改脚本 xsync 具有执行权限 chmod 777 xsync

调用脚本形式:xsync 文件名称

编写分发脚本xcall

在所有主机上同时执行相同的命令

在/usr/local/bin目录下创建xcall文件,文件内容如下:

#!/bin/bash

pcount=$#

if((pcount==0));then

echo no args;

exit;

fi

echo -------------localhost----------

$@

for((host=101; host<=108; host++)); do

echo ----------hadoop$host---------

ssh hadoop$host $@

done

修改脚本 xcall 具有执行权限

调用脚本形式: xcall 操作命令

配置集群

集群部署规划

Hadoop102

hadoop103

hadoop104

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

因为NameNode和ResourceManager,SecondaryNameNode都需要消耗大量资源,所以分摊配置在不同的服务器。

配置文件

core-site.xml

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop102:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-2.7.2/data/tmp</value>

</property>

hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop104:50090</value>

</property>

</configuration>

slaves

hadoop102

hadoop103

hadoop104

yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop103</value>

</property>

</configuration>

mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

mapred-site.xml

<configuration>

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

在集群上分发以上所有文件

xsync /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml

xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml

xsync /opt/module/hadoop-2.7.2/etc/hadoop/slaves

查看文件分发情况

xcall cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves

启动集群

如果集群是第一次启动,需要格式化namenode

bin/hdfs namenode -format

启动HDFS:

sbin/start-dfs.sh

启动yarn

sbin/start-yarn.sh

注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

Hadoop运行模式的更多相关文章

  1. 大数据学习之Hadoop运行模式

    一.Hadoop运行模式 (1)本地模式(默认模式): 不需要启用单独进程,直接可以运行,测试和开发时使用. (2)伪分布式模式: 等同于完全分布式,只有一个节点. (3)完全分布式模式: 多个节点一 ...

  2. 啃掉Hadoop系列笔记(03)-Hadoop运行模式之本地模式

    Hadoop的本地模式为Hadoop的默认模式,不需要启用单独进程,直接可以运行,测试和开发时使用. 在<啃掉Hadoop系列笔记(02)-Hadoop运行环境搭建>中若环境搭建成功,则直 ...

  3. 啃掉Hadoop系列笔记(04)-Hadoop运行模式之伪分布式模式

    伪分布式模式等同于完全分布式,只是她只有一个节点. 一) HDFS上运行MapReduce 程序 (1)配置集群 (a)配置:hadoop-env.sh Linux系统中获取jdk的安装路径:

  4. Hadoop运行模式:本地模式、伪分布模式、完全分布模式

    1.本地模式:默认模式 - 不对配置文件进行修改. - 使用本地文件系统,而不是分布式文件系统. - Hadoop不会启动NameNode.DataNode.ResourceManager.NodeM ...

  5. Hadoop系列005-Hadoop运行模式(下)

    本人微信公众号,欢迎扫码关注! Hadoop运行模式(下) 2.3.完全分布式部署Hadoop 1)分析: 1)准备3台客户机(关闭防火墙.静态ip.主机名称) 2)安装jdk 3)配置环境变量 4) ...

  6. Hadoop系列004-Hadoop运行模式(上)

    title: Hadoop系列004-Hadoop运行模式(上) date: 2018-11-20 14:27:00 updated: 2018-11-20 14:27:00 categories: ...

  7. Hadoop之运行模式

    Hadoop运行模式包括:本地模式.伪分布式以及完全分布式模式. 一.本地运行模式 1.官方Grep案例 1)在hadoop-2.7.2目录下创建一个 input 文件夹 [hadoop@hadoop ...

  8. hadoop的运行模式

    概述 1)资料查询(官方网址) (1)官方网站: http://hadoop.apache.org/ (2)各个版本归档库地址 https://archive.apache.org/dist/hado ...

  9. Hadoop运行环境搭建

    Hadoop运行环境搭建 更改为阿里的Centos7的yum源 #下载wget yum -y install wget #echo 下载阿里云的yum源配置  Centos-7.repo wget - ...

随机推荐

  1. Dockerfile 指令详解

    GitHub Page:https://blog.cloudli.top/posts/Dockerfile-指令详解/ FROM FROM 命令指定基础镜像.在构建镜像时,基础镜像必须指定,因此在 D ...

  2. 你不知道的Canvas(二)

    你不知道的Canvas(二) 一.色彩Colors 到目前为止,我们只看到过绘制内容的方法.如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle. fill ...

  3. Mongoose 基本用法

    1. SchemaTypes数据类型 数据类型 描述 String 字符串 Number 数字 Date 日期 Boolean 布尔值 Mixed 混合 Objectid 对象ID Array 数组 ...

  4. js垃圾回收

    内存生命周期 分配你所需要的内存 使用分配到的内存(读.写) 不需要时将其释放\归还 所有语言第二部分都是明确的.第一和第三部分在底层语言中是明确的,但在像 JavaScript 这些高级语言中,嵌入 ...

  5. hydra的使用

    hydra参数详解 -R 继续从上一次进度接着破解 -S 大写,采用SSL链接 -s 小写,可通过这个参数指定非默认端口 -l 指定破解的用户,对特定用户破解 -L 指定用户名字典 -p 小写,指定密 ...

  6. RTKLib的Manual解读

    Key-word: integer ambiguity resolution :整周模糊度解算 navigation:导航 Kinematic:动态,RTK的K rover:漫游 validation ...

  7. Python文件处理:创建、打开、追加、读、写

    在Python中,不需要导入外部库来读取和写入文件.Python为创建.写入和读取文件提供了内置的函数. 在本文中,我们将学习 如何创建文本文件 如何将数据附加到文件中 如何读取文件 如何逐行读取文件 ...

  8. Python 中 -m 的典型用法、原理解析与发展演变

    在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...

  9. nginx篇高级用法之基于TCP/UDP的四层调度

    nginx 从1.9版本开始支持基于TCP/UDP的四层调度,在编译nginx时使用--with-stream开启该模块 支持TCP/UDP调度时,支持给所有的软件做调度器,例如:nfs smb ft ...

  10. CSPS模拟 84

    整场考试就一个字虚 真的啥也不会 T1 80很好打 可是100这鬼畜的数据范围...二分答案? 没做过蚯蚓跪..果然多刷题有好处.. 于是死在80分处 T2 56很好打 可是100这鬼畜....... ...