版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、Hadoop概述1.1什么是Hadoop一个开源、高可靠、可扩展的分布式计算框架解决的问题:海量数据的存储(HDFS)海量数据的分析(MapReduce)分布式资源调度(Yarn)产生背景:受Google三篇论文的启发(GFS、MapReduce、BigTable)扩容能力:能可靠地存储和处理千兆字节(PB)数据。成本低:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。高效率:通过分发数据,Hadoop可以在数据所在的节点上并行地处理它们,这使得处理非常的快速。可靠性:Hadoop能自动维护数据的多份副本,并且在任务失败后能自动重新部署。1.2 Hadoo
2、p应用场景日志分析基于海量数据的在线应用推荐系统计算广告复杂算法网盘搜索引擎.1.3 Hadoop生态圈1.4 Hadoop核心Hadoop项目主要包括以下四个模块Hadoop Common: 为其他Hadoop模块提供基础设施Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统Hadoop MapReduce:一个分布式的离线并行计算框架Hadoop YARN:一个新的MapReduce框架,任务调度与资源管理分布式离线计算框架 - MapReduceMap任务处理 读取输入文件内容,解析成key、value对 重写map方法,编写业务逻辑输出新的key、value对 对输出的key
3、、value进行分区。(Partitioner类)对数据按照key进行排序、分组。相同key的value放到一个集合中。Reduce任务处理 对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。 对多个map任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。 把reduce的输出保存到文件中。二、Hadoop前置环境安装Linux环境准备JDK安装材料:VMwarelinuxhttp:/mirrors.yun-CentOS-6.8-x86_64-bin-DVD1.isoJdk1.7jdk-7u
4、67-linux-x64.tar.gz2.1虚拟机搭建安装完成,重新启动2.2设置虚拟机网络环境链接网络,根据你本机网络环境,设置虚拟机服务器中网络环境查看你本地网络环境检查你win环境能否ping通虚拟机使用 SecureCRT.exe 即可远程连接上服务器2.3关闭防火墙永久关闭:chkconfig iptables off 暂时关闭,重启后失效:service iptables stop roothadoop02 # chkconfig iptables off2.4修改主机名roothadoop02 # vim /etc/sysconfig/network2.5配置网络映射2.6重启机
5、器roothadoop02 # rebootd2.7设置ssh免密码登录roothadoop02 # ssh 16需要密码首先生成秘钥:roothadoop02 # ssh-keygen -t rsa 之后四个回车生成完成,复制秘钥到本机roothadoop02 # ssh-copy-id 16测试是否无需免密码登录roothadoop02 # ssh 162.8设置java环境,安装JDK检查是否已经安装了JDK,可根据情况卸载本机jdk,重新安装自己的JDKroothadoop02 # rpm -qa|grep
6、jdkroothadoop02 # rpm -qa|grep java先卸载本机的jdkroothadoop02 # rpm -e -nodeps java-1.6.0-openjdk-8-.el6.x86_64roothadoop02 # rpm -e -nodeps java-1.7.0-openjdk-9-.el6.x86_64roothadoop02 # rpm -qa|grep jdkroothadoop02 # rpm -qa|grep java上传你的JDK,可以使用RZ命令上传,也可以用ftp工具进行上传如果你的虚拟机
7、能够链接网络,那么可以用yum 命令进行软件的安装,首先安装RZ命令软件,否则可以到网上下载其安装包进行命令的安装a、roothadoop02 tools# rpm ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm或者b、roothadoop02 tools# yum install -y lrzsz在 home目录下建立tools 目录,存放安装软件roothadoop02 # mkdir /home/toolsroothadoop02 # cd /home/tools/roothadoop02 tools# rz将jdk解压到 /usr/java目录roothad
8、oop02 tools# mkdir /usr/javaroothadoop02 tools# tar -zxf jdk-7u67-linux-x64.tar.gz -C /usr/java/roothadoop02 tools# cd /usr/java/设置jdk环境变量roothadoop02 jdk1.7.0_67# vim /etc/profile在文件最低端添加以下参数export JAVA_HOME=/usr/java/jdk1.7.0_67export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexpor
9、t PATH=$JAVA_HOME/bin:$PATH设置文件生效roothadoop02 jdk1.7.0_67# source /etc/profile校验jdk是否配置完成roothadoop02 jdk1.7.0_67# java三、Hadoop伪分布式安装3.1 Hadoop运行模式本地模式所有Hadoop的守护进程运行在一个JVM中伪分布式所有Hadoop的守护进程各自运行在自己的JVM中(一台机器)集群模式多台机器来搭建分布式集群,每个进程运行在独立的JVM中,并对Namenode和ResourceManager做Ha配置3.2 下载 hadoop-2.5.2.tar.gz jd
10、k64编译Make 安装 ,并安装其他依赖包yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel vel gcc gcc-c+3.2.1解压 hadoop-2.5.2.tar.gztar -zxf hadoop-2.5.2.tar.gz3.2.2设置环境变量roothadoop02 hadoop-2.5.2# vi /etc/profileroothadoop02 hadoop-2.5.2# source /etc/profile3.2.3修改配置文件1、h
11、adoop-env.sh# The java implementation to use.export JAVA_HOME= /usr/java/jdk1.7.0_672、core-site.xmlNamenote通讯地址 临时文件<property> <name>fs.defaultFS</name> <value>hdfs:/ip:9000</value> </property><property> <name>hadoop.tmp.dir</name> <value>/
12、home/hadoop/hp_data/tmp</value> </property>3、hdfs-site.xml 设置备份数,默认3份<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.permissions</name> <value>false</value> </property>4、格式化hdf
13、sroothadoop02 bin# ./hdfs namenode -format5、启动文件系统,文件系统包括两个进程roothadoop02 sbin# ./start-dfs.sh6、查看进程roothadoop02 sbin# jps7、管理界面07:500708、安装yarn ,资源调度mapred-site.xml <property> <name></name> <value>yarn</value> </property>y
14、arn-site.xml<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>9、启动yarnroothadoop02 sbin# ./start-yarn.sh10、yarn管理控制台07:8088/测试:计算字符出现的次数mkdir /home/datacd /home/datavi wordshello ahello b上传至HDFScd /us
15、r/hadoop/hadoop-2.5.2/bin./hadoop fs -put /home/data/words /words运行词频统计./hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /words /out最后两个,一个是源文件路径,一个是输出文件目录查看输入结果hadoop fs -ls /roothadoop02 bin# hadoop fs -ls /outroothadoop02 bin# hadoop fs -cat /out/part-r-000003.3M
16、apReduce概述MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算,非常简单这两个函数的形参是key、value对,表示函数的输入信息MR特点 高容错 高扩展 编程简单 适合大数据离线批量处理3.3.1map任务处理1、读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成key、value对。每一个键值对调用一次map函数。2 、写自己的逻辑,处理输入的key、value,转换成新的key、value输出。3
17、、对输出的key、value进行分区。4 、对不同分区的数据,按照key进行排序、分组。相同key的value放到一个集合中。5 、 (可选)分组后的数据进行归约。3.3.2reduce任务处理1、对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。2 、对多个map任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。3 、把reduce的输出保存到文件中。map、reduce键值对格式3.3.4MR过程各个角色的作用jobClient:提交作业JobTracker:初始化作业,分配作业,TaskTracker与其进行通信,协调监控整个作业TaskTracker:定期与JobTracker通信,执行Map和Reduce任务HDFS:保存作业的数据、配置、jar包、结果3.3.5 eclipse开发hadoop项目1、安装hadoop插件将hadoop-eclipse-plugin-2.5.2.jar 放至ecl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业内部审计与风险控制制度
- 2026湖南郴州市市直学校面向高校毕业生公开招聘教师25人参考题库附答案
- 2026福建三明市卫生健康委员会关于医疗卫生高层次人才专项公开招聘39人的通告参考题库附答案
- 2026福建省面向同济大学选调生选拔工作备考题库附答案
- 2026福建龙岩人民医院招聘医学类紧缺急需专业毕业生4人备考题库附答案
- 公共交通运营成本核算制度
- 2026辽宁省中国医科大学及附属第一医院招聘高层次和急需紧缺人才2人(第二批)备考题库附答案
- 2026重庆某国有企业员工招聘2人备考题库附答案
- 2026陕西省面向北京邮电大学招录选调生参考题库附答案
- 北京中西医结合医院编外岗位招聘10人参考题库附答案
- 大型商业综合体消防安全应急预案
- 《砂浆、混凝土用低碳剂》
- 2025年社区工作总结及2026年工作计划
- 无人机性能评估与测试计划
- 2025年保安员(初级)考试模拟100题及答案(一)
- 湖北省新八校协作体2025-2026学年度上学期高三10月月考 英语试卷(含答案详解)
- 酒驾满分考试题库及答案2025
- 金矿开采提升项目可行性研究报告
- 华润燃气安全培训
- 包钢集团历年笔试题库及答案
- 2025版实验动物中心动物实验动物饲养合同
评论
0/150
提交评论