搜档网
当前位置:搜档网 › hadoop安装及单词统计实验报告

hadoop安装及单词统计实验报告

hadoop安装及单词统计实验报告
hadoop安装及单词统计实验报告

基于hadoop的单词统计的简单实验

1.1安装及其说明

总共有4台机器:namenode 、datanode1、datanode2 、datanode3

IP地址分别设置为:10.102.1.67、10.102.1.68、10.102.1.69、10.102.1.70

操作系统为:Centos6.2

Jdk版本为:jdk-7u45-linux-i586

Hadoop版本为:hadoop-0.20.2

10.102.1.69作为Namenode、JobTracker,其他三台作为Datenode、TaskTracker

1.2 用机器名Ping通机器

用root登录,修改NameNode和DataNode上的/etc/hosts文件,加入四台机器的IP地址和机器名,如下:

10.102.1.69 namenode

10.102.1.67 datenode1

10.102.1.68 datenode2

10.102.1.70 datenode3

设置好后验证下各机器间是否ping通,用机器名或是IP地址都可以,例如ping datanode1或ping 10.102.1.67

1.3 新建hadoop用户

我没有新建hadoop,而是直接用的root用户

1.4 ssh设置及关闭防火墙

1)centos装好后默认启动sshd服务,如果不确定的话可以查一下[root@namenode ~]# service sshd status

如没有启动的话,先启动[root@ namenode ~]# service sshd start

建立ssh无密码登录,在NameNode上[root@ namenode ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

会在~/.ssh/生成两个文件:id_dsa和id_dsa.pub,这两是成对出现的,把id_dsa.pub文件追加到DataNode上的authorized_keys

[root@ namenode ~]$ scp id_dsa.pub datanode1:/home/hadoop/ (注意其中目标机器后面的:与要传到的文件路径之间没有空格,即datanode1:与/home/hadoop/之间没有空格)

scp id_dsa.pub datanode2:/home/hadoop/

scp id_dsa.pub datanode3:/home/hadoop/

登录到DataNode上,[root@ datenode1 ~]$ cat id_dsa.pub >> ~/.ssh/authorized_keys ,其余两台一样,NameNode上也要追加。注意:追加完后必须修改NameNode和DataNode上的.ssh和authorized_keys的权限,chmod命令,参数755,完成后测试下,例如ssh datenode1时不需要密码就可以登录,就可以知道ssh设置成功。2)关闭防火墙(NameNode和DataNode都必须关闭)

[root@namenode ~]# service iptables stop

注意:每次重新开机启动hadoop前都必须关闭

1.5 安装jdk1.6(几台机子都一样)

在官网https://www.sodocs.net/doc/d66333545.html,下载jdk-6u19-linux-i586.bin,之后直接安装[root@namenode java]#chmod +x jdk-6u19-linux-i586.bin [root@ namenode java]# ./jdk-6u19-linux-i586.bin,我的安装路径为:/usr/java/jdk1.6.0_19,安装后添加如下语句到/etc/profile中:

export JA V A_HOME=/usr/java/jdk1.6.0_19

export JRE_HOME=/usr/java/jdk1.6.0_19/jre

export

CLASSPATH=.:$JA V A_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JA V A_HOME/bin:$JRE_HOME/bin:$PATH

1.6 安装hadoop

在官网https://www.sodocs.net/doc/d66333545.html,//hadoop/core/下载hadoop-0.20.2.tar.gz [hadoop@sc706-26 ~]$ tar xzvf hadoop-0.20.2.tar.gz

将hadoop的安装路径添加到/etc/profile中:

export HADOOP_HOME=/home/hadoop/hadoop-0.20.2

export PATH=$HADOOP_HOME/bin:$PATH

为了让/etc/profile生效,source一下[root@namenode ~]$ source /etc/profile

1.7 配置hadoop

其配置文件在/conf目录下

1)配置JA V A环境

[root@namenode ~]$vim

/home/hadoop/hadoop-0.20.2/conf/hadoop-env.sh

export JA V A_HOME=/usr/java/jdk1.6.0_19 //java版本可能会不一样,但是版本必须高于1.6

2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml 文件

3)将NameNode上完整的hadoop拷贝到DataNode上,可先将其进行压缩后直接scp过去或是用盘拷贝过去

4)配置NameNode上的conf/masters和conf/slaves

masters:10.102.1.69

slaves: 10.102.1.67

10.102.1.68

10.102.1.70

1.8 运行hadoop

1)格式化文件系统

[root@namenode hadoop-0.20.2]$ hadoop namenode -format

注意:格式化时要防止NameNode的namespace ID与DataNode的namespace ID的不一致,因为每格式化一次会产生Name、Data、tmp 等临时文件记录信息,多次格式化会产生很多,会导致ID的不同,造成hadoop不能运行

2)启动hadoop

[root@namenode hadoop-0.20.2]$ bin/start-all.sh

3)用jps命令查看进程,NameNode上的结果如下:

25325 NameNode

25550 JobTracker

28210 Jps

25478 SecondaryNameNode

4)查看集群状态

[root@namenode hadoop-0.20.2]$ hadoop dfsadmin -report

确保运行的DataNode个数是正确的,我的是3个,这样可以查看哪个DataNode没有运行

5)用hadoop的web方式查看

[root@namenode hadoop-0.20.2]$ links http://192.168.153.89(即为master):50070 因为校园网不能在桥接的状态下上网,所以可以通过windows的浏览器进入这个网址

