主从机构

主:jobtracker

从:tasktracker

四个阶段

1、 split

2、 Mapper: key-value(对象)

3、 shuffle

a)  分区(partition,HashPartition:根据 key 的 hashcode值 和 Reduce 的数量 模运算),可以自定义分区,运算速度要快,一定要解决数据倾斜和reduce

的负载均衡。

b)  排序: 默认按照字典排序。WriterCompartor(比较)

c)  合并:减少当前mapper输出数据,根据key相同(比较),把value进行合并。

d)  分组(key相同(比较),value组成一个集合)(merge)

4、Reduce

a)  输入数据: key +迭代器

Hadoop2.5 HA 搭建

四台机器:hadoop1, hadoop2, hadoop3, hadoop4

NN

DN

ZK

ZKFC

JN

RM

NM(任务管理器)

hadoop1

Y

Y

Y

Y

hadoop2

Y

Y

Y

Y

Y

Y

hadoop3

Y

Y

Y

Y

hadoop4

Y

Y

Y

  1. core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://bjsxt</value>

</property>

<property>

<name>ha.zookeeper.quorum</name>

<value>192.168.200.128:2181,192.168.200.4:2181,192.168.200.5:2181</value>

</property>

<property>

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

<value>/opt/hadoop-2.5.2</value>

</property>

</configuration>

  1. hdfs-site.xml

<configuration>

<property>

<name>dfs.nameservices</name>

<value>bjsxt</value>

</property>

<property>

<name>dfs.ha.namenodes.bjsxt</name>

<value>nn1,nn2</value>

</property>

<property>

<name>dfs.namenode.rpc-address.bjsxt.nn1</name>

<value>192.168.200.128:8020</value>

</property>

<property>

<name>dfs.namenode.rpc-address.bjsxt.nn2</name>

<value>192.168.200.4:8020</value>

</property>

<property>

<name>dfs.namenode.http-address.bjsxt.nn1</name>

<value>192.168.200.128:50070</value>

</property>

<property>

<name>dfs.namenode.http-address.bjsxt.nn2</name>

<value>192.168.200.4:50070</value>

</property>

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://192.168.200.4:8485;192.168.200.5:8485;192.168.200.6:8485/bjsxt</value>

</property>

<property>

<name>dfs.client.failover.proxy.provider.bjsxt</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/root/.ssh/id_dsa</value>

</property>

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/opt/jn/data</value>

</property>

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

</configuration>

  1. 准备 zookeeper

a)       三台 zookeeper: hadoop1, hadoop2, hadoop3

b)       编辑 zoo.cfg 配置文件

  1. 修改 dataDir=/opt/zookeeper
  2. server.1=192.168.200.128:2888:3888

server.2=192.168.200.4:2888:3888

server.3=192.168.200.5:2888:3888

c)       在dataDir目录中创建一个myid的文件,文件内容1,2,3

  1. 配置 hadoop中的slaves
  2. 启动三个zookeeper:   ./zkServer.sh start
  3. 启动三个journalNode:  ./Hadoop-daemon.sh start journalnode
  4. 在其中一个namenode上格式化:  hdfs namenode –format
  5. 把刚刚格式化之后的元数据拷贝到另外 一个namenode上

a)       启动刚刚格式化的namenode

b)       在没有格式化的namenode上执行:hdfs namenode –bootstrapStandby

c)       启动第二个namenode

9.  在其中一个namenode上初始化 zkfc:hdfs zkfc –formatZK
10. 停止上面节点:stop-dfs.sh
11. 全面启动: start-dfs.sh

配置mapreduce
1>修改 mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

2> 修改yarn-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

3> 启动

./start-yarn.sh

访问路径

hadoop2.2.5mapreduce的web界面     http://192.168.200.128:8088/

hdfs web界面    http://192.168.200.128:50070/

手动切换命令

  - transitionToActiove  <serviceId>        // serviceId指 nn1,nn2

建立输入文件目录

./hdfs dfs -mkdir -p /usr/input/hot

删除文件目录

./hdfs dfs -rm /usr/input/hot

上传文件到输入目录

./hdfs dfs -put /usr/data /usr/input/hot

查看目录下文件

./hdfs dfs -ls /usr/input/hot

