Hadoop 标签

64位Ubuntu14.04下安装hadoop2.6单机配置和伪分布配置详解

  |   0 评论   |   331 浏览

环境

系统: Ubuntu 14.04 64bit

Hadoop 版本: Hadoop 2.6.0 (stable)

JDK 版本: oracle jdk7

操作

在 Ubuntu 下创建 hadoop 用户组和用户

  1. 创建 hadoop 用户组
sudo addgroup hadoop
  1. 创建 hadoop 用户
sudo adduser -ingroup hadoop hadoop

3 . 给 hadoop 用户添加权限,打开/etc/sudoers 文件

sudo gedit /etc/sudoers

在 root ALL=(ALL:ALL) ALL 下添加 hadoop ALL=(ALL:ALL) ALL.

安装 SSH server、配置 SSH 无密码登陆

SSH 是一个很著名的安全外壳协议 Secure Shell Protocol。 rsync 是文件同步命令行工具

sudo apt-get install ssh rsync

hadoop平台wordcount程序的python实现

  |   0 评论   |   383 浏览

摘要: ​ 尽管 Hadoop 框架是用 Java 写的,但是 Hadoop 程序不限于 Java,可以用 python、C++、Ruby 等。本例子中直接用 python 写一个 MapReduce 实例,而不是用 Jython 把 python 代码转化成 jar 文件。

例子的目的是统计输入文件的单词的词频。

  • 输入:文本文件
  • 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开)

Python MapReduce 代码

使用 python 写 MapReduce 的“诀窍”是利用 Hadoop 流的 API,通过 STDIN(标准输入)、STDOUT(标准输出)在 Map 函数和 Reduce 函数之间传递数据。
我们唯一需要做的是利用 Python 的 sys.stdin 读取输入数据,并把我们的输出传送给 sys.stdout。Hadoop 流将会帮助我们处理别的任何事情。

Map 阶段:mapper.py

在这里,我们假设把文件保存到 hadoop-0.20.2/test/code/mapper.py

#!/usr/bin/env python
import sy

MapReduce实现自定义二次排序

  |   0 评论   |   280 浏览

摘要: MapReduce 框架对处理结果的输出会根据 key 值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对 reduce 输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现的原理以及整个 MapReduce 框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际的 MapReduce 二次排序例子,讲述二次排序的实现和其 MapReduce 的整个处理流程,并且通过结果和 map、reduce 端的日志来验证所描述的处理流程的正确性。

概述

MapReduce 框架对处理结果的输出会根据 key 值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对 reduce 输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现的原理以及整个 MapReduce 框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际的 MapReduce 二次排序例子,讲述二次排序

hadoop下基于mapreduce实现pagerank算法

  |   0 评论   |   849 浏览

摘要: PageRank,网页排名,又称网页级别、Google 左侧排名或佩奇排名,是一种由[1] 根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以 Google 公司创办人拉里·佩奇(Larry Page)之姓来命名。Google 用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。Google 的创始人拉里·佩奇和谢尔盖·布林于 1998 年在斯坦福大学发明了这项技术。

PageRank 通过网络浩瀚的超链接关系来确定一个页面的等级。Google 把从 A 页面到 B 页面的链接解释为 A 页面给 B 页面投票,Google 根据投票来源(甚至来源的来源,即链接到 A 页面的页面)和投票目标的等级来决定新的等级。简单的说,一个高等级的页面可以使其他低等级页面的等级提升。

PageRank 的核心公式是:
PR(A)=(1-d)+d(PR(B)/C+PR(C)/C......PR(Z)/C)

  • PR(A)是指网页 A 的 PR 数值
  • PR(i)是链接向 A 页面的 i 页面的 PR 值
  • C 是网页 i 往其他页面输出的链接的数量
  • d 是一个常数,谷歌设置为 0.