ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:2.07MB ,
资源ID:23817346      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23817346.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Ubuntu的hadoop集群安装与配置.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Ubuntu的hadoop集群安装与配置.docx

1、基于Ubuntu的hadoop集群安装与配置Ubuntu 系统安装在这里补充一下Ubuntu ubuntu-14.04.3-server-amd64 所遇到的问题牵扯到 挂载问题当时我们早期安装的时候总是会出现安装失败的现象,后来我们把 ubuntu-14.04.3-server-amd64 -iso镜像文件直接挂栽在 /cdrom 文件夹下面Mount /dev/sdc /mnt/Mount -t iso9600 -o loop /mnt/ubuntu-14.04.3-server-amd64 -iso /cdromMount 基于Ubuntu的Hadoop集群安装与配置一、实验目的 1、掌

2、握Hadoop原理机制,熟悉Hadoop集群体系结构、核心技术。2、安装和配置Hadoop集群。二、实验原理 Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。 Hadoop 中的分布式文件系统 HDFS 由一个管理结点 ( NameNode )和N个数据结点 ( DataNode )组成,每个结点均是一台普通的计算机。在使用上同我们熟悉的单机上的文件系统非常类似,一样可以建目录,创建,复制,

3、删除文件,查看文件内容等。但其底层实现上是把文件切割成 Block,然后这些 Block 分散地存储于不同的 DataNode 上,每个 Block 还可以复制数份存储于不同的 DataNode 上,达到容错容灾之目的。NameNode 则是整个 HDFS 的核心,它通过维护一些数据结构,记录了每一个文件被切割成了多少个 Block,这些 Block 可以从哪些 DataNode 中获得,各个 DataNode 的状态等重要信息。 MapReduce 是 Google 公司的核心计算模型,它将复杂的运行于大规模集群上的并行计算过程高度的抽象到了两个函数,Map 和 Reduce, 这是一个令人

4、惊讶的简单却又威力巨大的模型。适合用 MapReduce 来处理的数据集(或任务)有一个基本要求: 待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。基于它写出来的程序能够运行在由上千台商用机器组成的大型集群上,并以一种可靠容错的方式并行处理T级别的数据集,实现了Haddoop在集群上的数据和任务的并行计算与处理。个人认为,从HDFS(分布式文件系统)观点分析,集群中的服务器各尽其责,通力合作,共同提供了整个文件系统的服务。从职责上集群服务器以各自任务分为namenode、datanode服务器.其中namenode为主控服务器,datanode为数据服务器。

5、Namenode管理所有的datanode数据存储、备份、组织记录分配逻辑上的处理。说明白点namenode就是运筹帷幄、负责布局指挥将军,具体的存储、备份是由datanode这样的战士执行完成的。故此很多资料将HDFS分布式文件系统的组织结构分为master(主人)和slaver(奴隶)的关系。其实和namenode、datanode划分道理是一样的。从MapReduce计算模型观点分析,Map/Reduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说计算节点和存储节点在一起。这种配置允许在那些已经存好数据的节点上高效的调度任务,这样可以使整个集群的网络宽带得到非常高效的利用。另

6、外,在Hadoop中,用于执行MapReduce任务的机器有两个角色:JobTracker,TaskTracker。JobTracker(一个集群中只能有一台)是用于管理和调度工作的,TaskTracker是用于执行工作的。在技术方面Hadoop体系具体包含了以下技术: Common:在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common。Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。 MapReduce:并行计算框架,0.20前使用or

7、g.apache.hadoop.mapred旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API。 HDFS:Hadoop分布式文件系统(Hadoop Distributed File System)。Pig:大数据分析平台,为用户提供多种接口。Hive:数据仓库工具,由Facebook贡献。Hbase:类似Google BigTable的分布式NoSQL列数据库。(HBase和Avro已经于2010年5月成为顶级Apache项目)。ZooKeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。Sqoop:Sqoop