2.1 运行Wordcount.java程序实现单词统计

1)首先在“/home/hadoop”目录下创建文件夹“file”

接着创建两个文本文件file1.txt 和file2.txt,使file1.txt 内容为“Hello World”,而file2.txt 的内容为“Hello Hadoop”。

2)在hdfs上建立一个输入文件夹

3)上传本地file 中文件到集群的input 目录下

2.2 运行例子

1)在集群上运行WordCount 程序备注:以input 作为输入目录,output 目录作为输出目录。经我测试,这个“input”为任意单子,这只相当于一个命名,output也是这样的。

已经编译好的WordCount 的Jar 在“/home/hadoop/hadoop-0.20.2”下面,就是“hadoop-0.20.2-examples.jar”,所以在下面执行命令时记得把路径写全了,不然会提示找不到该Jar 包。

1)MapReduce 执行过程显示信息

Hadoop 命令会启动一个JVM 来运行这个MapReduce 程序,并自动获得Hadoop 的配置,同时把类的路径(及其依赖关系)加入到Hadoop 的库中。以上就是Hadoop Job 的运行记录,从这里可以看到,这个Job 被赋予了一个ID 号:job_201202292213_0002,而且得知输入文件有两个(Total input paths to process : 2)

2.3 查看结果

1)查看HDFS 上output 目录内容

从上图中知道生成了三个文件,我们的结果在“part-r-00000”中。2)查看结果输出文件内容

实验体会:

所有的安装及wordcount实验在百度上都能搜索到具体的步骤,上面的大多数都是参考网上内容写下来的,很大一部分是直接拷贝的,但是绝对不是一个文档里面的内容,我是自己归纳总结的,根据上面的内容一步一步的来,按部就班应该不会出现问题

期间遇到的问题

20131021

安装完毕之后心情很好,不知什么原因照成linux系统崩溃,于是强制重启,后果是出现不能正常启动,后来又百度,一系列问题解决之后。开启hadoop,怀着愉悦的心情,准备做wordcount实验,当按着网上的步骤一步一步做下来,终于到最后一步的时候,输入hadoop jar .../hadoop-0.20.2-examples.jar wordcount input output后,竟然是无响应。当然,我解决了这个问题的时候发现这是一个非常简单的问题,但是不得不说,简单的问题对于我这个初学者来说花费的时间是1整天。我为了理清思路,重新按照步骤又检查了一次,发现没有问题,于是又百度,终于发现了问题所在,start-all.sh时提示datanode全部是启动了的,但是执行stop-all.sh时提示的是no namenode to stop,于是在start-all.sh之后执行hadoop dfsadmin -report命令,发现datanode一个都没有开启

显示如下:

心想是配置文件的问题,后来发现果然是core-site.xml与mapred-site.xml里master名没配置对。更改之后发现datanode能够启动了,心情又好起来了,应该说是激动的。但是当我执行hadoop jar .../hadoop-0.20.2-examples.jar wordcount input output时发现依旧没有响应。。。

我还能说什么呢,我只有继续百度了,又花了大量的时间去找问题所在,皇天不负有心人。导致没有响应的原因终于找到了,是datanode 和namenode上的namespaceID不一致,原因是多次执行hadoop namenode -format导致的,由于问题是一个接着一个的产生着,这次我并没有多么高兴,因为我预感后面还会有问题产生,我怀着试一试的心态更改了namenode上的namespaceID,执行hadoop jar,没反应。。。于是重启hadoop,再执行hadoop jar,没反应。。。

20131023

今天是23号了,我都快用两天的时间来解决这个问题了,实验还没做呢,问题倒是一大堆,各种不爽。。。因为我已经花了大量的时间百度,我想能解决的问题应该都已经解决了吧,但是为什么还是不行呢。我又怀着试一试的心态看了一下namespaceID是不是修改错了,发现这个ID居然变回了修改之前的那个,好吧,你尽然能变身,我就再

改。再一次重复执行上面的步骤,依旧不行,再看namespaceID,又变回原来的了,好吧,原来问题出在你这里,接下来我就在考虑如何将namenode与datanode的namespaceID变为一致,百度上说是可以删除datanode上tmp里的data,删吧删吧,死马当活马医。删了之后再次运行hadoop namenode -format,启动hadoop,运行hadoop jar,出现了map和reduce,终于成功了。。。

由于现在关闭了虚拟机,而我在下午的时候链接了http://10.102.1.69:50070,那就截网站的图吧

开启成功后大概是这样的显示:

如果还有错误出现,可以直接在网页上点击Namenode Logs 来查看日志,这样比在linux上查看错误原因方便些

20131024

睡了一个好觉,问题又来了。

用input未能将文件上传至hadoop集群,只能将文件夹上传,百度了一阵子,并没有找到解决方式,在某个网页看到有一段话是这样的“NameNode在启动时会自动进入安全模式。安全模式是NameNode 的一种状态,在这个阶段,文件系统不允许有任何修改”,于是用hadoop dfsadmin -safemode leave命令关闭安全模式。发现能成功上传文件了。

还有一点问题是这样的,老师让我们用的是VirtualBox,而我是直接复制配置好的centos的vdi,然后在vbox里新建,这里会遇到一个麻烦,vbox会提示已存在此UUID的vid,原因是vbox与VM不同,不能直接复制,解决方式有两种

这是我在网上搜索到的

第一種方法是在VirtualBox的安裝目錄中利用vboxmanage clonevdi 下指令的方式重做一份新的vdi檔案

