主从机构

主: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. mysql学习笔记—常用sql语句

    sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABAS ...

  2. python学习之路-第一天-接触python

    我的入门就决定用<简明Python教程> <简明Python教程> 1. python的优势 简单:专注于解决问题而不是关注语言本身 易学:容易上手 开源.免费 可移植性非常强 ...

  3. Python进阶(2)_进程与线程的概念

    1 进程与线程相关概念 1.1 进程 进程定义: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成,是最小的资源管理单元 程序:用来描述进程要完成哪些功能 ...

  4. php......留言板

    部门内部留言板 一.语言和环境 实现语言 PHP 二.要求: 本软件是作为部门内员工之间留言及发送消息使用. 系统必须通过口令验证,登录进入.方法是从数据库内取出用户姓名和口令的数据进行校验. 用户管 ...

  5. Capslock and Esc

    将Caps Lock转换成Esc(windows and linux) 1. linux 下将Caps Lock 转换成Esc 作为一个vimer,Caps Lock对我(还有其他很多人)来说根本就是 ...

  6. Django---Blog系统开发之建库

    数据库配置: #sqlite3数据库配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os. ...

  7. ⭐内核MKDEV(MAJOR, MINOR)宏

    版本:linux-2.6.24.4宏:    MKDEV(MAJOR, MINOR);  说明: 获取设备在设备表中的位置.        MAJOR   主设备号        MINOR   次设 ...

  8. mvn库

    http://maven.aliyun.com/nexus/content/groups/public/ http://mvnrepository.com/http://search.maven.or ...

  9. IOS 发布被拒 PLA 1.2问题 整个过程介绍 02 个人账户升级公司账户

    首先,根据上一篇文章得出结论: 1.个人账户,可以发布非营销的APP.例如:公司企业站.个人站 2.公司账户,可以发布营销的APP.例如:京东,天猫,带有盈利的APP 3.企业账户,是使用在公司内部的 ...

  10. Java C++ 比较 – 虚函数、抽象函数、抽象类、接口

    [转自]原文 Java – 虚函数.抽象函数.抽象类.接口 1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它 ...