Hadoop集群环境搭建——文件上传

时间:2024-03-19 11:45:14

实验内容
Hadoop由Apache基金会开发的分布式系统基础架构,是利用集群对大量数据进行分布式处理和存储的软件框架。用户可以轻松地在Hadoop集群上开发和运行处理海量数据的应用程序。Hadoop有高可靠,高扩展,高效性,高容错等优点。Hadoop 框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。此外,Hadoop还包括了Hive,Hbase,ZooKeeper,Pig,Avro,Sqoop,Flume,Mahout等项目。(摘自章鱼大数据)
Hadoop的运行模式分为3种:本地运行模式,伪分布运行模式,完全分布运行模式。
(1)本地模式(local
mode)
这种运行模式在一台单机上运行,没有HDFS分布式文件系统,而是直接读写本地操作系统中的文件系统。在本地运行模式(local mode)中不存在守护进程,所有进程都运行在一个JVM上。单机模式适用于开发阶段运行MapReduce程序,这也是最少使用的一个模式。
(2)伪分布模式
这种运行模式是在单台服务器上模拟Hadoop的完全分布模式,单机上的分布式并不是真正的分布式,而是使用线程模拟的分布式。在这个模式中,所有守护进程(NameNode,DataNode,ResourceManager,NodeManager,SecondaryNameNode)都在同一台机器上运行。因为伪分布运行模式的Hadoop集群只有一个节点,所以HDFS中的块复制将限制为单个副本,其secondary-master和slave也都将运行于本地主机。此种模式除了并非真正意义的分布式之外,其程序执行逻辑完全类似于完全分布式,因此,常用于开发人员测试程序的执行。本次实验就是在一台服务器上进行伪分布运行模式的搭建。
(3)完全分布模式
这种模式通常被用于生产环境,使用N台主机组成一个Hadoop集群,Hadoop守护进程运行在每台主机之上。这里会存在Namenode运行的主机,Datanode运行的主机,以及SecondaryNameNode运行的主机。在完全分布式环境下,主节点和从节点会分开
内容:
Linux系统的服务器上,安装Hadoop2.7.7伪分布模式。
具体步骤见附件。
要求:
1.给出localhost:18088和localhost:50070的网页截图。
2.给出pi结果的截图。
3.尝试使用put命令提交本地文件,通过cat命令查看该文件,给出查看文件截图。
实验结果

1.给出localhost:18088和localhost:50070的网页截图。

(1)通过查询出本地ip查询
Hadoop集群环境搭建——文件上传
127.0.0.1:18088:
Hadoop集群环境搭建——文件上传
127.0.0.1:50070:
Hadoop集群环境搭建——文件上传

(2)直接打开
localhost:18088:
Hadoop集群环境搭建——文件上传
localhost:50070:
Hadoop集群环境搭建——文件上传
2.给出pi结果的截图

(1)hadoop jar ~/bigdata/hadoop2.7.7/share/hadoop
/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 2 3
Hadoop集群环境搭建——文件上传(2)hadoop jar ~/bigdata/Hadoop-2.7.7/share/hadoop/
mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 10 10
Hadoop集群环境搭建——文件上传Hadoop集群环境搭建——文件上传
3.尝试使用put命令提交本地文件,通过cat命令查看该文件,给出查看文件截图。

(1)在hdfs下创建文件夹input,用来接收上传的文件
Hadoop集群环境搭建——文件上传
(2)查看是否创建成功
Hadoop集群环境搭建——文件上传
(3)将Linux本地/annData目录下的ann.txt文件,上传到HDFS中的/input目录下
Hadoop集群环境搭建——文件上传
(4)查看hdfs下是否存在ann.txt文件
Hadoop集群环境搭建——文件上传
(5)通过cat命令查看该文件内容
Hadoop集群环境搭建——文件上传
实验结论

(1)这次试验遇到很多问题,如在VMware上安装centos7时,过程中有nat模式和桥接模式,这两种模式的运行特点是,前者是主机与虚拟机各自向网页运行,而后者是虚拟机需要通过主机来执行,这就添加一个配置IP的难度。

(2)安装好centos7后,一个重要任务是复制伪分布模式的包到虚拟机上,直接拖拽大的文件不行,需要下载VMWare tools工具,安装过程又遇到kernel
header找不到路径问题,期间对于这个头文件进行过安装更新等许多操作,最终才把该工具下载好。

(3)下载好VMWare tools,复制时又是几个小时后没成功,终于找到通过ftp方式,把需要的包上传到指定文件夹中,ftp的创建、连接、连接超时以及最后的用户之间的复制等问题都被解决,才成功上传文件成功。‘

(4)打开网页时,用https打不开,后来改为http才成功打开50070和18088端口。

(5)执行pi时,一直出现不断循环的问题,后来通过把内存从2G改为4G以及在yarn-site.xml文件加一段8032端口才把圆周率算出来。

(6)上传文件时,开始不明白何为把本地文件,即是Linux还是Windows本地,而上传到何处,后面通过老师解惑和网上查询,才真正明白Hadoop伪分布模式,即配置一个Hadoop把Linux本地的文件上传到hdfs,也明白50070端口和18088端口为何用,何为主机名和Hadoop用户以及在Hadoop用户下的一些操作如何有什么用等。

(7)通过这次实验再次复习了Linux采用的一些操作命令,熟练掌握有助于更快更高效完成实验;还新学会一种Linux与主机之间的文件上传操作,也增加一种解决问题的能力。这次实验最大的体会是要实现目的,方法有多种,一条路行不通就要寻找另外一条路,方法总会有的。