8、是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 :MySQL, Oracle, Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。Oozie:负责MapReduce作业调度。 以上对Hadoop体系框架和相应技术做了相应分析,并从HDFS、MapReduce的角度分析了集群中的角色扮演,这既是我们实验的理论基础,也是实验研究Hadoop深层次系统知识体系结构的意义所在。3、实验内容实验的主要内容有如下几点:1、Jdk安装:Hadoop是用Java编写的程序,Hadoop的编译及MapReduce的

9、运行都需要JDK,因此在安装Hadoop之前,必须安装JDK1.6或更高版本。2、SSH免密登录安装设置:Hadoop需要通过ssh(安全外壳协议)远程无密码登录,来启动Slave列表中各台机器的守护进程,因此ssh也是必须安装的。3、Hadoop完全分布式集群的安装配置和启动验证。4、实验步骤为方便阐述,本实验只搭建一个有三台主机的小集群。三台机器的具体分工命名如下:IP主机名功能角色10.31.44.117 master(主人)namenode(控制节点)、JobTracker(工作分配)10.31.44.200 slaver1(奴隶)datanode(数据节点)、TaskTracker(

10、任务执行)10.31.44.201 slaver2(奴隶)datanode(数据节点)、TaskTracker(任务执行)主机网络结构图如下:实验环境:Ubuntu14.04,hadoop-2.2.0,java-1.7.0-openjdk-i386,ssh。综述:Hadoop完全分布式的安装需要以下几个过程:(1)为防止权限不够,三台机器均开启root登录。(2)为三台机器分配IP地址及相应的角色。(3)对三台机器进行jdk安装并配置环境变量。(4)对三台机器进行ssh(安全外壳协议)远程无密码登录安装配置。(5)进行Hadoop集群完全分布式的安装配置。下面对以上过程进行详细叙述。1、三台机

11、器开启root登录。针对ubuntu-14.04默认是不开启root用户登录的,在这里开启root登录,只需要修改50-ubuntu.conf即可,命令如下添加内容如下:配置完成后开启root账号命令如下:sudo passwd root根据提示输入root账号密码。重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。2、在三台主机上分别设置/etc/hosts及/etc/hostnamehosts文件用于定义主机名与IP地址之间的对应关系(三台主机配置相同)。命令如下:配置结果如下:hostname这个文件用于定义Ubuntu的主机名(不同ip对应的名字不同10.

12、31.44.117对应master,10.31.44.200对应slaver1,10.31.44.201对应slaver2)。命令:vim /etc/hostname“你的主机名”(master,slaver1,slaver2)重启3、在三台主机上安装openjdk-7-jdk更新软件源:配置Ubuntu Server高速apt-get源 今天刚装上Ubuntu Server 12,默认的apt-get源比较慢。更改一下源地址。方法:1、修改源地址:cp/etc/apt/sources.list/etc/apt/sources.list.bakvim/etc/apt/sources.list加

13、入如下内容(中科大的):deb precise-updates main restricteddeb-src precise-updates main restricteddeb precise universedeb-src precise universedeb precise-updates universedeb-src precise-updates universedeb precise multiversedeb-src precise multiversedeb precise-updates multiversedeb-src precise-updates multiver

14、sedeb precise-backportsmain restricted universe multiversedeb-src precise-backports main restricted universe multiversedeb precise-security main restricteddeb-src precise-security main restricteddeb precise-security universedeb-src precise-security universedeb precise-security multiversedeb-src prec

15、ise-security multiverse查询资料:以上信息是为了安装软件 更新软件源,我在做的时候用的就是服务器里面虚拟出来的三台虚拟机,在自动更新软件源这方面有很大问题,故而自己在网上查找软件源手动输入(此时我的内心是奔溃的,但这并不是最坑的)使用命令apt-get install openjdk-7-jdk 进行安装JAVA环境。具体操作命令如图1-1java安装。按照以上命令安装完成后可以查看jdk安装目录配置系统环境变量命令如下:添加环境变量内容如下:在/etc/profile文件末尾添加java用户环境变量如下:至此JDK安装配置完成。配置jdk环境变量,并不算是麻烦事,但我在

