学期总结
一:概括:
本学期系统的学习了虚拟机的创建和环境的搭建、linux操作系统、大数据的理论、Hadoop集群的构建、HDFS分布式文件系统、并初步的学习了MapReduce的基本操作。
在虚拟机的创建和环境的搭建方面,开始运用本机进行虚拟机的操作,在后面,我们进行在学校内部环境的搭建完成,直接运用实例方面
二:学习内容方面:
Linux操作,大致分为用户操作和目录操作,用户操作方面,主要进行root用户和howard用户,运用su root进行进入到root用户,运用env进行查看环境变量,修改用户、删除用户,用户组方面,增删改用户组,用户组里增删改用户-运用cat /etc/password | tail -2语句进行
大数据理论方面,细致的讲解了什么是大数据,大数据的特点,大数据的意义,等
Hadoop集群的构建分为Hadoop的安装准备,部署模式,集群配置,集群测试方面
HDFS分布式文件系统主要分为HDFS的基本概念,架构和原理,shell操作和API操作HDFS
MapReduce分布式计算框架中初探MapReduce
三:具体内容:
在虚拟机的安装准备方面:配置主机名和IP地址的映射,关闭了SeLinux安全机制,运用ssh进行免密登录
部署模式方面:在master上面进行配置和分发JDK,安装下载Hadoop,并进行配置环境变量。
集群配置:vim hadoop-env.sh编辑配置文件,core-site.xml编辑核心配置文件,hdfs-site.xml编辑HDFS配置文件,mapred-site.xml编辑MapRuduce配置文件,yarn-site.xml编辑yarn配置文件,编辑worders文件确定数据节点,并进行分发至slave1和slave2
集群测试方面:学会了通过UI界面查看Hadoop运行状态,端口区别,HDFS集群状态,通过start-all.sh启动集群,初次体验到了hadoop的集群的词频统计,通过不同界面查看程序运行的状态。
HDFS基本概念中,学习到HDFS的演变,基本概念分为NameNode(名称数据节点),DataNode(数据节点),Block(数据块),Rack(机架),Metadata(元数据)的讲述。
HDFS的特点,优点:具有高容错性和适合批处理和大数据处理,流式数据访问,可构建在廉价的机器上;缺点:不适合低延时数据的访问,无法高效的对大量小文件进行存储,无法并发写入和进行文件的随机修改。
HDFS架构概念和原理中:HDFS储存架构的位置和结构让我们了解,HDFS文件的读和写原理又分为写数据原理和读数据原理
HDFS的shell的介绍中:了解到HDFS常用三种的shell命令,hadoop fs 和 hadoop dfs 和 hdfs dfs
FileSystem shell文档查看用cat命令,常用命令中,先启动集群,然后运用hdfs dfs -mkdir 创建单层目录,hdfs dfs -mkdir -p 创建多层目录,hdfs dfs -ls /查看根目录,也可运用此命令查看指定目录,echo "hello hadoop world " > test.txt上传本地文件,cat命令查看指定文件内容,hdfs dfs -put test.txt /ied 上传文件到HDFS的指定目录,hdfs dfs -cat /ied/test.txt查看指定文件内容
JAVA中API操作HDFS:先了解javaAPI中HDFS常见的接口或者是类-【例如:org.apache.hadoop.fs.FileSystem 】,再了解FileSystem的常用方法,例如API文档,FileSystem对象的一些方法可以对文件进行操作。
实践操作内,JAVA程序内创建Maven项目,添加相关依赖【hadoop和junt依赖】,创建日志属性文件,启动集群HDFS服务,1、在HDFS上创建文件,并编写create1()方法,编写create2()方法,并事先判断文件是否存在,查看结果,若有异常,请查看具体链接。2、写入HDFS文件,先创建WriteFileOnHDFS类,将数据写入HDFS文件,创建Write1()方法,写入数据,将本地文件写入HDFS 文件,在项目根目录创建一个文本文件test.txt,创建write2()方法,运用shell命令:hdfs dfs -cat /ied01/exam.txt 查看文件。3、读取HDFS文件==shell中hdfs dfs -cat 和 hdfs dfs -get ,创建ReadFileOnHDFS类,编写read1()方法。4、读取HDFS文件,保存为本地文件,创建download目录,创建read2()方法,运行方法。5、重命名目录或者文件==shell中hdfs dfs -mv命令,创建RenameDirOrFile类,5、1重命名目录,编写renameDir()方法,5、2重命名文件,编写renameFile()方法,显示文件列表,创建ListHDFSFiles类,5、3显示指定目录下文件全部信息,编写list1()方法,5、4显示指定目录下文件路径和长度信息,编写list2()方法。6、获取文件块信息,创建GetBlockLocations类,用getFileBlockLications()方法来获取物理切块信息。7、创建目录,创建MakeDirOnHDFS类。8、判断目录或者文件是否存在,创建DirFileExistsOrNot类,编写dirExists()方法,编写fileExists()方法。9、判断path指向目录还是文件,创建PathToFileOrDir类。10、删除目录或者文件==hdfs dfs -rmdir和hdfs dfs -rm -r命令,创建DeleterFileOrDir类,编写deleteFile()方法,10、1删除目录,编写deleteDir()方法,10、2删除目录或者文件,编写delete()方法。
初探MapReduce核心思想,“分而自治”,分为两个阶段,Map阶段和Reduce阶段。