Hadoop运行模式

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         [email protected]$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 [email protected]$host:$pdir

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

rsync -rvl $pdir/$fname [email protected]$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----------

[email protected]

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

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

ssh hadoop$host [email protected]

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。

原文地址:https://www.cnblogs.com/oyjg/p/11125435.html

时间: 2024-08-03 08:02:15

Hadoop运行模式的相关文章

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

1.本地模式:默认模式 - 不对配置文件进行修改. - 使用本地文件系统,而不是分布式文件系统. - Hadoop不会启动NameNode.DataNode.ResourceManager.NodeManager等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的. - 用于对MapReduce程序的逻辑进行调试,确保程序的正确. 2.伪分布模式:等同于完全分布式,只有一个节点 - 分为在HDFS上执行和在YARN上执行 - Hadoop启动NameNode.DataNo

大数据技术之_03_Hadoop学习_02_入门_Hadoop运行模式+【本地运行模式+伪分布式运行模式+完全分布式运行模式(开发重点)】+Hadoop编译源码(面试重点)+常见错误及解决方案

第4章 Hadoop运行模式4.1 本地运行模式4.1.1 官方Grep案例4.1.2 官方WordCount案例4.2 伪分布式运行模式4.2.1 启动HDFS并运行MapReduce程序4.2.2 启动YARN并运行MapReduce程序4.2.3 配置历史服务器4.2.4 配置日志的聚集4.2.5 配置文件说明4.3 完全分布式运行模式(开发重点)4.3.1 虚拟机准备4.3.2 编写集群分发脚本xsync4.3.3 集群配置4.3.4 集群单点启动4.3.5 SSH无密登录配置4.3.6

Spark教程-构建Spark集群-配置Hadoop单机模式并运行Wordcount(1)

安装ssh Hadoop是采用ssh进行通信的,此时我们要设置密码为空,即不需要密码登陆,这样免去每次通信时都输入秘密,安装如下: 输入“Y”进行安装并等待自动安装完成. 安装ssh完成后启动服务 以下命令验证服务是否正常启动: 可以看到ssh正常启动: 设置免密码登录,生成私钥和公钥: 在/root/.ssh中生成两个文件:id_rsa和id_rsa.pub,id_rsa为私钥,id_rsa.pub为公钥,我们将公钥id_rsa.pub追加到 authorized_keys中,因为author

Hadoop之搭建完全分布式运行模式

一.过程分析 1.准备3台客户机(关闭防火墙.修改静态ip.主机名称) 2.安装JDK 3.配置环境变量 4.安装Hadoop 5.配置集群 6.单点启动 7.配置ssh免密登录 8.群起并测试集群 二.编写集群分发脚本 xsync 1.scp(secure copy)安全拷贝 1)scp定义 scp可以实现服务器与服务器之间的数据拷贝. 2)基本语法 scp -r 文件  用户名@主机:目标路径/名称 3)案例 a.在hadoop101上,将hadoop101中 /opt/module 目录下

Hive基础之Hive体系架构&amp;运行模式&amp;Hive与关系型数据的区别

Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端口是10000:启动方式:hive --service hiveserver WEBUI(浏览器访问hive):通过浏览器访问hive,默认端口是9999:启动方式:hive --service hwi 2)元数据存储(Metastore):启动方式:hive -service metastore

【Spark深入学习-11】Spark基本概念和运行模式

----本节内容------- 1.大数据基础 1.1大数据平台基本框架 1.2学习大数据的基础 1.3学习Spark的Hadoop基础 2.Hadoop生态基本介绍 2.1Hadoop生态组件介绍 2.2Hadoop计算框架介绍 3.Spark概述 3.1 Spark出现的技术背景 3.2 Spark核心概念介绍 4.Spark运行模式 4.1.Spark程序组成 4.2.Spark运行模式 5.参考资料 --------------------- 1.大数据基础 1.1 大数据平台基本框架

Hadoop学习笔记(2)-搭建Hadoop本地模式

0.前言 hadoop总共有三种运行方式.本地模式(Local (Standalone) Mode),伪分布式(Pseudo-Distributed Mode),分布式(Fully-Distributed Mode).后面足一讲解搭建本地以及伪分布式,分布式读者自行搭建. 参考资料(官网为主,网络资料为铺): http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-common/SingleCluster.html#Stan

Hadoop单机模式安装

需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop. 1. 添加用户及用户组 创建用户hadoop $ sudo adduser hadoop 需要输入shiyanlou的密码:shiyanlou.并按照提示输入hadoop用户的密码. 2. 添加sudo权限 将hadoop用户添加进sudo用户组 $ sudo usermod -G sudo hadoop 四.安装及配置依赖的软件包 1. 安装openssh-server.java.rsync等 $ sudo apt-g

MR程序Debug调式或者运行模式

问题描述:在开发MR程序中会遇一些问题需要通过Debug调式,那么本文将介绍描述配置eclipse如何在Windows或者Linux下启动Debug调式. MR程序的Debug调式换言之就是MR程序的运行模式,MR程序有三种运行模式:本地模式(local).集群模式(cluster) Linux环境下: 1.本地模式:直接通过eclipse右键进行Debug即可 2.集群模式: 2.1.将hadoop的配置文件:core-site.xml/hdfs-site.xml/mapreduce-site