或是也可以去下載

CloneVDI tool - Discussion & Support

來用UI操作

這UI我想也是簡單到不用再說明了XD

按下Proceed后就ok了

两种方法我都用过,都有效。毕竟之后我clone了四台centos

我的实验报告上只有少量是关于实验本身的,因为实验本身就是简单的,只是我是个新手而已。但是期间遇到的问题是我这个从来没有接触过hadoop的菜鸟很难解决的,于是我花了大量的文字来阐述了实验期间我遇到的问题与怎样解决问题还有各种纠结与豁然开朗的心情。

20121024

hadoop实验报告

基于hadoop的大规模文本处理技术实验专业班级:软件1102 学生姓名:张国宇 学号: Setup Hadoop on Ubuntu 11.04 64-bit 提示:前面的putty软件安装省略;直接进入JDK的安装。 1. Install Sun JDK<安装JDK> 由于Sun JDK在ubuntu的软件中心中无法找到,我们必须使用外部的PPA。打开终端并且运行以下命令: sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-bin sudo apt-get install sun-java6-jdk Add JAVA_HOME variable<配置环境变量>: 先输入粘贴下面文字: sudo vi /etc/environment 再将下面的文字输入进去:按i键添加,esc键退出,X保存退出;如下图: export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.26" Test the success of installation in Terminal<在终端测试安装是否成功>: sudo . /etc/environment

java –version 2. Check SSH Setting<检查ssh的设置> ssh localhost 如果出现“connection refused”,你最好重新安装 ssh(如下命令可以安装): sudo apt-get install openssh-server openssh-client 如果你没有通行证ssh到主机,执行下面的命令: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 3. Setup Hadoop<安装hadoop> 安装 apache2 sudo apt-get install apache2 下载hadoop: 1.0.4 解压hadoop所下载的文件包: tar xvfz hadoop-1.0.4.tar.gz 下载最近的一个稳定版本,解压。编辑/ hadoop-env.sh定义java_home “use/library/java-6-sun-1.6.0.26”作为hadoop的根目录: Sudo vi conf/hadoop-env.sh 将以下内容加到文件最后: # The java implementation to use. Required. export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26

Hadoop云计算实验报告

Hadoop云计算实验报告

Hadoop云计算实验报告 1实验目的 在虚拟机Ubuntu上安装Hadoop单机模式和集群; 编写一个用Hadoop处理数据的程序,在单机和集群上运行程序。 2实验环境 虚拟机:VMware 9 操作系统:ubuntu-12.04-server-x64(服务器版),ubuntu-14.10-desktop-amd64(桌面版)Hadoop版本:hadoop 1.2.1 Jdk版本:jdk-7u80-linux-x64 Eclipse版本:eclipse-jee-luna-SR2-linux-gtk-x86_64 Hadoop集群:一台namenode主机master,一台datanode主机salve, master主机IP为10.5.110.223,slave主机IP为10.5.110.207。 3实验设计说明 3.1主要设计思路 在ubuntu操作系统下,安装必要软件和环境搭建,使用eclipse编写程序代码。实现大数据的统计。本次实验是统计软件代理系统操作人员处理的信息量,即每个操作人员出现的次数。程序设计完成后,在集成环境下运行该程序并查看结果。 3.2算法设计 该算法首先将输入文件都包含进来,然后交由map程序处理,map程序将输入读入后切出其中的用户名,并标记它的数目为1,形成的形式,然后交由reduce处理,reduce 将相同key值(也就是word)的value值收集起来,形成的形式,之后再将这些1值加起来,即为用户名出现的个数,最后将这个对以TextOutputFormat 的形式输出到HDFS中。 3.3程序说明 1) UserNameCountMap类继承了org.apache.hadoop.mapreduce.Mapper,4个泛型类 型分别是map函数输入key的类型,输入value的类型,输出key的类型,输出value 的类型。 2) UserNameCountReduce类继承了org.apache.hadoop.mapreduce.Reducer,4个泛 型类型含义与map类相同。 3) main函数通过addInputPath将数据文件引入该类,在通过setOutputPath将生成 结果转为一个文件,实现生成结果,即统计结果的查看。 FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); 程序具体代码如附件中源程序。

Hadoop云计算平台实验报告V1.1

Hadoop云计算平台实验报告V1.1

目录 1实验目标 (3) 2实验原理 (4) 2.1H ADOOP工作原理 (4) 2.2实验设计 (6) 2.2.1可扩展性 (6) 2.2.2稳定性 (7) 2.2.3可靠性 (7) 3实验过程 (9) 3.1实验环境 (9) 3.1.1安装Linux操作系统 (10) 3.1.2安装Java开发环境 (14) 3.1.3安装SSH (15) 3.1.4配置网络 (15) 3.1.5创建SSH密钥安全联机 (19) 3.1.6配置Hadoop云计算系统 (19) 3.1.7配置Slaves节点 (23) 3.1.8格式化Hadoop系统 (23) 3.1.9启动Hadoop集群 (23) 3.22.实验过程 (25) 3.2.1可扩展性 (25) 3.2.1.1动态扩展 (25) 3.2.1.2动态缩减 (27) 3.2.2稳定性 (28) 3.2.3可靠性 (31) 3.2.4MapReduce词频统计测试 (32) 4实验总结 (35)

1. 掌握Hadoop安装过程 2. 理解Hadoop工作原理 3. 测试Hadoop系统的可扩展性 4. 测试Hadoop系统的稳定性 5. 测试Hadoop系统的可靠性

