物联网数据处理---实验指导书.doc_第1页
物联网数据处理---实验指导书.doc_第2页
物联网数据处理---实验指导书.doc_第3页
物联网数据处理---实验指导书.doc_第4页
物联网数据处理---实验指导书.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络,如有侵权,请联系网站删除物联网数据处理实 验 指 导 书实验一:熟悉常用的Linux操作(2学时)一、实验目的与要求1、熟悉安装和配置Linux。2、熟悉常用的Linux操作。6、总结在调试过程中的错误。二、实验类型验证型三、实验原理及说明通过实际操作,使学生对Linux的使用有一个更深刻的理解;熟悉Linux的开发环境及程序结构。四、实验仪器安装操作系统:Linux 五、实验内容和步骤熟悉常用的Linux操作请按要求上机实践如下linux基本命令。cd命令:切换目录(1)切换到目录 /usr/local(2)去到目前的上层目录(3)回到自己的主文件夹ls命令:查看文件与目录(4)查看目录/usr下所有的文件mkdir命令:新建新目录(5)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在(6)创建目录a1/a2/a3/a4rmdir命令:删除空的目录(7)将上例创建的目录a(/tmp下面)删除(8)删除目录a1/a2/a3/a4,查看有多少目录存在cp命令:复制文件或目录(9)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1(10)在/tmp下新建目录test,再复制这个目录内容到/usrmv命令:移动文件与目录,或更名(11)将上例文件bashrc1移动到目录/usr/test(12)将上例test目录重命名为test2rm命令:移除文件或目录(13)将上例复制的bashrc1文件删除(14)rm -rf 将上例的test2目录删除cat命令:查看文件内容(15)查看主文件夹下的.bashrc文件内容tac命令:反向列示(16)反向查看主文件夹下.bashrc文件内容more命令:一页一页翻动查看(17)翻页查看主文件夹下.bashrc文件内容head命令:取出前面几行(18)查看主文件夹下.bashrc文件内容前20行(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行tail命令:取出后面几行(20)查看主文件夹下.bashrc文件内容最后20行(21) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据touch命令:修改文件时间或创建新文件(22)在/tmp下创建一个空文件hello并查看时间(23)修改hello文件,将日期调整为5天前chown命令:修改文件所有者权限(24)将hello文件所有者改为root帐号,并查看属性find命令:文件查找(25)找出主文件夹下文件名为.bashrc的文件tar命令:压缩命令tar -zcvf /tmp/etc.tar.gz /etc(26)在/目录下新建文件夹test,然后在/目录下打包成test.tar.gz(27)解压缩到/tmp目录tar -zxvf /tmp/etc.tar.gzgrep命令:查找字符串(28)从/.bashrc文件中查找字符串examples(29)配置Java环境变量,在/.bashrc中设置(30)查看JAVA_HOME变量的值六、注意事项命令的名称。七、预习与思考题1、Linux 操作系统的安装和使用2、常用的命令实验二:安装Hadoop开发环境(2学时)一、实验目的与要求1.掌握Linux虚拟机安装方法或者双操作系统安装方法。Hadoop在Linux操作系统上运行可以发挥最佳性能,鉴于目前很多读者可能正在使用Windows操作系统,因此,为了完成本书的后续实验,这里有必要通过本实验让读者掌握在Windows操作系统上搭建Linux虚拟机的方法,以及安装双操作系统的方法(同时安装Windows和Linux系统,电脑开机时,可以选择登录哪个系统)。2.掌握Hadoop的伪分布式安装方法。很多读者并不具备集群环境,需要在一台机器上模拟一个小的集群,因此,需要通过本实验让读者掌握在单机上进行Hadoop的伪分布式安装方法。二、实验类型综合型三、实验原理及说明通过实际操作,使学生对Hadoop的使用有一个更深刻的理解;熟悉Hadoop的开发环境及程序结构。四、实验仪器操作系统:Windows系统或者Ubuntu(推荐)。虚拟机软件:推荐使用的开源虚拟机软件为VirtualBox 。VirtualBox是一款功能强大的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异,简单易用,可虚拟的系统包括Windows、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android 4.0系统等操作系统。读者可以在Windows系统上安装VirtualBox软件,然后在VirtualBox上安装并且运行Linux操作系统。本次实验默认的Linux发行版为Ubuntu14.04。五、实验内容和步骤共享文件夹设置virtualbox中ubuntu和windows共享文件夹设置先关闭ubuntu,在virtualbox“设置”中找到“共享文件夹”,点击进入,点击右边添加目录按钮,添加windows中要共享的目录,取一个名。比如我在D盘建一个名为share的文件夹,如下图:重启ubuntu,在ubuntu系统最上端“设备”中找到“共享文件夹”,点击进入,点击右边添加目录按钮,添加第二步操作的共享目录,如进入虚拟Ubuntu,在命令行终端下输入:sudo mkdir /mnt/sharedsudo mount -t vboxsf share /mnt/shared其中share是之前创建的共享文件夹的名字。OK,现在Ubuntu和主机可以互传文件了。要想自动挂载的话,可以在/etc/fstab中添加一项share /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0Java安装第一步 获取安装包。到oracle官方去下载jdk安装包,选择版本时注意选择自己的系统的版本。第二步:解压安装sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm cd /usr/lib/jvm sudo mv jdk1.7.0/ java-7-sun 第三步:修改环境变量vi /.bashrc 添加:export JAVA_HOME=/usr/lib/jvm/java-7-sun export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$PATH 保存退出,输入以下命令使之立即生效。source /.bashrc 第四步:配置默认JDK版本由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。执行代码:sudo update-alternatives -install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300 sudo update-alternatives -install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 sudo update-alternatives -install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300 sudo update-alternatives -install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 300 sudo update-alternatives -install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 300 执行代码:sudo update-alternatives -config java 系统会列出各种JDK版本,如下所示:baidubaidu:$ sudo update-alternatives -config java 有 3 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 - * 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式 3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式 要维持当前值*请按回车键,或者键入选择的编号:3 update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。第五步:测试baidubaidu:$ java -version java version 1.7.0 Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) Server VM (build 21.0-b17, mixed mode) Hadoop安装1、创建hadoop用户安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。首先按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户 :sudo useradd -m hadoop -s /bin/bash接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码: sudo passwd hadoop可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:sudo adduser hadoop sudo最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的 hadoop 用户进行登陆。2. 安装SSH、配置SSH无密码登陆集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:sudo dpkg -i openssh-server_6.0p1-3ubuntu1_i386.debsudo dpkg -i ssh_6.0p1-3ubuntu1_all.deb安装后,可以使用如下命令登陆本机:ssh localhost利用 ssh-keygen 生成密钥,并将密钥加入到授权中:$exit # 退出刚才的 ssh localhost$cd /.ssh/ # 若没有该目录,请先执行一次ssh localhost$ssh-keygen -t rsa # 会有提示,都按回车就可以$cat ./id_rsa.pub ./authorized_keys # 加入授权$sudo tar -zxf /下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中$cd /usr/local/$sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop$sudo chown -R hadoop ./hadoop # 修改文件权限$cd /usr/local/hadoop$./bin/hadoop version六、注意事项Apache Hadoop官网下载Hadoop2.7.1版本安装文件。七、预习与思考题1、在Linux环境下完成伪分布式环境的搭建,并运行Hadoop自带的WordCount实例检测是否运行正常。实验三:熟悉Hadoop平台(2学时)一、实验目的与要求1、理解 Hadoop平台运行原理。2、熟悉Hadoop的操作二、实验类型设计型三、实验原理及说明通过实际操作,使学生对Hadoop的使用有一个更深刻的理解;熟悉Hadoop的开发环境及程序结构。四、实验仪器安装Ubuntu系统的计算机若干台五、实验内容和步骤1. Hadoop单机配置(非分布式)Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。Hadoop 附带了丰富的例子(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce- examples-2.6.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfsa-z.+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了1次注意,Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。2. Hadoop伪分布式配置Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的修改为下面配置:同样的,修改配置文件 hdfs-site.xml:Hadoop配置文件说明Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以要指定 .dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。配置完成后,执行 NameNode 的格式化:成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。如果在这一步时提示 Error: JAVA_HOME is not set and could not be found. 的错误,则说明之前设置 JAVA_HOME 环境变量那边就没设置好,请先设置好 JAVA_HOME 变量,否则后面的过程都是进行不下去的。接着开启 NameNode 和 DataNode 守护进程。若出现如下SSH提示,输入yes即可。启动时可能会出现如下 WARN 提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform using builtin-java classes where applicable WARN 提示可以忽略,并不会影响正常使用。启动 Hadoop 时提示 Could not resolve hostname如果启动 Hadoop 时遇到输出非常多“ssh: Could not resolve hostname xxx”的异常情况,如下图所示:这个并不是 ssh 的问题,可通过设置 Hadoop 环境变量来解决。首先按键盘的 ctrl + c 中断启动,然后在 /.bashrc 中,增加如下两行内容(设置过程与 JAVA_HOME 变量一样,其中 HADOOP_HOME 为 Hadoop 的安装目录):保存后,务必执行 source /.bashrc 使变量设置生效,然后再次执行 ./sbin/start-dfs.sh 启动 Hadoop。启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。成功启动后,可以访问 Web 界面 http:/localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。六、注意事项熟悉Hadoop的配置文件。七、预习与思考题单机版与伪分布式的配置。实验四:Hadoop初级实践(2学时)一、实验目的与要求1、理解 Hadoop平台运行原理。2、熟悉wordcount程序。二、实验类型设计型三、实验原理及说明通过实际操作,使学生对Hadoop的使用有一个更深刻的理解;熟悉Hadoop的开发环境及程序结构。四、实验仪器安装Ubuntu系统的计算机若干台五、实验内容和步骤单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版Hello World,该程序的完整代码可以在Hadoop安装包的src/examples目录下找到。单词计数主要完成功能是:统计一系列文本文件中每个单词出现的次数,如下图所示。以hadoop用户登录Hadoop服务器。1. 创建本地的示例数据文件:并在这个目录下创建2个文件分别命名为【myTest1.txt】和【myTest2.txt】或者你想要的任何文件名。分别在这2个文件中输入下列示例语句:2. 在HDFS上创建输入文件夹调出终端,输入下面指令:$cd /usr/local/hadoop$./bin/hadoop fs -mkdir hdfsInput执行这个命令时可能会提示类似安全的问题,如果提示了,请使用$./bin/hadoop dfsadmin -safemode leave来退出安全模式。当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入 安全模式。3. 上传本地file中文件到集群的hdfsInput目录下在终端依次输入下面指令:cd hadoop-1.2.1$./bin/hadoop fs -put file/myTest*.txt hdfsInput4. 运行例子:在终端输入下面指令:$./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount hdfsInput hdfsOutput注意,这里的示例程序是1.2.1版本的,可能每个机器有所不一致,那么请用*通配符代替版本号$./bin/hadoop jar hadoop-examples-*.jar wordcount hdfsInput hdfsOutput应该出现下面结果:Hadoop命令会启动一个JVM来运行这个MapReduce程序,并自动获得Hadoop的配置,同时把类的路径(及其依赖关系)加入到Hadoop的库中。以上就是Hadoop Job的运行记录,从这里可以看到,这个Job被赋予了一个ID号:job_201202292213_0002,而且得知输入文件有两个(Total input paths to process : 2),同时还可以了解map的输入输出记录(record数及字节数),以及reduce输入输出记录。查看HDFS上hdfsOutput目录内容:在终端输入下面指令:bin/hadoop fs -ls hdfsOutput从上图中知道生成了三个文件,我们的结果在part-r-00000中。使用下面指令查看结果输出文件内容bin/hadoop fs -cat output/part-r-00000输出目录日志以及输入目录中的文件是永久存在的,如果不删除的话,如果出现结果不一致,请参考这个因素。六、注意事项熟悉Hadoop常用的命令。七、预习与思考题Hadoop的执行过程。实验五:熟悉常用的HDFS操作(2学时)一、实验目的与要求1、理解 Hadoop平台运行原理。2、熟悉HDFS系统二、实验类型设计型三、实验原理及说明通过实际操作,使学生对Hadoop的使用有一个更深刻的理解;熟悉Hadoop的开发环境及程序结构。四、实验仪器安装Ubuntu系统的计算机若干台五、实验内容和步骤1. 编写简单shell脚步1. 使用gedit等任意文本编辑工具,都可以编写shell脚本。使用“gedit test.sh”在当前目录下,创建一个测试shell脚本。shell脚本的后缀习惯性写成“.sh”。1. 2shell脚本的开始需要声明此脚本使用什么程序解析执行,首行为“#!/bin/sh”,标明使用bash解析器解析当前shell脚本。 2. 3完成所有语言都有的入门级显示效果,使用shell脚本打印hello world,第二行为“echo Hello World!”。步骤阅读3. 4由于新建的shell脚本没有执行权限,首先使用“chmod 755 test.sh”对shell脚本添加执行权限。步骤阅读4. 5使用“./test.sh”命令执行新建的shell脚本。步骤阅读5. 6看看自己编写第一个shell脚本执行的结果吧。2. 利用Hadoop提供的Shell命令完成相同任务:(1) 向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;先到Hadoop主文件夹cd /usr/local/hadoop启动Hadoop服务sbin/start-dfs.shsbin/start-yarn.sh创建两个任意文本文件用于实验echo hello world local.txtecho hello hadoop text.txt检查文件是否存在hadoop fs -test -e text.txtecho $?上传本地文件到HDFS系统(上传之后再执行一遍上一步,如果是第一次做HDFS操作第一次做这一步会出错,可以直接做一次hadoop fs -appendToFile local.txt text.txt就能解决)hadoop fs -put text.txt追加到文件末尾的指令hadoop fs -appendToFile local.txt text.txt查看HDFS文件的内容hadoop fs -cat text.txt覆盖原有文件的指令(覆盖之后再执行一遍上一步)hadoop fs -copyFromLocal -f local.txt text.txt以上步骤也可以用如下Shell脚步实现if $(hadoop fs -test -e text.txt);then $(hadoop fs -appendToFile local.txt text.txt);else $(hadoop fs -copyFromLocal -f local.txt text.txt);fi(2) 从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名; Shell命令实现:if $(hadoop fs -test -e /usr/local/hadoop/text.txt);then $(hadoop fs -copyToLocal text.txt ./text.txt); else $(hadoop fs -copyToLocal text.txt ./text2.txt); fi(3) 将HDFS中指定文件的内容输出到终端中;hadoop fs -cat text.txt(4) 显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;hadoop fs -ls -h text.txt(5) 给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;hadoop fs -ls -R -h /user/tiny(6) 提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;Shell命令实现:if $(hadoop fs -test -d dir1/dir2);then $(hadoop fs -touchz dir1/dir2/filename); else $(hadoop fs -mkdir -p dir1/dir2 & hdfs dfs -touchz dir1/dir2/filename); fi删除操作hadoop fs -rm dir1/dir2/filename(7) 提供一个HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录文件所在目录不存在则自动创建相应目录;删除目录时,由用户指定当该目录不为空时是否还删除该目录;a) 创建目录hadoop fs -mkdir -p dir1/dir2 b) 删除目录(如果目录非空则会提示not empty,不执行删除)hadoop fs -rmdir dir1/dir2 c) 强制删除目录hadoop fs -rm -r dir1/dir2 (8) 向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾;追加到文件末尾hadoop fs -appendToFile local.txt text.txt追加到文件开头hadoop fs -get text.txtcat text.txt local.txthadoop fs -copyFromLocal -f text.txt text.txt(9) 删除HDFS中指定的文件;hadoop fs -rm text.txt(10) 删除HDFS中指定的目录,由用户指定目录中如果存在文件时是否删除目录;a) 删除目录(如果目录非空则会提示not empty,不执行删除)hadoop fs -rmdir dir1/dir2 b) 强制删除目录hadoop fs -rm -R dir1/dir2(11) 在HDFS中,将文件从源路径移动到目的路径。hadoop fs -mv text.txt input3. 编程实现一个类“MyFSDataInputStream”,该类继承“org.apache.hadoop.fs.FSDataInputStream”,要求如下:实现按行读取HDFS中指定文件的方法“readLine()”,如果读到文件末尾,则返回空,否则返回文件一行的文本。package com.zucc.tiny.hdfs;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;public class MyFSDataInputStream extends FSDataInputStream public MyFSDataInputStream(InputStream in) super(in); / TODO Auto-generated constructor stub public static String readline(Configuration conf, String remoteFilePath) throws IOException FileSystem fs = FileSystem.get(conf); Path remotePath = new Path(remoteFilePath); FSDataInputStream in = fs.open(remotePath); BufferedReader d = new BufferedReader(new InputStreamReader(in); String line = null; if(line=d.readLine()!=null) d.close(); in.close(); fs.close(); return line; else d.close(); in.close(); fs.close(); return null; public static void main(String args) Configuration conf = new Configuration(); conf.set(,hdfs:/localhost:9000); String remoteFilePath = /user/tiny/text.txt; / HDFS路径 try System.out.println(读取文件: + remoteFilePath); System.out.println(MyFSDataInputStream.readline(conf, remoteFilePath); System.out.println(n读取完成); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 4. 查看Java帮助手册或其它资料,用“.URL”和“org.apache.hadoop.fs.FsURLStreamHandlerFactory”编程完成输出HDFS中指定文件的文本到终端中。package com.zucc.tiny.hdfs;import java.io.IOException;import java.io.InputStream;import .URL;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;public class FsUrl static URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory(); public static void cat(String remoteFilePath) throws IOException InputStream in = null; try in = new URL(hdfs,localhost,9000,remoteFilePath).openStream(); IOUtils.copyBytes(in, System.out, 4096, false); finally IOUtils.closeStream(in); /* * 主函数 */ public static void main(String args) String remoteFilePath = /user/tiny/text.txt; / HDFS路径 try System.out.println(读取文件: + remoteFilePath); FsUrl.cat(remoteFilePath); System.out.println(n读取完成); catch (Exception e) e.printStackTrace(); 六、注意事项熟悉HDFS常用的命令。七、预习与思考题HDFS的执行过程。实验六:熟悉常用的HBase操作(2学时)一、实验目的与要求1.理解HBase在Hadoop体系结构中的角色;2.熟练使用HBase操作常用的Shell命令;3.熟悉HBase操作常用的Java API。二、实验类型设计型三、实验原理及说明通过实际操作,使学生对HBase的使用有一个更深刻的理解;熟悉HBase的开发环境。四、实验仪器操作系统:LinuxHadoop版本:2.6.0或以上版本HBase版本:1.1.2或以上版本JDK版本:1.6或以上版本Java IDE:Eclipse五、实验内容和步骤把 HBase 压缩包放到 Home 文件夹中右键打开终端,解压 HBase 到/usr/localsudo tar zxvf hbase-1.2.3-bin.tar.gz -C /usr/local重命名方便后续操作sudo mv /usr/local/hbase-1.2.3/ /usr/local/hbase/获取文件夹权限(tiny改为你的主机名)sudo chown -R tiny /usr/local/hbase/设置环境变量sudo gedit /etc/profile在最后一行添加内容:#set hbase pathexport PATH=$PATH:/usr/local/hbase/bin使环境变量生效source /etc/profile配置Hbase的配置文件进入/usr/local/hbase/conf/cd /usr/local/hbase/conf/配置hbase-env.shgedit hbase-env.sh在最后一行添加内容:配置hbase-site.xmlgedit hbase-site.xml在标签中添加内容: hbase.rootdir hdfs:/localhost:9000/hbase hbase.cluster.distributed true启动 Hadoop进入 Hadoop 主文件夹cd /usr/local/hadoop/开启 Hadoop 相关进程sbin/start-dfs.shsbin/start-yarn.sh启动 HBase进入HBase主文件夹cd /usr/local/hbase/开启HBase相关进程bin/start-hbase.sh查看 jps进入 Hbase Shell创建一个表以便实验使用create student,score1. 用Hadoop提供的HBase Shell命令完成相同任务:(1) 列出HBase所有的表的相关信息,例如表名;a) 以列表的形式显示所有数据表list b) 查看表的结构describe student c) 查询表是否存在exists student d) 查询表是否可用is_enabled student(2) 在终端打印出指定的表的所有记录数据;scan student(3) 向已经创建好的表添加和删除指定的列族或列;put student,s001,score:math,100(4) 向student表,删除指定列delete student,s001,score:math(5) 统计表的行数。count student2. 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)学号(S_No)姓名(S_Name)性别(S_Sex)年龄(S_Age)2015001Zhangsanmale232015003Maryfemale222015003Lisimale24课程表(Course)课程号(C_No)课程名(C_Name)学分(C_Credit)123001Math2.0123002Computer Science5.0123003English3.0 选课表(SC)学号(SC_Sno)课程号(S

温馨提示

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

评论

0/150

提交评论