云计算平台Hadoop的部署.

Slides:



Advertisements
Similar presentations
電子商務:數位時代商機‧梁定澎總編輯‧前程文化 出版
Advertisements

LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
DATE: 14/10/2009 陳威宇 格網技術組 雲端運算相關應用 (Based on Hadoop)
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月.
穆公(朱金清 微博:淘穆公 阿里HBase业务设计实践 穆公(朱金清 微博:淘穆公
基于Hadoop的Map/Reduce框架研究报告
南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
MHA(Master High Availability) 作者
巨量資料平台: Hadoop的生態系.
11.3 国产大数据库技术 阿里巴巴OceanBase 云创存储数据立方(DataCube)
台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學.
第11章 海量信息存储 主讲:刘方明 副教授 华中科技大学计算机学院
云梯的多namenode和跨机房之路
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
数据采集与Hadoop框架 报告人:黄文君 导 师:王华忠 BEA Confidential.
为教师开展大数据课程教学提供全方位、一站式服务
基于hadoop的数据仓库技术.
一种基于Hadoop的视频大数据分布式解码方法 冯强
Made by Feng Nie 开源机器学习库&Hadoop介绍 Made by Feng Nie
Introduction to MapReduce
Frontiers of Software Engineering
J2EE与中间件技术 ——Lab.
软件工程基础 Hadoop生态系统 刘 驰.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
設置Hadoop環境 王耀聰 陳威宇 楊順發 國家高速網路與計算中心(NCHC)
YARN & MapReduce 2.0 Boyu Diao
Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
基于R和pentaho的全套开源BI平台的实现
第3章 分布式文件系统HDFS (PPT版本号:2017年2月版本)
分布式系统中的关键概念及Hadoop的起源、架构、搭建
第2章 大数据处理架构Hadoop (PPT版本号:2017年2月版本)
快速学习环境搭建 安装前预备工作(Linux相关配置) 实操演示(hadoop、hbase为例) 总结&练习题(课后练练手)
雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
云计算之分布式计算.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
Goolge的云计算 分布式数据表BigTable.
雲端運算檔案系統HDFS.
基于Hadoop的数据仓库Hive.
實現雲端運算 Hadoop HDFS 磁碟及記憶體之即時分級服務
kCloudStorage - 基于云技术的廉价冗余天文海量数据存储
《大数据技术原理与应用》 第七章 MapReduce (2016春季学期) 林子雨 厦门大学计算机科学系 主页:
CHAPTER 6 認識MapReduce.
Spark在智慧图书馆建设中的应用探索 2017年12月22日.
第二讲 搭建Java Web开发环境 主讲人:孙娜
Cloud Computing(雲端運算) 技術的現況與應用
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
《大数据技术原理与应用》 第十二讲 图计算 (2016春季学期)
Hadoop.
Homework 1(上交时间:10月14号) 倒排索引.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Online job scheduling in Distributed Machine Learning Clusters
软件工程基础 云计算概论 刘 驰.
大数据介绍及应用案例分享 2016年7月 华信咨询设计研究院有限公司.
大数据与物流 沈庆琼 物流教研室.
ENS 10.1安装配置指南 王俊涛 | SE.
语文专题课 执教者: 平望二中 黄小林 视频.
Hadoop入门
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
Common Qs Regarding Earnings
密级: 亿赞普Hadoop应用浅析 IZP 肖燕京.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
姚金宇 MIT SCHEME 使用说明 姚金宇
Python 环境搭建 基于Anaconda和VSCode.
Cloud Computing Google云计算原理.
Google的云计算 分布式锁服务Chubby.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
Presentation transcript:

云计算平台Hadoop的部署

目录 Hadoop简介 Hadoop的部署 HDFS (Hadoop Distributed File System) MapReduce 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

历史 2002-2004: Apache Nutch 2004-2006: Google 发表 GFS 和 MapReduce相关论文 Apache 在Nutch中实现HDFS和MapReduce 2006-2008: Hadoop 项目从Nutch中分离 2008年7月,Hadoop赢得Terabyte Sort Benchmark Hadoop Wins Terabyte Sort Benchmark:  One of Yahoo's Hadoop clusters sorted 1 terabyte of data in 209 seconds, which beat the previous record of 297 seconds in the annual general purpose (Daytona) terabyte sort benchmark. This is the first time that either a Java or an open source program has won.

Doug Cutting Hadoop项目负责人 同时也是Nutch, Lucene的负责人 09年8月离开yahoo!,加入Cloudera Doug Cutting Hadoop项目负责人

Hadoop简介 数据为中心(data-centered) 支持高可用的(high availability),可扩缩 (scalable)的分布式计算的开源软件 海量非结构的数据分析 日志分析 Google, Facebook, Yahoo!, Amazon, Baidu, Renren, Tencent… http://wiki.apache.org/hadoop/Powered By There are 36 data centers in all—19 in the U.S., 12 in Europe, 3 in Asia, and one each in Russia and South America.  Baidu - the leading Chinese language search engine Hadoop used to analyze the log of search and do some mining work on web page database We handle about 3000TB per week Our clusters vary from 10 to 500 nodes Hypertable is also supported by Baidu

HDFS Fault-tolerant, 容错性 Run on commodity hardware,在通用的机器上运行 Scalable 可扩缩的 1个 namenode 多个 datanodes 容错性的保证是用校验码或者用冗余,HDFS是用冗余 Commodity hardware 普通pc,不是大型的服务器 可扩展,最重要的特性:访问量的增加,传统的架构的做法…可扩咱架构的做 法… http://hadoop.apache.org/hdfs/docs/current/hdfs_design.html http://labs.google.com/papers/gfs.html

HDFS NameNode DataNode 存贮HDFS的元数据(metadata) 管理文件系统的命名空间(namespace) 创建、删除、移动、重命名文件和文件夹 接收从DataNode来的Heartbeat 和 Blockreport DataNode 存贮数据块 执行从Namenode来的文件操作命令 定时向NameNode发送Heartbeat和Blockreport 重点介绍的概念: Metadata Metadata和data之间的同步 7 7

Heartbeat和Blockreport Datanode 1 Namenode Metadata: <1,(1,2)> <2,(2,3) > <3,(1,3)> 1 1,3 3 1,2 Datanode 2 1 2 2,3 1、保证metadata和data的一致 2、namenode用这样的机制来探测datanode是dead的还是alive,并在发现 datanode死机的时候重新生成副本 Datanode 3 2 3

Data Flow File Read 先读NameNode,获得数据块的信息,再去读相应的DataNode中的数据。 避免所有数据都从NameNode获取,使得NameNode成为性能瓶颈 9 9 9

Data Flow File Write 10 10 10

MapReduce 编程模型(program model),软件包 Map Reduce 把要处理的数据组合成一个个的<key, value>对(pair) Reduce 把具有相同key的pair聚集在一起,计算一个 新的value,从而得到一个新的<key, value> 并输出。 编程模型:计算方法,计算模式,一种思考问题的方法,一种处理问题的方法 ,把这些处理问题的方法实现在一个软件包里。 用这个软件包的时候就用了这种处理问题的方法。

Mapreduce 控制 一个Jobtracker 多个tasktrackers 数据流

MapReduce Jobtraker (Master) Tasktracker (Worker) 接收任务(job)的提交 提供任务的监控(monitoring)和控制(control) 把job划分成多个tasks,交给Tasktracker执行,并管 理这些tasks的执行 Tasktracker (Worker) 管理单个task的map任务和reduce任务的执行

Word count: file0 file1 file2 files <word, count> hello world file1: hello mapreduce file2: bye bye file0 <“hello”, 1> <“world”, 1> <0, “hello world”> Input files file1 <“hello”, 1> <“mpareduce”, 1> <0, “hello mapreduce”> <“hello”, 2> <“world”, 1> <“mapreduce”, 1> <“bye”, 2> file2 <“bye”, 2> <0, “bye bye”> files <line offset, line content> <word, count> <word, count> files

目录 Hadoop简介 Hadoop的部署 运行MapReduce任务 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

目标Hadoop 机群 Master NameNode Jobtracker slave0 DataNode0 TaskTracker0

目录 Hadoop简介 Hadoop的部署 运行MapReduce任务 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

预备条件0 三台机器 操作系统相同,在同一局域网 一个专门用于hadoop安装的用户 node50 ip:11.11.11.50

预备条件0 修改/etc/hosts, 添加三台机器的机器名和 ip映射(三台机器都要做) #vim /etc/hosts

预备条件0 创建专门用于hadoop安装的用户名(三台 机器都要做) #useradd –m hadoop #passwd hadoop 以#开头的命令是指在root权限下执行的命令 以$开头的命令是指在专门用于hadoop的用户下执行的命令

预备条件1 jvm:Sun JavaTM 1.6.x 检查是否已经安装: 安装java1.6 $java –version 如果返回1.6则已经安装,否者要 下载java 1.6并且安装 安装java1.6 下载程序包 http://www.oracle.com/technetwork/java/javase/downloads/index.html

预备条件1 给下载下来的文件添加可执行权限 执行文件,才生一个rpm文件 双击执行rpm文件 #chmod 755 XXXXXX

预备条件1 添加java环境变量 $vim ~/.bashrc 其中JAVA_HOME的位置要确认一下安装 的目录是否是这个位置 在文件最后添加以下三行 export JAVA_HOME=/usr/java/default export CLASSPATH=.:JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin $source ~/.bashrc 其中JAVA_HOME的位置要确认一下安装 的目录是否是这个位置 再次检查java版本

预备条件2 使master可以以无密码的方式ssh登录到 slaves上 生成各台机器的private key和public key $ssh-keygen (对所有提问按enter) 把master的public key拷贝到它自己和 slaves机器上,把slaves上的public key拷贝 到master上 $ssh-copy-id XXX

预备条件2

目录 Hadoop简介 Hadoop的部署 运行MapReduce任务 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

Master节点下载hadoop-0.20.2 从renren网镜像下载Hadoop文件 解压 重命名解压后的文件夹为hadoop $wget http://labs.renren.com/apache- mirror//hadoop/core/stable/hadoop- 0.20.2.tar.gz 解压 重命名解压后的文件夹为hadoop

Master节点下载hadoop-0.20.2 $wget http://labs.renren.com/apache.mirror//hadoop/core/stable/hadoop-0.20.2.tar.gz $ tar –xf hadoop-0.20.2.tar.gz $mv hadoop-0.20.2 hadoop

设置conf/*里的文件 1. hadoop-env.sh 2. core-site.xml 3. mapred-site.xml 4. slaves 5. masters

conf/hadoop-env.sh 添加JAVA_HOME变量 export JAVA_HOME=/usr/java/default

conf/core-site.xml 添加fs.default.name Hdfs://node50:9000, node50是主节点名

conf/mapred-site.xml 添加mapred.job.tracker

conf/slaves 添加slaves机器名

conf/masters 添加secondary master

同步hadoop文件夹 把hadoop文件夹复制到slaves节点的相同 位置 $scp –r hadoop node51:~

目录 Hadoop简介 Hadoop的部署 运行MapReduce任务 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

Hadoop的命令bin/* dfs shell guide: http://hadoop.apache.org/common/docs/r0.20.2/hdfs_shell.html

hdfs的格式化(format) 格式化hdfs $hadoop namenode -format

启动hdfs和mapreduce

Hdfs的web界面

Jobtracker的web界面

目录 Hadoop简介 Hadoop的部署 运行MapReduce任务 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务

准备WordCount.java http://hadoop.apache.org/common/docs/r0.20.2/mapred_tutorial. html 把WordCount.java放到主节点的家目录下 编译WordCount.java,并打包生成的文件到wordcount.jar

准备输入文件夹 在hdfs中建立文件夹input 本地建立file01和file02,并把它上传到hdfs的input文件 夹中

运行WordCount

查看结果

Reference Google papers: Hadoop links: MapReduce: http://labs.google.com/papers/mapreduce.html GFS: http://labs.google.com/papers/gfs.html Hadoop links: http://hadoop.apache.org/ http://hadoop.apache.org/common/docs/r0.20.2/mapred_tuto rial.html