Hadoop云计算平台搭建最详细过程共_第1页
Hadoop云计算平台搭建最详细过程共_第2页
Hadoop云计算平台搭建最详细过程共_第3页
Hadoop云计算平台搭建最详细过程共_第4页
Hadoop云计算平台搭建最详细过程共_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hadoop云计算平台及相关组件搭建安装过程详细教程——Hbase+Pig+Hive+Zookeeper+Ganglia+Chukwa+Eclipse等一.安装环境简介根据官网,Hadoop已在linux主机组成的集群系统上得到验证,而windows平台是作为开发平台支持的,由于分布式操作尚未在windows平台上充分测试,所以还不作为一个生产平台。Windows下还需要安装Cygwin,Cygwin是在windows平台上运行的UNIX模拟环境,提供上述软件之外的shell支持。实际条件下在windows系统下进行Hadoop伪分布式安装时,出现了许多未知问题。在linux系统下安装,以伪分布式进行测试,然后再进行完全分布式的实验环境部署。Hadoop完全分布模式的网络拓补图如图六所示:(1) 网络拓补图如六所示:图六完全分布式网络拓补图(2) 硬件要求:搭建完全分布式环境需要若干计算机集群,Master和Slaves处理器、内存、硬盘等参数要求根据情况而定。3)软件要求操作系统64位版本:NO.ProjectVersionContent1HardwareeCPU:Master/NameNodelPnvironmenDisk:150GBSlavel/DataNodelPtMemory:Slave2/DataNodelP2Operationsystem64-bit二.Hadoop集群安装部署目前,这里只搭建了一个由三台机器组成的小集群,在一个hadoop集群中有以下角色:Master和Slave、JobTracker和TaskTracker、ameNode和DataNode。下面为这三台机器分配IP地址以及相应的角色: master,namenode,jobtracker master(主机名) slave,datanode,tasktracker slavel(主机名)——slave,datanode,tasktracker——slave2(主机名)实验环境搭建平台如图七所示:图七hadoop集群实验平台并且,Hadoop要求集群上每台的用户账户名和密码相同。具体安装步骤如下:下载和安装JDK,版本为(1) JDK的安装目录为/usr/lib/jvm,创建此文件夹,在终端输入命令:mkdir/usr/lib/jvm(2) 权限不够的话重新改下用户密码就可以了,命令:sudopasswd,之后重新输入密码。移动jdk到/usr/lib/jvm,并解压,然后为了节省空间删除安装包。命令:mvjdk/usr/lib/jvmtar-zxvfjdkrm-rfjdk配置环境变量在终端输入命令:sudogedit/etc/profile打开profile文件,在文件最下面输入如下内容,如图八所示:图八JAVA环境变量设置即为:#setjavaenvironmentexportJAVA_HOME=/usr/lib/jvmexportCLASSPATH=”.:$JAVA_HOME/lib:$CLASSPATH”exportPATH=”$JAVA_HOME/:$PATH”这一步的意义是配置环境变量,使系统可以找到jdk。验证JDK是否安装成功输入命令:java-version,如图九所示。如果出现java版本信息,说明当前安装的jdk并未设置成ubuntu系统默认的jdk,接下来还需要手动将安装的jdk设置成系统默认的jdk。图九java版本信息手动设置需输入以下命令:sudoupdate-alternatives-install/usr/bin/javajava/usr/lib/jvm300sudoupdate-alternatives-install/usr/bin/javacjavac/usr/lib/jvmjavac300sudoupdate-alternatives-configjava然后输入java-version就可以看到所安装的jdk的版本信息。三台主机上分别设置/etc/hosts和/etc/hostnameHosts这个文件用于定义主机名和IP地址之间的对应关系,而hostname这个文件用于定义你的Ubuntu的主机名。(1) 修改/etc/hosts,命令sudogedit/etc/hostslocalhostmasterslave1slave2(2) 修改/etc/hostname,命令sudogedit/etc/hostname(修改完重启有效)master以及slave1,slave2在这两台主机上安装OpenSSH,并配置SSH可以免密码登录(1) 确认已经连接上网,输入命令:sudoapt-getinstallssh(2) 配置为可以免密码登录本机,接下来输入命令:ssh-keygen-tdsa-P‘‘-f~/.ssh/id_dsa解释一下,ssh-keygen代表生成密匙,-t表示指定生成的密匙类型,dsa是密匙认证的意思,即密匙类型,-P用于提供密语,-f指定生成的密匙文件。这个命令会在.ssh文件夹下创建id_dsa以及两个文件,这是ssh一对私匙和公匙,把追加到授权的key中。输入命令:cat~/.ssh/>>~/.ssh/authorized_keys验证ssh是否已经安装成功,输入命令:ssh-version。将文件复制到slave主机相同的文件夹内,输入命令:scpauthorized_keysslave1:~/.ssh/scpauthorized_keysslave2:~/.ssh/看是否可以从master主机免密码登录slave,输入命令:sshslave1sshslave2配置两台主机的Hadoop文件首先到Hadoop的官网下载包,默认讲Hadoop解压到/home/u(你的Ubuntu用户名)/目录下进入hadoop内的conf文件夹,找到,修改:exportjAVA_H0ME二/usr/lib/jvm,指定JDK的安装位置,如图十所示:图十JAVA_HOME路径设置修改,这是Hadoop的核心配置文件,这里配置的是HDFS的地址及端号:<configuration><property><value></property><property><name></name><value>/tmp</value></configuration>(3) 修改<configuration><property><name></name><value>2</value></property></configuration>(4) 修改<configuration><property><name></name><value>master:9001</value></property></configuration>(5) 修改conf/mastersmaster(6) 修改conf/slavesslave1slave2启动hadoop在启动之前,需要格式化hadoop的文件系统HDFS,进入hadoop文件夹,输入命令格式化:bin/hadoopnamenode-format,如图十一所示:图十一hadoop格式化输入命令,启动所有进程:bin/,如图十二所示:图十二hadoop启动信息查看是否所有进程启动,输入命令:jps,如图十三所示:图十三jps查看进程最后验证hadoop是否成功启动打开浏览器,查看机器集群状态分别输入网址:(1) 输入,如图十四,可看到:图十四namenode状态点击livenodes,可以看到当前slavel和slave2两个节点信息,如图十五:图十五datanode节点状态(2) 输入,如图十六,可看到:图十六jobtracker状态点击2nodes查看tasktracker信息,如图十七:图十七tasktracker状态(3) 输入,如图十八,可看到:图十八task状态也可以通过命令:hadoopdfsadmin-report查看停止hadoop进程:bin/如图十九:图十九停止hadoop集群以上为hadoop完全分布式集群配置以上过程为由三台计算机组成的完全分布式Hadoop集群,主要参考《Hadoop实战-第二版》和《Hadoop权威指南》,主要讲解了Hadoop的安装和配置过程,关于更多Hadoop原理的知识不在详述,如果在家在安装的时候遇到问题,或者按以上步骤安装完成却不能运行Hadoop,建议查看Hadoop的日志信息,Hadoop记录了详尽的日志信息,日志文件保存的Hadoop/logs文件夹内。三.其他组件安装过程简介本Hadoop平台搭建过程中安装的组件及软件环境主要包括以下内容:NO.ProjeetVersionContent1HardwareenvironmentCPU:Disk:150GBMemory:Master/NameNodelPSlavel/DataNodelPSlave2/DataNodelP2Operationsystem64-bit3JDK/usr/bin/jvm4Hadoop/home/majiangbo/(可选)相关技术作以下介绍:1.Pig和HiveHive是一个基于Hadoop文件系统之上的数据仓库架构,利用Mapreduce编程技术,实现了部分SQL语句,提供了类SQL的编程接口,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能可以将SQL语句转换为Mapreduce任务进行运行,但是这样在执行时会出现延迟现象,但能更好的处理不变的大规模数据集上的批量任务。此外,Hive的网络接口可以方便直观地对数据进行操作,在命令行下,要执行多个查询就要打开多个终端,而通过网络结构可以同时执行多个查询。配置Eclipse环境编写Hive程序Hive的优化策略,针对不同的查询进行优化,优化过程通过配置进行控制图二十HiveWeb接口界面Pig提供了一个支持大规模数据分析的平台,Pig的基础结构层包括一个产生Mapreduce程序的编译器,能够承受大量的并行任务。PigLatin语言更侧重于对数据的查询和分析,而不是对数据进行修改和删除,建立在Hadoop分布式平台之上,能够在短时间内处理海量的数据,比如:系统日志文件,处理大型数据库文件,处理特定web数据等。2.GangliaGanglia是UCBerkeley发起的一个开源集群监视项目,用于测量数以千计的节点集群。核心包含两个Daemon:客户端GangliaMonitoring(gmond)和服务端GangliaMeta(gmetad),以及一个web前端,主要监控的系统性能有:CPU、memory、硬盘利用率、I/O负载、网络流量情况等,可以帮助合理调整分配系统资源,优化系统性。图二十一Ganglia监控总界面图二十二Ganglia-cpu监控界面图二十三Ganglia-clustercpu监控界面图二十四Ganglia-memory监控界面图二十五Ganglia-network监控界面HBase简单地说,hbase是一个分布式的、面向列的开源数据库,不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。Hbase的核心是将数据抽象成表,表中只有rowkey和columnfamily,rowkey记录的是主键,通过key/value很容易找到,column存储实际的数据。<keyl/valuel>f<key2/value2>f<key3/value3>图二十六HBase架构MahoutMahout是Apache的一个开源的项目,基于Hadoop平台设计和开发的算法工具库。提供一些经典的机器学习算法,包含聚类、分类、推荐引擎、频繁子项挖掘。ApacheMahout主要包括以下部分:频繁模式挖掘:挖掘数据中频繁出现的项集;聚类:将诸如文本、文档之类的数据分成局部相关的组;分类:利用已经存在的分类文档训练分类器,对未分类的文档进行分离;推荐引擎(协同过滤):获得用户的行为并从中发现用户可能喜欢的事物;频繁子项挖掘:利用一个项集(查询记录或购物记录)去识别经常一起出现的项目。Mahout的主要目标是建立可伸缩的机器学习算法,这种可伸缩性是针对大规模的数据集而言的,Mahout的算法运行在ApacheHadoop平台下,通过Mapreduce模式实现,但是Mahout并不严格要求算法的实现要基于Hadoop平台,单个节点或非Hadoop平台或Hadoop平台也可以。Mahout核心库的非分布式算法也具有良好的性能。图二十七Mahout提供的算法Mahout中FPGrowth在Mapteduce模式下运行过程及用时:图二十八FPGrowth运行过程及用时Mapreduce模式运行过程中runningjobs:图二十九MapReduce运行过程中runningjobs信息运行结束后Completedjobs信息:图三十MapReduce运行completedjobs信息FPGrowth运行结束后HDFScontent:图三十一FPGrowth运行后再HDFS的存储目录各个文件目录的含义如下:打开HDFS存储文件,出现乱码现象:图三十二HDFS存储下文件现象执行完毕后,直接查看结果出现乱码现象,是因为生成的文件被序列化了,还需要用mahout还原回来,命令如下:mahoutseqdumper-i/user/hadoop/patterns/fpgrowth/part-r-00000-o~/data/FPGrowth运行结果要通过以下命令才能正常显示在控制台:bin/mahoutseqdumper-s<path>图三十三讲FPGrowth显示在控制台ChukwaChukwa也是一个分布式系统,属于Hadoop系列产品,依赖于其他子项目,以HDFS作为存储层,以Mapreduce作为计算模型,以Pig作为高层的数据处理语言。它采用的是流水式数据处理方式和模块化结构的收集系统,流水式模式就是利用利分布在各个节点客户端的采集器收集各个节点被监控的信息,然后以块的形式通过HTTPPost汇集到收集器,由它处理后转储到HDFS中,之后这些由Archiving处理(去除重复数据和合并数据)提纯,再由分离解析器利用Mapreduce将这些数据转换成结构化记录,并存储到数据库中,HICC(Hadoopinfrastrueturecarecenter)通过调用数据库里数据,向用户展示可视化后的系统状态。图三十四Chukwa数据处理流程(图片来自网络)应用实例:腾讯和淘宝大数据处理平台架构当前互联网公司用得比较多的是HIVE/HBASE,如腾讯基于hive深度定制改造的TDW,淘宝的基于Hadoop的大数据平台,小米等公司选用hbase。图三十五淘宝大数据平台分析(图片来自网络)

图三十六腾讯大数据平台分析(图片来自网络)大数据分析技术现状ScribeChukwaKafkaFlume公司FacebookApacheLinkedinCloudera开源时间2008年10月20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论