16、配置过程中出错了,导致的问题就是,在命令框输入任何命令都是无效的,最后只能找到 /usr/bin/vi 来启动vi编辑器,重新配置环境变量。按以上的步骤配置不会有问题的4、安装ssh配置免密登录ssh及ssh-agent注意事项(2012-06-27 17:24:30) servicesshstart 转载标签: 杂谈注意:一定要给.ssh文件夹和authorized_keys文件赋予权限,分别为711和644 ssh连接的用户信息保存在know_hosts文件夹下,如果想要删除某个机器的连接,命令为ssh-keygen -R 机器名清除私钥密码1.在终端下输入ssh-keygen -p。2.

17、系统会提示选择需要修改的私钥,默认是/home/username/.ssh/id_rsa。3.选好文件后按回车,会提示你输入旧密码。4.输入好后会提示输入新密码。5.直接回车,提示确认新密码再直接回车,此时指定的私钥的密码就被清除了查看所连机器的公钥,用ssh-keygen -F OpenSSH在4.0p1引入了 Hash Known Hosts功能,在known_hosts中把访问过的计算机名称或IP地址以hash方式存放,令入侵都不能直接知道你到访过那些计算机。这项新项功能 缺省是关闭的,要你手动地在ssh_config加上HashKnownHosts yes才会被开启/etc/ssh/s

18、sh_config 文件是ssh的配置文件ssh-keygen -F 计算机名称找出相关机器的公钥启用ssh-agent:$eval ssh-agent (反引号)查询资料:以上信息就是XX得来的关于ssh问题关于ssh配置,我只想说直接使用命令安装ssh是可以的,在开启ssh的时候可能会没有ssh-gent ,我的就是这样,后来按了卸再按结果依然如初,通过XX才发现没有打开于是乎又学会了一个命令: eval ssh-agent 执行后会再查看 ssh-agent 就会出现了。为什么会这样呢,自己猜吧安装ssh命令如下:安装完成后查看是否安装成功,如果有如下两个进程说明安装成功。如果缺少以上任

19、意一进程,需要重新安装对应如下ssh版本。如果需要重新安装,使用命令:apt-get install openssh-clientapt-get install openssh-server安装成功后,需要更改sshd_config文件命令:vim /etc/ssh/sshd_config修改为如下图内容:这个修改问题在我竟如文件后发现就是yes生成密钥并配置SSH免密码登录本机执行以下命令,生成密钥对,并把公钥文件写入授权文件中生成密钥对及授权文件,公钥在/root/.ssh/下然后将授权文件复制到slaver1主机中,输入命令:scp authorized_keys slaver1:/.s

20、sh然后在slave1机器中,使用同样命令生成密钥对,将公钥写入授权文件中。让后将slaver1主机中的授权文件复制到slaver2中,使用同样命令生成密钥对,将公钥写入授权文件中。这样就完成了同一个授权文件拥有三个公钥。最后将此时的授权文件分别复制到master主机、slaver1主机中,这样就完成了,ssh免密登录验证工作。为了防止防火墙禁止一些端口号,三台机器应使用关闭防火墙命令:ufw disable重启三台机器,防火墙关闭命令才能生效,重启后后查看是否可以从master主机免密码登录slaver,输入命令:ssh slaver1ssh slaver2关于开机自启动项目,我是把命令写在

21、 /etc/rc.local 里面,等到开机的时候,写在里面的命令会自动启动运行的5、进行Hadoop集群完全分布式的安装配置在这里我想说一下编译问题,由于我使用的是ubuntu-14.04.3-server-amd64 hadoop-2.6.0下载的hadoop解压后还要重新编译,编译好的hadoop-2.6.0 才能用,直接根据下列步骤做就行了,我说一下我遇到的问题1.编译失败hadoop 原因-maven环境变量配置出错,因为在本文件指导安装配置hadoop的文件中是没有maven环境变量配置的(我同学没配也成功编译了,每个人遇到的问题可能不一样,主要是独立解决问题)我的环境变量写在/e