2.1Hadoop工作原理 Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成集群上运行应用程序,为应用程序提供一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce 的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算、存储提供了底层支持。 HDFS采用C/S架构,对外部客户机而言,HDFS就像一个传统的分级文件系统。可以对文件执行创建、删除、重命名或者移动等操作。HDFS中有三种角色:客户端、NameNode和DataNode。HDFS的结构示意图见图1。 NameNode是一个中心服务器,存放着文件的元数据信息,它负责管理文件系统的名字空间以及客户端对文件的访问。DataNode节点负责管理它所在节点上的存储。NameNode对外暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,文件被分成一个或多个数据块,这些块存储在一组DataNode上,HDFS通过块的划分降低了文件存储的粒度,通过多副本技术和数据校验技术提高了数据的高可靠性。NameNode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体DataNode节点的映射。DataNode负责存放数据块和处理文件系统客户端的读写请求。在NameNode的统一调度下进行数据块的创建、删除和复制。

云计算实验报告

期末实践报告 题目:Linux集群、MapReduce和 CloudSim实践 成绩: 学号:161440119 姓名:罗滔 登录邮箱:750785185@https://www.sodocs.net/doc/d66333545.html, 任课老师:许娟 2016年11月12日 目录 实验一:AWS身份与访问管理(P2~P11)实验二:Amazon Relational Database Service(P11~P20) 实验三:Hadoop实验报告(P21~)

AWS 管理控制台 使用 qwikLABS 登录 AWS 管理控制台 6. 在 AWS 管理控制台中,单击【服务/Services】,然后单击【IAM 或身份与访问管理/ IAM or Identity & Access Management】。 7. 在 IAM 控制台的左侧面板中,单击【用户/Users】。

8. 找到“userone”,然后单击其名称以显示有关该用户的详细信息。在用户详细信息中,找到有关该用户的以下三方面的信息: a. 已向该用户分配了一个密码 b. 该用户不属于任何组 c. 目前没有任何策略与该用户关联(“附加到”该用户)

9. 现在,单击左侧导航窗格中的【组/Groups】。 本实验的 CloudFormation 模板还创建了三个组。在 IAM 控制台中的【用户/Users】仪表板中可以看到, 自动化 CloudFormation 脚本在创建这些组时为其提供了唯一的名称。这些唯一名称包含以下字符串: “EC2support” “EC2admin” “S3admin” 完整组名的格式如下所示: arn:aws:iam::596123517671:group/spl66/qlstack2--labinstance--47090--666286a4--f8c--EC2support--GA9LGREA 7X4S 从现在开始,我们在本实验中将使用上面这些简写名称来指代这些组。您可以在【组/Groups】仪表板中搜 索子字符串,以便为后续实验操作确定正确的组。 10. 单击“EC2support”对应的组名。其格式应与上面的类似。 11. 向下滚动至组详细信息页面中的【权限/Permissions】部分后,在【内联策略/Inline Policies】部分, 可以看到一个名称为“EC2supportpolicy”的策略与该组关联。 在策略中,您可以规定将允许或拒绝对特定 AWS 资源执行哪些操作。您可以使用自定义策略,或通过 选择 AWS 托管策略来使用一组预定义的权限。 12. 虽然我们不会更改此策略,但请单击【编辑策略/Edit Policy】,使其显示在一个窗口中,以便您进行查 看和滚动。 请留意 IAM 策略中语句的基本结构。“Action”部分指定了该服务内的 AWS 服务和功能。“Resource”部 分定义了该策略规则所涵盖的实体范围,而“Effect”部分则定义了所需结果。更多有关定义 IAM 策略的 信息,请访问“AWS Identity and Access Management:权限和策略”文档页面。

虚拟化与云计算实验报告.

实验报告 课程名称虚拟化与云计算学院计算机学院 专业班级11级网络工程3班学号3211006414 姓名李彩燕 指导教师孙为军 2014 年12 月03日

EXSI 5.1.0安装 安装准备 安装VSPHERE HYPERVISOR SEVER(EXSI 5.1.0)需要准备: 无操作系统的机器(如有系统,安装过程中会格式化掉),需切换到光盘启动模式。BOIS中开启虚拟化设置(virtualization设置成enable) VMware vSphere Hypervisor 自启动盘 安装过程 1.安装VMware vSphere Hypervisor确保机器中无操作系统,并且设置BIOS到光盘启 动模式 2.插入光盘,引导进入安装界面。 3.选择需要安装在硬盘 4.选择keyboard 类型,默认US DEFAULT

5.设置ROOT的密码 6.安装完毕后,请注意弹出光盘。然后重启。 7.F2进入系统配置界面。

8.选择到Configure management network去配置网络。

9.配置完毕后,注意重启网络以使设置生效,点击restart management network,测 试网络设置是否正确,点test management network。至此,sever端安装完毕。配置 1.添加机器名:在DNS服务器上添加相关正反解析设置。 2.License设置:Vsphere client登陆后,清单→配置→已获许可的功能→编辑 输入license

3.时间与NTP服务设置:Vsphere client登陆后,清单→配置→时间配置→属性 钩选上NTP客户端 选项中,NTP设置设添加NTP服务器,然后在常规中开启NTP服务

Hadoop云计算实验报告

