崔文斌牟少敏* 王云诚浩庆波昌腾腾
( 山东农业学农业数研究中心山东 泰安 271018)
摘 数处理台 Apache Hadoop 开源分布式系统框架运行分布式应程序数时
代 Hadoop 着良发展前景文简介绍 Hadoop 发展史分析 Hadoop 集群构造模块组件搭
建 Hadoop 集群进行测试
关键词 数 Hadoop 分布式应程序 分布式系统
中图分类号 F301. 2 文献标识码 A 文章编号 1000 - 2324( 2013) 04 - 0550 - 06
收稿日期 2012 - 07 - 05
基金项目 山东省然基金( ZR2012FM024) 资助
作者简介 崔文斌( 1992 - ) 男科
* 通讯作者 Author for correspondence. E - mail msm@ sdau. edu. cn
THE BUILDING AND TESTING PLATFORM FOR HADOOP DISTRIBUTED - ARCHITECTURE
CUI Wen - binMU Shao - minWANG Yun - chengHAO Qing - boCHANG Teng - teng
( Agricultural Big - Data Research CenterShandong Agricultural UniversityTaian 271018China)
Abstract Big Data Processing Platform Apache Hadoop is an open source distributed system frameworkcan run
distributed application programs. In the era of Big Data Hadoop has good development prospects. This paper
briefly introduces the history of Hadoopanalyzes the structure of the Hadoop cluster modules and components
building the Hadoop cluster and tested.
Key words Big Data Hadoop Distributed Applications Program The Distributed System
2008 年Nature发表关数( Big Data) 专刊数处理分析已成关注
焦点数具四特点( 4V) 样化( Variety) 海量性( Volume) 快速性( Velocity) 灵活性( Vi
tality) [1]四特点求前分布式架构理念做出新理解数处理数整合
新方法Hadoop 环境成功应数处理分析分布式架构台具方便
健壮性扩展性搭建硬件求较低等优点[2]数领域分布式处理占较优势
文结构安排 第节介绍 Hadoop 发展史阐述 Hadoop 集群构造模块组件 第二节
Hadoop 数台搭建测试做出详细介绍说明 第三节全文进行总结展
1 Hadoop 简介
Hadoop 开源分布式架构台数理念传统分布式系统强调代码数
迁移传统数代码迁移避免传输数耗费量时间
1. 1 Hadoop 发展史
Hadoop 2005 年作 Nutch 子项目引入Nutch Apache Lucene 子项目三
项目 Doug Cutting 创立项目前项目基础发展[3]
Lucene 文索引查询库 Nutch Lucene 扩展试图 Lucene 核心建立
完整 Web 搜索引擎Doug Cutting 设想 Nutch 开放民代 Google 等商业产品
山东农业学学报 ( 然科学版)201344 ( 4) 550 - 555
Journal of Shandong Agricultural University ( Natural Science)垄断技术完成 Nutch Doug Cutting 团队面着较严峻挑战 解决软件扩展
性问题 Nutch 建立层负责分布式处理冗余动障恢复负载均衡等
2004 年 Google 发表两篇文述 Google 文件系统( GFS) [4] MapReduce 框架[5]Google 认
两项技术扩展完善搜索系统Doug Cutting 技术适 Nutch
团队便设计专门项目充实两种网络扩展技术 Hadoop 2008 年 2 月 19 日
雅虎宣布搜索网页生产系统采 10000 核 Linux 集群运行 Hadoop
1. 2 Hadoop 集群构造模块
Hadoop 集群 5 构造模块 名字节点( NameNode)数节点( DataNode)次名字节点( Secondary
NameNode)作业踪节点( JobTracker)务踪节点( TaskTracker)现分介绍
1. 2. 1 名字节点数节点次名字节点 名字节点守护进程 Hadoop 中重位 Ha
doop 文件分布系统端指导端数节点执行 IO 务踪文件分配分配
数节点监测整文件系统否正常运行Hadoop 集群数节点守护进
程执行分布式系统工作將文件分布式系统数块写入文件系统实际文件中
次名字节点守护进程监测文件系统运行状态辅助进程名字节点集群中
节点发生障时整集群损失非常次名字节点存减少名字节点失
效恢复需时间降低数丢失风险
1. 2. 2 作业踪节点务踪节点 作业踪节点守护进程 Hadoop 应程序间纽带
代码提交集群作业踪节点会确定执行计划果务失败作业踪节点將动重启务
集群守护进程通常运行集群名字节点
务踪节点守护进程负责执行作业踪节点分配务通常运行集群数节点
数节点务踪守护进程生成 Java 虚拟机行处理 Map Reduce
务务踪节点守护进程务停作业踪节点进行通信果段时间作
业踪节点没收务踪节点通信作业踪节点认该节点已死亡该节点务重
新分配节点
1. 3 Hadoop 组件
Hadoop 项目中两非常重部分分 HDFS( Hadoop 文件分布式系统) MapReduce 行
计算框架
1. 3. 1 HDFS HDFS MapReduce 规模分布式数处理框架设置存储普通文件
存储系统法存储文件物理空间將文件分干较数块( 通常 64MB)
存放集群中节点逻辑空间文件存储读取数时 HDFS 实现行操
作提高读取数时吞吐量
1. 3. 2 MapReduce 行计算框架 MapReduce 程序通操作键值处理数般形式
Map( K1 V1 ) →list( K2 V2 )
Reduce( K2 list( V2 )) →list( K3 V3 )
MapReduce 將数处理务抽象系列 Map Reduce 程Map 完成数滤工作
Reduce 完成数聚集工作户种编程模型时根相应编程规实现 Map
函数 Reduce 函数然 MapReduce 会动务进行划分做行执行[5]
MapReduce 工作流程图 1 示
·155·第 4 期 崔文斌等 Hadoop 数台搭建测试图 1 MapReduce 工作流程
Fig. 1 Mapreduce werk flow
通 HDFS 將输入数集分割分布集群中台机器然作业踪节点确定 Map
务Map 务结束产生中间结果存放磁盘节省 Reduce 程时间洗牌
( Shuffling) 阶段前结果进行 Reduce Conbiner 程 HDFS 將数分配节点
洗牌阶段节点间唯通信时间洗牌阶段进行 Reduce 阶段將终结果输出
2 Hadoop 台搭建
Hadoop 三种安装模式 ( 单机) 模式伪分布模式全分布模式模式开发调
试 MapReduce 程序应逻辑伪分布模式单机模式添加代码调试功运行 HDFS
守护进程交互等功Hadoop 集群运行采全分布模式面详细介绍安装程
安装环境包括 Linux 操作系统远程登录协议( SSH)JDK Hadoop 分布式框架等文中数
台搭建实验机基配置 CPU( Intel( R) Core( TM) i5 - 3470 CPU @ 3. 20GHz)存( 4G)硬盘
( 1T) 开源软件 Hadoop( Hadoop - 1. 2. 0)Linux( Ubuntu 13. 04 64 位)JDK1. 7
2. 1 安装配置环境
Hadoop Windows Linux 两种操作系统安装 Window 系统安装前先安装 Cygwin
软件模拟 Unix 操作系统环境安装完成需配置环境变量 CYGWIN Cygwin 安装路径文
介绍 Linux 安装搭建 Hadoop 集群更加方便安装 Linux 操作系统时需机器户
名保持致文户名 Bigdata面详细介绍安装步骤
2. 1. 1 配置节点 Hosts 文件 文七节点例介绍 Hadoop 数台搭建程方便
节点间通节点名称访问分节点etc hosts 文件中添加信息
master 192. 168. 211. 14
slave1 192. 168. 211. 13
slave2 192. 168. 211. 16
slave3 192. 168. 211. 17
·255· 山东农业学学报( 然科学版) 第 44 卷slave4 192. 168. 211. 10
slave5 192. 168. 211. 15
backup 192. 168. 211. 2
master 表示集群名字节点名称backup 集群次名字节点名称slave1 slave5 集群数节点
名称
2. 1. 2 配置密码远程登录协议 Hadoop 运行程中名字节点守护进程需数节点守护
进程进行通信实现名字节点数节点间通信需输入密码需配置密码远程登录协
议具体配置
首先集群节点创建 ssh 隐藏文件夹更改文件夹权限 755( 文件者读写
执行属组户组户读执行)然名字节点进入 ssh 文件夹配置远程登录协议
私钥公钥
cd . ssh
ssh - keygen
cp id_rsa. pub . authorized_keys
將配置公钥通面命令分布集群中节点
scp authorized_keys * home 户名. ssh
* hosts 中配置节点名称节点 IP 址
验证密码远程登录协议否配置成功名字节点节点发起连接命令 ssh *
* hosts 中配置节点名称节点 IP 址
首次连接节点时会提示输入密码时输入目节点密码会显示次登录该节点时间
IP 址显示表示密码远程登录协议配置失败
2. 1. 3 安装配置 Java Hadoop 基 Java 语言开发开源框架运行时需 Java 支持必须
台机器安装 JDK安装配置 JDK 程
首先 usr 建立名 java 文件夹作 JDK 安装目录然载 jdk - 7u25 - linux -
x64. tar. gz 移动安装目录解压载安装包
sudo tar - zxvf jdk - 7u25 - linux - x64. tar. gz
配置环境变量 sudo gedit etc profile文件添加语句( 确认路径)
JAVA_HOME usrjava jdk1. 7. 0_25
PATH JAVA_HOME bin PATH
CLASSPATH . JAVA_HOME lib dt. jar JAVA_HOME lib tools. jar
export JAVA_HOME
export PATH
export CLASSPATH
环境变量配置完成重启电脑 java – version 命令验证安装 JDK显示版信息证明
安装正确否安装失败方便 Hadoop 集群搭建节点 JDK 安装目录量保持致否
需节点修改 Hadoop 配置文件
2. 2 安装配置 Hadoop
http mirror. bit. edu. cn apache hadoop common 载 Hadoop 安装包名字节点將载
安装包解压户根目录进行配置
2. 2. 1 配置名字节点 etc profile 方便直接 Hadoop 命令名字节点 etc profile 配
置
export HADOOP_HOME home bigdata hadoop - 1. 2. 0
export HADOOP_CONF_DIR HADOOP_HOME conf
·355·第 4 期 崔文斌等 Hadoop 数台搭建测试export PATH HADOOP_HOME bin PATH
2. 2. 2 配置 confhadoop - env. sh 文件 添加 export JAVA_HOME usrjava jdk1. 7. 0_25( 里修改
JDK 安装位置)
2. 2. 3 配置 confcore - site. xml 文件 配置 HDFS 文件系统端口路径
< configuration > < property >
< name > fs. default. name < name >
< value > hdfs master 49000 < value > < property > < property >
< name > hadoop. tmp. dir < name >
< value > home bigdata hadoop_home var < value >
< property >
< configuration >
2. 2. 4 配置 confmapred - site. xml 文件 配置 JobTracker 端口址
< configuration > < property >
< name > mapred. job. tracker < name >
< value > master 49001 < value >
< property >
< property >
< name > mapred. local. dir < name >
< value > home bigdata hadoop_home var < value >
< property >
< configuration >
2. 2. 5 配置 confhdfs - site. xml 文件 配置 HDFS 备份副数目目前集群中节点数
< configuration > < property >
< name > dfs. replication < name >
< value > 3 < value >
< property >
< configuration >
2. 2. 6 配置 masters slaves 结点 配置 confmasters confslaves 设置结点需注意
节点名称保证机器间通节点名称互相访问节点名称占行
masters 配置文件中输入
master
backup
slaves 配置文件中输入 slave1 slave5 节点名称节点名称占行
通命令
scp - r home bigdata hadoop - 1. 2. 0 bigdata@ * home bigdata
* 表示节点 IP 址
將 Hadoop 分布集群中节点数台搭建已完成面完成搭建
数台测试工作
2. 3 Hadoop 集群测试
先格式化新分布式文件系统 hadoop namenode – format
然启动服务Hadoop 集群两种启动服务方式第种方式名字节点通命令
start - all. sh 时启动 HDFS Map Reduce
种分启动 HDFS Map Reduce分配名字节点运行面命令启动 HDFS
·455· 山东农业学学报( 然科学版) 第 44 卷start - dfs. sh( 单独启动 HDFS)
start - dfs. sh 脚会参名字节点 slaves 文件容列出数节点启动守护进
程分配作业踪节点运行面命令启动 Map Reduce
start - mapred. sh( 单独启动 Map Reduce)
start - mapred. sh 脚会参作业踪节点 slaves 文件容列出务踪节点
启动守护进程
需关闭节点配置名字节点运行面命令
stop - all. sh
输入 JDK 提供显示前 Java 进程 Pid 命令 JPS( Java Virtual Machine Process Sta
tus Tool)出现面六进程 SecondaryNameNodeDataNodeNameNodeTaskTrackerJps JobTracker
表示台已安装正确需停止服务运行面命令否台安装失败台测试通
运行分布式应程序处理分析数
3 总结展
Hadoop 分布式架构台数非常重开源架构台行化架构台相着
非常优势文组成构建模块安装程进行部分介绍成功搭建 Hadoop 分
布式架构台数研究提供科研台步工作数台进
行关算法研究中算法实现行化运行
参考文献
[1] 中国电子科学研究院学报编辑部. 数时代[J]. 中国电子科学研究院学报20131 27 - 31
[2]( 美) 拉姆. Hadoop 实战[M]. 韩冀中译北京 民邮电出版社2011 3 - 4
[3]Sanjay Ghemawat Howard Gobioff Shun - Tak LeungThe Google file system[D]. USA Google. 2003 29 - 43
[4]Jeffrey Dean Sanjay GhemawatMapReduce Simplified Data Processing on Large Clusters[D]. USA San Frcmciscocakfcrnia. 2004 137 - 150
[5]王 珊王会举覃雄派等. 架构数 挑战现状展[J]. 计算机学报201110 1741 - 1752
·555·第 4 期 崔文斌等 Hadoop 数台搭建测试
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档