22、tc/profile(这是针对所有用户的)2.每个hadoop的版本不同,发生的情况也不同,只能应对了将下载的hadoop-2.2.0解压至/root下,并更改名字为u三台hadoop文件配置相同,所以配置完一台后,可以把整个hadoop复制过去就行了,现在开始配置master主机的hadoop文件。需要配置的文件涉及到的有7个(标示有A的除外)如下图标示部分:以上文件默认不存在的,可以复制相应的template文件获得(如mapred-site.xml文件)。配置文件1:hadoop-env.sh修改JAVA_HOME值如下图:配置文件2:yarn-env.sh修改JAVA_HOME值如下图

23、:配置文件3:slaves(保存所有slave节点)写入以下内容:配置文件4:core-site.xml添加配置内容如下图:配置文件5:hdfs-site.xml配置文件6:mapred-site.xml配置文件7:yarn-site.xml 上面配置完毕后,基本上完成了90%的工作,剩下的就是复制。我们可以把整个hadoop复制过去使用命令如下: scp -r /root/u slaver1:/root/scp -r /root/u slaver2:/root/为方便用户和系统管理使用hadoop、hdfs相关命令,需要在/etc/environment配置系统环境变量,使用命令:vim /

24、etc/environment配置内容为hadoop目录下的bin、sbin路径,具体如下添加完后执行生效命令:source /etc/environment下面要做的就是启动验证,建议在验证前,把以上三台机器重启,使其相关配置生效。6、启动验证这个步骤有的问题就是:1.上一步骤文件没有配置好,不过格式化的时候会出现ERROR,并且提示你你配置文件出错的地方,这点要注意。2.hadoop的环境变量没有配好,具体表现在 start-all.sh 这个命令上面,就是找不到start-all.sh这就是环境变量没有配好的原因,顺便说一下start-all.sh这个文件在sbin这个目录里面,所以个人

25、建议把 /bin 和 /sbin的环境变量都配上在master节点上进行格式化namenode:命令:hadoop namenode -format在master节点上进行启动hdfs:start-all.sh使用Jps命令master有如下进程,说明ok使用jps命令slaver1、slaver2有如下进程,说明ok查看集群状态,命令:hadoop dfsadmin -report查看分布式文件系统:http:/master:50070查看MapReduce:http:/master:8088使用以上命令,当你看到如下图所示的效果图时,恭喜你完成了Hadoop完全分布式的安装设置,其实这些部

26、署还是比较基本的,对于Hadoop高深的体系结构和强大技术应用,这仅仅是一个小小的开始。集群的关闭在master节点上执行命令如下:stop-all.sh五、附录hadoop基本操作实践基本命令1. 格式化工作空间进入bin目录,运行 hadoop namenode format2. 启动hdfs进入hadoop目录,在bin/下面有很多启动脚本,可以根据自己的需要来启动。* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack* stop-all.sh 停止所有的Hadoop* start-dfs.sh

27、启动Hadoop DFS守护Namenode和Datanode* stop-dfs.sh 停止DFS守护HDFS文件操作Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。1. 查看文件列表b. 执行hadoop fs -ls /查看hdfs中/目录下的所有文件(包括子目录下的文件)。a. 执行hadoop fs -ls -R /2. 创建文件目录a. 执行hadoop fs -mkdir /newDir3. 删除文件删除hdfs中/目录下一个名叫needDelete的文件a. 执行hadoop fs -rm /needDelete删除hdfs中/hdf

28、s目录以及该目录下的所有文件a. 执行hadoop fs -rm -r /hdfs4. 上传文件上传一个本机/home/admin/newFile的文件到hdfs中/目录下执行hadoop fs put /home/admin/newFile /5. 下载文件下载hdfs中/ 目录下的newFile文件到本机/home/admin/newFile中a. 执行hadoop fs get /newFile /home/admin/newFile6. 查看文件内容查看hdfs中/目录下的newFile文件a. 执行hadoop fs cat /newFile好了,已经基本ok,在这个过程中你会遇到好多问题,但那都不算是什么,加油吧。如有什么困难可以联系红字部分可以在遇到问题时阅读,作为参考。纯属个人体会,如有雷同就让它雷同吧

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1