资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
云计算平台Hadoop的部署,钟志勇 zzysiatgmail.com,目录,Hadoop简介 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件: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,Doug Cutting Hadoop项目负责人,Hadoop简介,数据为中心(data-centered) 支持高可用的(high availability),可扩缩(scalable)的分布式计算的开源软件 海量非结构的数据分析 日志分析 Google, Facebook, Yahoo!, Amazon, Baidu, Renren, Tencent http:/wiki.apache.org/hadoop/PoweredBy,HDFS,Fault-tolerant, 容错性 Run on commodity hardware,在通用的机器上运行 Scalable 可扩缩的,http:/hadoop.apache.org/hdfs/docs/current/hdfs_design.html http:/labs.google.com/papers/gfs.html,1个namenode 多个datanodes,7,7,HDFS,NameNode 存贮HDFS的元数据(metadata) 管理文件系统的命名空间(namespace) 创建、删除、移动、重命名文件和文件夹 接收从DataNode来的Heartbeat 和 Blockreport DataNode 存贮数据块 执行从Namenode来的文件操作命令 定时向NameNode发送Heartbeat和Blockreport,Heartbeat和Blockreport,Namenode Metadata:,Datanode 1,Datanode 2,Datanode 3,1,1,3,3,2,2,1,3,1,2,2,3,9,9,Data Flow,File Read,9,10,10,Data Flow,File Write,10,MapReduce,编程模型(program model),软件包 Map 把要处理的数据组合成一个个的对(pair) Reduce 把具有相同key的pair聚集在一起,计算一个新的value,从而得到一个新的并输出。,Mapreduce,控制,数据流,一个Jobtracker 多个tasktrackers,MapReduce,Jobtraker (Master) 接收任务(job)的提交 提供任务的监控(monitoring)和控制(control) 把job划分成多个tasks,交给Tasktracker执行,并管理这些tasks的执行 Tasktracker (Worker) 管理单个task的map任务和reduce任务的执行,Word count: file0:hello world file1:hello mapreduce file2:bye bye,Input files,file0,file2,file1,files,files,目录,Hadoop简介 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务,目标Hadoop 机群,目录,Hadoop简介 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务,预备条件0,三台机器 操作系统相同,在同一局域网 node50 ip:11.11.11.50 node51 ip:11.11.11.51 node52 ip:11.11.11.52 一个专门用于hadoop安装的用户 hadoop,预备条件0,修改/etc/hosts, 添加三台机器的机器名和ip映射(三台机器都要做) #vim /etc/hosts,预备条件0,创建专门用于hadoop安装的用户名(三台机器都要做) #useradd m hadoop #passwd hadoop,以#开头的命令是指在root权限下执行的命令 以$开头的命令是指在专门用于hadoop的用户下执行的命令,预备条件1,jvm:Sun JavaTM 1.6.x 检查是否已经安装: $java version 如果返回1.6则已经安装,否者要下载java 1.6并且安装 安装java1.6 下载程序包http:/www.oracle.com/technetwork/java/javase/downloads/index.html,预备条件1,给下载下来的文件添加可执行权限 #chmod 755 XXXXXX 执行文件,才生一个rpm文件 ./XXXXXX 双击执行rpm文件,预备条件1,添加java环境变量 $vim /.bashrc 在文件最后添加以下三行 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简介 HDFS (Hadoop Distributed File System) MapReduce Hadoop的部署 预备条件:ssh,jvm 参数设置:conf/* 启动hdfs和mapreduce 运行MapReduce任务,Master节点下载hadoop-0.20.2,从renren网镜像下载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: $scp r hadoop node52:,目录,Hadoop简介 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简介 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: 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_tutorial.html,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号