./hadoop jar /usr/local/hadoop2.jar RunJob

hadoop2.5.2 安装与部署的更多相关文章

  1. hadoop2.7.1安装和部署

    操作系统:Red Hat Enterprise Linux Server release 6.2 (Santiago) hadoop2.7.1 三台redhat linux主机,ip分别为10.204 ...

  2. hadoop2.5.2安装部署

    0x00 说明 此处已经省略基本配置步骤参考Hadoop1.0.3环境搭建流程,省略主要步骤有: 建立一般用户 关闭防火墙和SELinux 网络配置 0x01 配置master免密钥登录slave 生 ...

  3. Apache Hadoop2.x 边安装边入门

    完整PDF版本:<Apache Hadoop2.x边安装边入门> 目录 第一部分:Linux环境安装 第一步.配置Vmware NAT网络 一. Vmware网络模式介绍 二. NAT模式 ...

  4. Kafka的安装和部署及测试

    1.简介 大数据分析处理平台包括数据的接入,数据的存储,数据的处理,以及后面的展示或者应用.今天我们连说一下数据的接入,数据的接入目前比较普遍的是采用kafka将前面的数据通过消息的方式,以数据流的形 ...

  5. Hadoop第3周练习--Hadoop2.X编译安装和实验

    作业题目 位系统下进行本地编译的安装方式 选2 (1) 能否给web监控界面加上安全机制,怎样实现?抓图过程 (2)模拟namenode崩溃,例如将name目录的内容全部删除,然后通过secondar ...

  6. Hive安装与部署集成mysql

    前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...

  7. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  8. Hue的安装与部署

    Hue的安装与部署 hadoop hue Hue 简介 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是 ...

  9. hadoop2.4.1伪分布模式部署

    hadoop2.4.1伪分布模式部署 (承接上一篇hadoop2.4.1-src的编译安装继续配置:http://www.cnblogs.com/wrencai/p/3897438.html) 感谢: ...

随机推荐

  1. 2.6 基于ARDUINO UNO+MC20的路径显示功能

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  2. php 计算器的例子

    php实现的计算器的例子,代码如下: <html>     <head>         <title>PHP实现简单计算器-www.jbxue.com</t ...

  3. Python基础之socket编程(Day29)

    一.客户端/服务器架构 1.硬件c/s架构(打印机) 2.软件c/s架构 互联网中处处是c/s架构 浏览的网页就是如此 C/S架构与socket的关系 socket就是为了完成c/s架构的开发 二.s ...

  4. FTP主动连接与被动连接

    FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,应用层的协议,它基于传输层, FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而 ...

  5. ajax json 异步请求

    function ajaxTest(){ if (true) { $.ajaxSettings.async = false; var dataJson; $.getJSON("/univer ...

  6. $《第一行代码:Android》读书笔记——第1章 Android系统

    (一)Android系统架构 1.Linux内核层:各种底层驱动,如显示驱动.音频驱动.电源管理等. 2.系统运行库层:各种库支持,如3D绘图.浏览器内核.数据库等. 3.应用框架层:各种API,各种 ...

  7. java配置好jdk-bash: /usr/bin/java: No such file or directory

    在 Linux 系统中安装 JDK 环境,配置好环境变量后,输入 java.javac 或者 java -version 等时,都提示如下错误: -bash: /usr/local/java/bin/ ...

  8. html5-entities.js消失问题

    今天用nuxt做项目时,启动npm run dev,项目正常启动, 可过一会儿再试图启动时却报错: * ./libhtml5-entities.js in ./~/html-entities/inde ...

  9. Android系统--输入系统(二)必备Linux知识_实现inotify_epoll.c

    Android系统--输入系统(二)必备Linux知识_实现inotify_epoll.c 课后作业 1. 编写 inotify_epoll.c, 用它来监测tmp/目录: 有文件被创建/删除, 有文 ...

  10. 【转载】用Scikit-Learn构建K-近邻算法,分类MNIST数据集

    原帖地址:https://www.jiqizhixin.com/articles/2018-04-03-5 K 近邻算法,简称 K-NN.在如今深度学习盛行的时代,这个经典的机器学习算法经常被轻视.本 ...