主从机构

主: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. 004-搭建框架-实现AOP机制【一】代理技术

    前景提要 监控方法性能.执行时间.记录日志等 AOP( Aspect Oriented Programming)面向方面编程. 在AOP中,需要定义一个Aspect(切面)类来编写需要横切业务的逻辑代 ...

  2. SE80 开发对象

    偶然发现:开发对象可以自动识别对象的类别.

  3. 201703 ABAP面试题002

    转自: ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 问题一:锁对象(Lock Object)和 FM(Function Module)激活锁定对象时,产生的 F ...

  4. 集成富文本编辑器XSS预防过滤措施

    # https://github.com/phith0n/python-xss-filter import re import copy from html.parser import HTMLPar ...

  5. Python traps and pitfalls

    @1: >>> def func(a, L=[]): ... L.append(a) ... print(L) ... >>> func(10) [10] > ...

  6. 对称加密&非对称加密

    对称密钥密码算法的特点: 算法简单,加/解密速度快,但密钥管理复杂,不便于数字签名: 非对称密钥密码算法的特点: 算法复杂,加/解密速度慢,密钥管理简单,可用于数字签名. 所以将两者结合起来,形成混合 ...

  7. gearman管理

    通常,Gearman被用来分发任务,以便实现异步操作.下面捋捋如何管理Gearman. 说明:请自行安装好Gearman和PHP PECL Gearman. (我之前安装的gearman php的c语 ...

  8. pyhton3 random模块

    random是内建(built-in)函数,作用是产生随机数 导入模块: import random 接着就可以调用random模块下的函数了使用 dir(random)可以查看random模块下有哪 ...

  9. IDA 调试 Android 方法及简单的脱壳实现

    IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) An ...

  10. java中类名.class, class.forName(), getClass()区别

    Class对象的生成方式如下: 1.类名.class           说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Cla ...