云计算实验报告Hadoop 云计算实验报告Hadoop 实验目的1在虚拟机上安装单机模式和集群;Ubuntu Hadoop编写一个用处理数据的程序,在单机和集群上运行程序。Hadoop 实验环境2虚拟机:9VMware(桌面(服务器版),操作系统: -desktop--server-x64amd64ubuntu-14.10ubuntu-12.04 版)版本: 1.2.1hadoop Hadoop版本: x647u80-linuxJdk -jdk-版本:x86_64-gtk-jee-luna-SR2-linuxEclipse eclipse-,主机集群:一台主机,一台mastersalve datanodeHadoop namenode 。,主机为主机为master IP IP 10.5.110.22310.5.110.207slave 实验设计说明3 主要设计思路 3.1 eclipse编写程序代码。实现在ubuntu操作系统下,安装必要软件和环境搭建,使用大数据的统计。本次实验是统计软件代理系统操作人员处理的信息量,即每个操作人员出现的次数。程序设计完成后,在集成环境下运行该程序并查看结果。算法设计 3.2 程序将输入读入后该算法首先将输入文件都包含进来,然后交由map程序处理,map处理,切出其中的用户名,并标记它的数目为1,形成的形式,然后交由reduce值收集起来,形成的形式,(reduce将相同key值也就是word)的value1值加起来,即为用户名出现的个数,最后将这个对以之后再将这些中。的形式输出到HDFSTextOutputFormat 程序说明 3.3 4个泛型类类继承了1)UserNameCountMap org.apache.hadoop.mapreduce.Mapper,的类型,输出的类型,输入value的类型,输出key函数输入型分别是map key value的类型。个泛,4org.apache.hadoop.mapreduce.ReducerUserNameCountReduce2)类继承了 类相同。map型类型含义与

hadoop倒排索引实验报告

大数据技术概论实验报告 作 业 三 姓名:郭利强 专业:工程管理专业 学号: 2015E8009064028

目录 1.实验要求 (3) 2.环境说明 (4) 2.1系统硬件 (4) 2.2系统软件 (4) 2.3集群配置 (4) 3.实验设计 (4) 3.1第一部分设计 (4) 3.2第二部分设计 (6) 4.程序代码 (11) 4.1第一部分代码 (11) 4.2第二部分代码 (17) 5.实验输入和结果 (21) 实验输入输出结果见压缩包中对应目录 (21)

1.实验要求 第一部分:采用辅助排序的设计方法,对于输入的N个IP网络流量文件,计算得到文件中的各个源IP地址连接的不同目的IP地址个数,即对各个源IP地址连接的目的IP地址去重并计数 举例如下: 第二部分:输入N个文件,生成带详细信息的倒排索引 举例如下,有4个输入文件: – d1.txt: cat dog cat fox – d2.txt: cat bear cat cat fox – d3.txt: fox wolf dog – d4.txt: wolf hen rabbit cat sheep 要求建立如下格式的倒排索引: – cat —>3: 4: {(d1.txt,2,4),(d2.txt,3,5),(d4.txt,1,5)}–单词—>出现该单词的文件个数:总文件个数: {(出现该单词的文件名,单词在该文件中的出现次数,该文件的总单词数),……}

2.环境说明 2.1系统硬件 处理器:Intel Core i3-2350M CPU@2.3GHz×4 内存:2GB 磁盘:60GB 2.2系统软件 操作系统:Ubuntu 14.04 LTS 操作系统类型:32位 Java版本:1.7.0_85 Eclipse版本:3.8 Hadoop插件:hadoop-eclipse-plugin-2.6.0.jar Hadoop:2.6.1 2.3集群配置 集群配置为伪分布模式,节点数量一个 3.实验设计 3.1第一部分设计

云计算实验报告

云计算实验报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

云计算原理课程 期末实践报告 题目:Linux集群、MapReduce和 CloudSim实践 成绩: 学号: 姓名:罗滔 登录邮箱: 任课老师:许娟 2016年11月12日 目录 实验一:AWS身份与访问管理(P2~P11)实验二:Amazon Relational Database Service(P11~P20) 实验三:Hadoop实验报告(P21~) AWS 管理控制台

使用 qwikLABS 登录 AWS 管理控制台 6. 在 AWS 管理控制台中,单击【服务/Services】,然后单击【IAM 或身份与访问管理/ IAM or Identity & Access Management】。 7. 在 IAM 控制台的左侧面板中,单击【用户/Users】。 8. 找到“userone”,然后单击其名称以显示有关该用户的详细信息。在用户详细信息中,找到有关该用户的以下三方面的信息: a. 已向该用户分配了一个密码 b. 该用户不属于任何组

c. 目前没有任何策略与该用户关联(“附加到”该用户) 9. 现在,单击左侧导航窗格中的【组/Groups】。 本实验的 CloudFormation 模板还创建了三个组。在 IAM 控制台中的【用户/Users】仪表板中可以看到, 自动化 CloudFormation 脚本在创建这些组时为其提供了唯一的名称。这些唯一名称包含以下字符串: “EC2support” “EC2admin” “S3admin” 完整组名的格式如下所示: EC2support--GA9LGREA7X4S 从现在开始,我们在本实验中将使用上面这些简写名称来指代这些组。您可以在【组/Groups】仪表板中搜 索子字符串,以便为后续实验操作确定正确的组。 10. 单击“EC2support”对应的组名。其格式应与上面的类似。 11. 向下滚动至组详细信息页面中的【权限/Permissions】部分后,在【内联策略/Inline Policies】部分, 可以看到一个名称为“EC2supportpolicy”的策略与该组关联。 在策略中,您可以规定将允许或拒绝对特定 AWS 资源执行哪些操作。您可以使用自定义策略,或通过 选择 AWS 托管策略来使用一组预定义的权限。 12. 虽然我们不会更改此策略,但请单击【编辑策略/Edit Policy】,使其显示在一个窗口中,以便您进行查

