云计算实验报告

上传人:沈*** 文档编号:89474651 上传时间:2022-05-13 格式:DOC 页数:15 大小:533.50KB
返回 下载 相关 举报
云计算实验报告_第1页
第1页 / 共15页
云计算实验报告_第2页
第2页 / 共15页
云计算实验报告_第3页
第3页 / 共15页
点击查看更多>>
资源描述
-云计算原理课程期末实践报告题目:Linu*集群、MapReduce和CloudSim实践成绩:*:161440119:罗滔登录邮箱:750785185qq.任课教师:许娟2016年11月12日目录实验一:AWS身份与访问管理P2P11实验二:Amazon Relational Database Service(P11P20)实验三: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 脚本在创立这些组时为其提供了唯一的名称。这些唯一名称包含以下字符串:EC2supportEC2adminS3admin完整组名的格式如下所示:arn:aws:iam:1:group/spl66/qlstack2-labinstance-47090-666286a4-f8c-EC2support-GA9LGREA7*4S从现在开场,我们在本实验中将使用上面这些简写名称来指代这些组。您可以在【组/Groups】仪表板中搜索子字符串,以便为后续实验操作确定正确的组。10. 单击 EC2support 对应的组名。其格式应与上面的类似。11. 向下滚动至组详细信息页面中的【权限/Permissions】局部后,在【内联策略/Inline Policies】局部,可以看到一个名称为 EC2supportpolicy 的策略与该组关联。在策略中,您可以规定将允许或拒绝对特定 AWS 资源执行哪些操作。您可以使用自定义策略,或通过选择 AWS 托管策略来使用一组预定义的权限。12. 虽然我们不会更改此策略,但请单击【编辑策略/Edit Policy】,使其显示在一个窗口中,以便您进展查看和滚动。请留意 IAM 策略中语句的根本构造。Action局部指定了该效劳内的 AWS 效劳和功能。Resource部分定义了该策略规则所涵盖的实体范围,而Effect局部则定义了所需结果。更多有关定义 IAM 策略的信息,请访问AWS Identity and Access Management:权限和策略文档页面。13. 单击另外两个组EC2admin 和 S3admin,查看附加到这两个组的策略。您现在能否识别出附加到这些组的策略所允许的权限?18. 完成后,再次单击左侧面板中的【组/Groups】。各组的【用户/Users】列中应显示 1,表示各组中的用户数。设置自定义密码替换和设置自定义密码22. 为 userone 设置一个密码,然后在临时的记事本文件中记下该密码。24. 重复上述步骤,为 usertwo 和 userthree 设置密码。测试对S3 的访问权限您在本实验中使用的awsstudent用户所拥有的权限寥寥无几,例如,您可以访问 S3 仪表板,但无法查看其中的存储桶。立即对此进展测试:25. 在主 AWS 控制台上,单击【效劳/Services】,然后单击【S3】。26. 您应该会看到三个存储桶。尝试单击存储桶以查看其内容 您将无法查看其内容。28. 在主 IAM 仪表板上,在【欢送使用身份识别和访问管理/Welcome to Identity and Access Management】下方,您将看到 IAM 用户登录链接。复制此 URL,然后将其粘贴到临时记事本文件中。30. 现在,您的记事本文件中应包含登录 URL、完整的userthree登录名和密码。在新的浏览器中,使用这些信息以userthree的身份登录。31. 您应该会看到标准的 AWS 控制台。但是,在右上角,您的用户名不再是awsstudent,而是userthree。32. 现在,访问S3 效劳仪表板。您可以看到之前的三个存储桶,但现在,作为S3admin组的一局部,您可以查看这些存储桶、复制文件、创立新的存储桶和文件等。实验二:Amazon Relational Database Service(P12P21)1.登录AWS 管理控制台登录之后,返回qwikLAB网2.创立 Relational Database Service (RDS) 实例要开场创立第一个 Amazon RDS 实例,您需要访问 Amazon 管理控制台上的 Amazon RDS 图标,然后使Relational Database Service 向导。7. 单击首页上的 Amazon RDS 图标并转到该控制面板。8. 单击Launch a Database Instance启动数据库实例按钮来启动 RDS 向导。9. 单击 MySQL 数据库引擎类型对面的Select选择按钮。10. 看到该数据库是否用于生产目的的询问时,选择开发测试单项选择按钮,然后单击Ne*t Step下一步。11. 在接下来的DB Instance Details指定数据库详细信息屏幕上,按以下内容进行设置:a. DB Instance Class数据库实例类b. Multi-AZ Deployment多可用区部署c. Allocated Storage分配的存储空间: 5d. DB Instance Identifier数据库实例标识符: RDSLabe. Master Username:主用户名 AWSMasterf. Master Password主密码: AWS1234512. 单击Ne*t Step下一步。13. 在接下来的Additional Config配置高级设置屏幕上,按以下内容进行设置:a. Database Name数据库名称: RDSLabb. Publically Accessible公开访问: 否c. VPC Security GroupVPC 平安组:选择包含文本qlstack的平安组14. 在备份中,选择备份保存期为0 天。15. 单击Launch DB Instance启动数据库实例。从亚马逊系统映像 (AMI)创立 Amazon Linu* 实例要开场创立第一个 Amazon 实例,您需要访问 Amazon 管理控制台上的 Amazon EC2 图标,然后使用向导。16. 返回 AWS 管理控制台它在浏览器中仍是翻开的。17. 单击 AWS 管理控制台首页上的 EC2 图标。18. 单击Instances实例链接来创立实例。19. 单击Launch Instance启动实例按钮来开场该过程。20. 在第一个对话窗.口中,步骤1:选择一个Amazon 系统映像,然后单击该 AMI 旁边的Select选.来选择Amazon Linu* AMI 实例。注意:确认是64 位的映像。21. 步骤 2:使实例类型保存默认设置,即 t2.micro。要继续,则单击Ne*t: Configure Instance Details下一步:配置实例详细信息。22. 步骤 3:Configure Instance Details配置实例详细信息,我们将保存所有默认选项,并单击Ne*t:Add Storage下一步:添加存储。23. 步骤4:Add Storage添加存储,保存默认虚拟拟硬。单击Ne*t: Tag Instance下一步:标签实例。注意:您可以在此轻松增加更多虚拟硬盘或更改硬盘大小。24. 步骤5:Tag Instance标.实例,使标签实例界面为实例命名。您将注意到左边文本框填充了标签的名字为Name,右边.文本框为空。在空文,键入名称,例如EC2 Free Lab并单击Ne*t: ConfigureSecurity Group下一步:配置平安组。25. 步骤6:Configure Security Group配置平安组,承受默认平安组,因为它允许通过端口 22 (SSH) 从任意位置连接此 Linu* 实例,单击Review and Launch审核和启.26. 步骤7:通过Review Instance Launch审核和启.动,您可以获取全部设置的概览。单击Launch启动以继续。27. QwikLab 自动.您生成的密钥.应.自动填第二个下拉框。28. 单击acknowledgement确认复选框,声明。29. 现在,单. Launch Instance启.实例。30. 单击View Instances查看实例。40. 将ec2-user 键入Host Name 字段,然后将您复制到剪贴板板的连接字符串粘贴到42. 单击单词Auth选择Auth类而不是单词Auth旁边的 + 符号。43. 单击Browse。44. 浏览到您稍早在本实验中保存 .ppk 文件的位置。45. 选择您下载的 .ppk 文件。46. 单击Open。47. 在 PuTTY 客户端,单击Open。48. 出现提示时,单击Yes允许 PuTTY 缓存效劳器的主机键。您已成功登录了Linu* 主机!50. 回到RDS 页面,选中并展开之前创立的RDS 实例。50. 记录下Endpoint终端节点名字,比方: -north-51. 回到Linu* EC2 主机的终端,输入以下命令:$ mysql h -p uAWSMaster52.在密码的提示符下输入AWS1234553. 然后在mysql 提示符下输入show databases;并检查结果。54. 您现在已将 MySQL 客户端连接到您新创立的 RDS 实例。恭喜您!Hadoop云计算实验报告(P21-)1、 实验目的在虚拟机Ubuntu上安装Hadoop单机模式和集群;编写一个用Hadoop处理数据的程序,在单机和集群上运行程序。2、实验环境虚拟机:VMware 9操作系统:ubuntu-12.04-server-*64Hadoop和Jdk和EclipseHadoop集群:一台namenode主机master,一台datanode主机salve,master主机IP为,slave主机IP为。3、主要设计思路在ubuntu操作系统下,安装必要软件和环境搭建,使用eclipse编写程序代码。实现大数据的统计。本次实验是统计软件代理系统操作人员处理的信息量,即每个操作人员出现的次数。4、算法设计该算法首先将输入文件都包含进来,然后交由map程序处理,map程序将输入读入后切出其中的用户名,并标记它的数目为1,形成的形式,然后交由reduce处理,reduce将一样key值(也就是word)的value值收集起来,形成的形式,之后再将这些1值加起来,即为用户名出现的个数,最后将这个对以Te*tOutputFormat的形式输出到HDFS中。5、安装实验环境5.1安装ubuntu操作系统1) 翻开VMware,在Home tab中单击Create a New Virtual Machine,2) 选择custom,选择虚拟硬件版本Workstation9.0,选择ios文件,ne*t,3) 录入目标操作系统信息,包括Full name、Uer name和Password, ne*t,4) 选择默认的选项,一般不做更改,最后确认信息,Finish,5) 安装成功后,会看到如下画面,5.2安装配置Samba安装samba主要为了实现与windows操作系统的通讯,由于server版本的ubuntu没有自带图形操作界面,所以下载资料等操作不太方便,这也是安装samba的目的之一。1) 安装samba,输入如下命令:2) 安装vim3) 创立共享目录,并修改权限4) 配置samba。修改samba的配置文件/etc/samba/smb.conf ,将security=share,并在文件的末尾追加如下内容,5) 测试。在windows实机中,通过ip访问ubuntu虚拟机,可以见到share文件夹5.3安装配置JDK首先,下载java开发工具包JDK。在本次试验中,我们下载的版本是jdk-7u80-linu*-*64.gz。解压安装到/usr/lib/jvm/目录下,更名为java-7-sun。配置环境变量/etc/environment,使配置生效测试安装配置结果5.4在单节点伪分布式环境下运行HADOOP1) 添加Hadoop用户并赋予sudo权限2) 安装配置SSH切换至hadoop用户,配置密钥,使得hadoop用户能够无须输入密码,通过SSH访问localhost,测试结果:3) 安装配置Hadoop首先下载Hadoop,解压缩到/opt/hadoop目录下,本次试验中我们下载的版本是,更改目录名称为hadoop。修改与hadoop相关的配置文件在/opt/hadoop/conf目录下,分别是core-site.*ml, hadoop-env.sh, hdsf-site.*ml, mapred-site.*ml。在此不一一列举。4) 运行Hadoop首先格式化HDFS,启动单节点集群,通过jps查看,masterslave停顿单节点集群,5.5在多节点分布式环境下运行HADOOP1) 设置/etc/hosts文件实验中两台机器处于同一局域网中,其中一台作为master,ip地址为,一台作为slave,ip地址为,修改两台机器的/etc/hosts文件,2) 设置节点之间无密码SSH登陆验证配置SSH是否正确3) 修改集群配置文件修改master的masters、slaves,修改所有节点的core-site.*ml, hdsf-site.*ml, mapred-site.*ml,在此不一一列出。4) 在master上格式化HDFS5) 启动和停顿集群启动集群,在master上启动HDFS后,jps结果如下:masterslave在master上启动mapreduce后,jps结果如下:masterslave停顿集群6、运行程序1.在单机上运行程序(1) 在Eclipse下,新建map/reduce工程(2) 新建一个java类UserNameCount,编写代码(3) 运行程序,结果如下:(4) 在eclipse中编译好源代码后,导出程序的jar包,供在集群上使用。2.在集群上运行程序(1) 启动集群,通过jps命令查看master,slave上启动的效劳列表,结果如下:(2) 在集群环境下运行该程序jar包UserNameCount.jar,结果如下:(3) 查看集群环境下启动程序生成的结果,即output文件,结果如下:(4) 数据统计结果在part-r-00000中,具体内容如下,7、源代码:package hadoop;import java.io.IOE*ception;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Te*t;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.input.Te*tInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.lib.output.Te*tOutputFormat;public class UserNameCount public static class UserNameCountMap e*tendsMapper private final IntWritable one = new IntWritable(1);private Te*t word = new Te*t();public void map(LongWritable key, Te*t value, Conte*t conte*t)throws IOE*ception, InterruptedE*ception String line = value.toString();StringTokenizer token = new StringTokenizer(line);while (token.hasMoreTokens() word.set(token.ne*tToken();conte*t.write(word, one);public static class UserNameCountReduce e*tendsReducer public void reduce(Te*t key, Iterable values,Conte*t conte*t) throws IOE*ception, InterruptedE*ception int sum = 0;for (IntWritable val : values) sum += val.get();conte*t.write(key, new IntWritable(sum);public static void main(String args) throws E*ception Configuration conf = new Configuration();Job job = new Job(conf);job.setJarByClass(UserNameCount.class);job.setJobName(usernamecount);job.setOutputKeyClass(Te*t.class);job.setOutputValueClass(IntWritable.class);job.setMapperClass(UserNameCountMap.class);job.setReducerClass(UserNameCountReduce.class);job.setInputFormatClass(Te*tInputFormat.class);job.setOutputFormatClass(Te*tOutputFormat.class);FileInputFormat.addInputPath(job, new Path(args0);FileOutputFormat.setOutputPath(job, new Path(args1);job.waitForCompletion(true);. z.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!