Hadoop云计算实验——数据去重

hadoop云计算实验报告数据去重 实验名称:数据去重 实验目的: 1、基本了解一个Hadoop程序的结构、编译、封装、运行、查看结果等流程 2、掌握并利用并行化编程思想对数据做有意义的筛选 问题描述: 编写Mapreduce程序读取文本文件,去掉所有数据中的重复数据后输出结果。 实验要求: 1、完成Mapreduce程序,测试其对数据的筛选能力。 输入:输入是一组文本文件,在每个输入文件中每一行是一个数据。每一个元数据都是一个字符串 输出:输出文件的每一行都是在输入文件中出现过的一个数据,并且输出文件中的每一行都不相同。 【数据样例】 输入: input1: 2006-6-9 a 2006-6-10 b 2006-6-11 c 2006-6-12 d 2006-6-13 a 2006-6-14 b 2006-6-15 c 2006-6-11 c input2: 2006-6-9 b 2006-6-10 a 2006-6-11 b 2006-6-12 d 2006-6-13 a 2006-6-14 c 2006-6-15 d 2006-6-11 c 输出: 2006-6-10 a 2006-6-10 b

2006-6-11 b 2006-6-11 c 2006-6-12 d 2006-6-13 a 2006-6-14 b 2006-6-14 c 2006-6-15 c 2006-6-15 d 2006-6-9 a 2006-6-9 b 算法分析: 数据去重的最终目标是让原始数据中出现次数超过一次的数据在输出文件中只出现一次。我们自然而然会想到将同一个数据的所有记录都交给一台reduce机器,无论这个数据出现多少次,只要在最终结果中输出一次就可以了。 具体就是reduce的输入应该以数据作为key,而对value-list则没有要求。当reduce接收到一个时就直接将key复制到输出的key中,并将value设置成空值。 在MapReduce流程中,map的输出经过shuffle过程聚集成后会交给reduce。所以从设计好的reduce输入可以反推出map的输出key应为数据,value任意。继续反推,map输出数据的 key为数据,而在这个实例中每个数据代表输入文件中的一行内容,所以map阶段要完成的任务就是在采用Hadoop默认的作业输入方式之后,将value设置为key,并直接输出(输出中的value任意)。map中的结果经过shuffle过 程之后交给reduce。reduce阶段不会管每个key有多少个value,它直接将输入的key复制为输出的key,并输出就可以了(输出中的value被设置成空了)。 实验内容和过程: package shiyan1_1; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper;

hadoop实验报告

基于hadoop的大规模文本处理技术实验 专业班级:软件1102 学生姓名:张国宇 学号: 201116040221

Setup Hadoop on Ubuntu 11.04 64-bit 提示:前面的putty软件安装省略;直接进入JDK的安装。 1. Install Sun JDK<安装JDK> 由于Sun JDK在ubuntu的软件中心中无法找到,我们必须使用外部的PPA。打开终端并且运行以下命令: sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-bin sudo apt-get install sun-java6-jdk Add JAVA_HOME variable<配置环境变量>: 先输入粘贴下面文字: sudo vi /etc/environment 再将下面的文字输入进去:按i键添加,esc键退出,X保存退出;如下图: export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.26"

Test the success of installation in Terminal<在终端测试安装是否成功>: sudo . /etc/environment java –version 2. Check SSH Setting<检查ssh的设置> ssh localhost 如果出现“connection refused”,你最好重新安装ssh(如下命令可以安装): sudo apt-get install openssh-server openssh-client 如果你没有通行证ssh到主机,执行下面的命令: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

云计算实验报告

云计算原理课程 期末实践报告 题目:Linux集群、MapReduce和CloudSim 实践 成绩: 学号: 姓名:罗滔 登录邮箱: 任课老师:许娟 2016年11月12日 目录 实验一:AWS身份与访问管理(P2~P11) 实验二:AmazonRelationalDatabaseService(P11~P20) 实验三:Hadoop实验报告(P21~) AWS管理控制台

使用qwikLABS登录AWS管理控制台 6.在AWS管理控制台中,单击【服务/Services】,然后单击【IAM或身份与访问管理/ IAMorIdentity&AccessManagement】。 7.在IAM控制台的左侧面板中,单击【用户/Users】。 8.找到“userone”,然后单击其名称以显示有关该用户的详细信息。在用户详细信息中,找到有关该用户的以下三方面的信息: a.已向该用户分配了一个密码 b.该用户不属于任何组 c.目前没有任何策略与该用户关联(“附加到”该用户)

9.现在,单击左侧导航窗格中的【组/Groups】。 本实验的CloudFormation模板还创建了三个组。在IAM控制台中的【用户/Users】仪表板中可以看到, 自动化CloudFormation脚本在创建这些组时为其提供了唯一的名称。这些唯一名称包含以下字符串:“EC2support” “EC2admin” “S3admin” 完整组名的格式如下所示: EC2support--GA9LGREA7X4S 从现在开始,我们在本实验中将使用上面这些简写名称来指代这些组。您可以在【组/Groups】仪表板中搜索子字符串,以便为后续实验操作确定正确的组。 10.单击“EC2support”对应的组名。其格式应与上面的类似。 11.向下滚动至组详细信息页面中的【权限/Permissions】部分后,在【内联策略/InlinePolicies】部分,可以看到一个名称为“EC2supportpolicy”的策略与该组关联。 在策略中,您可以规定将允许或拒绝对特定AWS资源执行哪些操作。您可以使用自定义策略,或通过

实验一hadoop的安装与使用

电子信息学院 实验报告书 课程名:《云计算技术》 题目:实验一、Hadoop的安装与使用 实验类别【设计】 班级: bx1002 学号: 31 姓名:杨汉标 【实验环境】 计算机、Java、Hadoop

【实验目的】 1.理解云计算的基本理论知识; 2.理解Hadoop的基本概念 3.掌握如何在Linux上安装Hadoop; 【实验要求】 1.下载Hadoop和JDK; 2.安装SSH; 3.对Linux进行相应配置。 【基础知识】 Hadoop是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同java程序员可以不考虑内存泄露一样, MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理超大的分布式系统得资源。 程序员的开发步骤: 1.定义Mapper,处理输入的 Key-Value 对, 2.定义Reducer,可选,对中间结果进行规约,输出最终结果 3.定义 InputFormat 和 OutputFormat,可选,InputFormat 将每行为 Java 类供Mapper 函数使用,不定义时默认为 String。 4.定义main 函数,在里面定义一个 Job 并运行它 Hadoop的工作过程 一个集群中只有一个NameNode,可以有多个DataNodes;namenode 承担数据的位置存储信息,并将存储位置信息告诉client端;得到位置信息后,client端开始写数据;写数据的时候是将数据分块,并存储为多份(一般为3份),放在不同的datanode 节点; client 先将数据写到第一个节点,在第一个节点接收数据的同时,又将它所接收的数据推送到第

Spark实验报告

Spark报告 金航1510122526

Spark实验报告 一、环境搭建 1、下载scala2.11.4版本下载地址为:https://www.sodocs.net/doc/d66333545.html,/download/2.11.4.html 2、解压和安装: 解压:tar -xvf scala-2.11.4.tgz 安装:mv scala-2.11.4 ~/opt/ 3、编辑~/.bash_profile文件增加SCALA_HOME环境变量配置, export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37 export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.j ar export SCALA_HOME=/home/spark/opt/scala-2.11.4 export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin 立即生效source ~/.bash_profile 4、验证scala:scala -version 5、copy到slave机器scp ~/.bash_profile spark@10.126.45.56:~/.bash_profile 6、下载spark,wget https://www.sodocs.net/doc/d66333545.html,/spark-1.2.0-bin-hadoop2.4.tgz 7、在master主机配置spark : 将下载的spark-1.2.0-bin-hadoop2.4.tgz 解压到~/opt/即 ~/opt/spark-1.2.0-bin-hadoop2.4,配置环境变量SPARK_HOME # set java env export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37 export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export SCALA_HOME=/home/spark/opt/scala-2.11.4 export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0 export SPARK_HOME=/home/spark/opt/spark-1.2.0-bin-hadoop2.4 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin:${SPARK_HO ME}/bin:${HADOOP_HOME}/bin 配置完成后使用source命令使配置生效

hadoop安装及单词统计实验报告

基于hadoop的单词统计的简单实验 1.1安装及其说明 总共有4台机器:namenode 、datanode1、datanode2 、datanode3 IP地址分别设置为:10.102.1.67、10.102.1.68、10.102.1.69、10.102.1.70 操作系统为:Centos6.2 Jdk版本为:jdk-7u45-linux-i586 Hadoop版本为:hadoop-0.20.2 10.102.1.69作为Namenode、JobTracker,其他三台作为Datenode、TaskTracker 1.2 用机器名Ping通机器 用root登录,修改NameNode和DataNode上的/etc/hosts文件,加入四台机器的IP地址和机器名,如下: 10.102.1.69 namenode 10.102.1.67 datenode1 10.102.1.68 datenode2 10.102.1.70 datenode3 设置好后验证下各机器间是否ping通,用机器名或是IP地址都可以,例如ping datanode1或ping 10.102.1.67 1.3 新建hadoop用户

我没有新建hadoop,而是直接用的root用户 1.4 ssh设置及关闭防火墙 1)centos装好后默认启动sshd服务,如果不确定的话可以查一下[root@namenode ~]# service sshd status 如没有启动的话,先启动[root@ namenode ~]# service sshd start 建立ssh无密码登录,在NameNode上[root@ namenode ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 会在~/.ssh/生成两个文件:id_dsa和id_dsa.pub,这两是成对出现的,把id_dsa.pub文件追加到DataNode上的authorized_keys [root@ namenode ~]$ scp id_dsa.pub datanode1:/home/hadoop/ (注意其中目标机器后面的:与要传到的文件路径之间没有空格,即datanode1:与/home/hadoop/之间没有空格) scp id_dsa.pub datanode2:/home/hadoop/ scp id_dsa.pub datanode3:/home/hadoop/ 登录到DataNode上,[root@ datenode1 ~]$ cat id_dsa.pub >> ~/.ssh/authorized_keys ,其余两台一样,NameNode上也要追加。注意:追加完后必须修改NameNode和DataNode上的.ssh和authorized_keys的权限,chmod命令,参数755,完成后测试下,例如ssh datenode1时不需要密码就可以登录,就可以知道ssh设置成功。2)关闭防火墙(NameNode和DataNode都必须关闭) [root@namenode ~]# service iptables stop 注意:每次重新开机启动hadoop前都必须关闭

MapReduce实验报告

硕士研究生实践报告 题目 作者姓名 作者学号 指导教师 学科专业 所在学院 提交日期 一题目要求 我们的项目背景是,可穿戴设备的实时数据分析。1.txt记录的是某一个用户的心跳周期数据,每一个数值表示一次心跳的周期,单位是秒。例如,0.8表示用户当时的心跳间隙是0.8秒。心跳间期按照顺序存储。 1.利用Hadoop的MapReduce框架编写程序,计算出总测量时间和平均心跳间期,即求和 与求平均。请写出程序,并在实验报告中简单描述你的思路。 2.探索Spark的Transformation中的mapPartition,写出示例程序,并思考何时会用到 mapPartition,为什么要用它? 3.探索Spark的Transformation中的flatMap,写出示例程序,并思考何时会用到它,为什 么要用到它。 4.(选做)SD1和SD2是表征心率变异性的一种指标。结合发给你们的论文,用Java或 者Scala实现SD1和SD2的计算(不用考虑并行化,普通的Java或Scala程序即可)。(选做)假设我们同时监控100个用户的心率,是否能够利用Spark的RDD的特性,并行地计算SD1和SD2?(提示:把每一个用户的心率数据作为RDD里面的一个元素,RDD中不同的元素表示不同用户的心率数据,利用map对每一个用户的心率数据进行并行分析)。请描述设计思路,并尽可能实现一个多用户心率监控的计算程序。 二题目实现 第一题: 本题就是利用Hadoop的MapReduce框架编写程序,计算出总测量时间和平均心跳间期,即求和与求平均,程序代码如下: package ; import ; import ; import ; import ;

实验2 Hadoop安装与配置

实验报告封面 课程名称: Hadoop大数据处理课程代码: JY1124 任课老师:陈宁穗实验指导老师: 陈宁穗 实验报告名称:实验2 Hadoop安装与配置 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,本报告内的实验已按要求完成,报告完全是由我个人完成,并没有抄袭行为。我已经保留了这份实验报告的副本。 申明人(签名): 实验报告评语与评分: 评阅老师签名:

一、实验名称:Hadoop安装与配置 二、实验日期:2015年9 月18日 三、实验目的: Hadoop安装与配置。 四、实验用的仪器和材料: 安装环境:以下两个组合之一 1.硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 、linux或者mac os x 软件环境:运行vmware或者virtualbox (2) 内存ddr 1g及以上的主机两部及以上 五、实验的步骤和方法: 注: hadoop必须运行在类unix环境下。Windows必须通过虚拟机运行linux环境或者安装cygwin,本次实验是在Windows下通过虚拟机运行linux环境实现。本次实验重点在vmware中安装ubuntu以及在ubuntu中一些命令的熟悉使用。 一、vmware中ubuntu的安装步骤 1、打开桌面VMware Workstation图标,进入软件。

2、点击“新建虚拟机”,进入新建向导,选择“典型(推荐)”继续。 3、选择“稍后安装操作系统”。

4、选择linux操作系统下的Ubuntu系统,点击继续。

5、设置自己虚拟机名称,选择安装位置(根据自己喜好选择)。

Hadoop实验--数据去重

Hadoop实验报告数据去重 问题背景: 随着存储数据信息量的飞速增长,去重无疑成为众多大数据科研人员要面对的问题之一。因此越来越多的人开始关注存储数据的缩减方法。数据压缩、单实例存储和重复数据删除等都是经常使用的存储数据缩减技术。 重复数据删除往往是指消除冗余子文件。不同于压缩,重复数据删除对于数据本身并没有改变,只是消除了相同的数据占用的存储容量。重复数据删除在减少存储、降低网络带宽方面有着显著的优势,并对扩展性有所帮助。 举个简单的例子:在专门为电信运营商定制的呼叫详单去重应用程序中,我们就可以看到删除重复数据的影子。同样的,对于包含相同数据包的通信网络,我们可以使用这种技术来进行优化。 问题描述: 编写MapReduce程序读取文本文件,去掉所有数据中的重复数据后输出结果。 实验名称:数据去重 实验目的: 1、基本了解一个Hadoop程序的结构、编译、封装、运行、查看结果等流程。 2、掌握并利用并行化编程思想对数据做有意义的筛选。 实验要求: 完成MapReduce程序,测试其对数据的筛选能力。 输入:输入是一组文本文件,在每个输入文件中每一行是一个数据。每一个元数据都是一个字符串。

输出:输出文件的每一行都是在输入文件中出现过的一个数据,并且输出文件中的每一行都不相同。 【数据样例】 输入: input1: 2015-1-1 a 2015-1-2 b 2015-1-3 c 2015-1-4 d 2015-1-5 a 2015-1-6 b 2015-1-7 c 2015-1-8 c input2: 2015-1-1 b 2015-1-2 a 2015-1-3 b 2015-1-4 d 2015-1-5 a 2015-1-6 c 2015-1-7 d 2015-1-8 c 输出: 2015-1-1 a 2015-1-1 b 2015-1-2 a 2015-1-2 b 2015-1-3 b 2015-1-3 c 2015-1-4 d 2015-1-5 a 2015-1-6 b 2015-1-6 c 2015-1-7 c 2015-1-7 d 2015-1-8 c 设计思路:

相关主题