Linux与Hadoop操作实验

1.实验目的
• 为后续上机实验做准备,熟悉常用的Linux操作和Hadoop操作。
2.实验平台
操作系统:Linux
Hadoop版本:2.7.1
3.实验内容和要求
(一)熟悉常用的Linux操作
请按要求上机实践如下linux基本命令。
cd命令:切换目录
(1) 切换到目录 /usr/local

(2) 去到目前的上层目录

(3) 回到自己的主文件夹

ls命令:查看文件与目录

(4) 查看目录/usr下所有的文件

mkdir命令:新建新目录
(5) 进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在

(6) 创建目录a1/a2/a3/a4

rmdir命令:删除空的目录
(7) 将上例创建的目录a(/tmp下面)删除

(8) 删除目录a1/a2/a3/a4,查看有多少目录存在

cp命令:复制文件或目录
(9) 将主文件夹下的.bashrc复制到/usr下,命名为bashrc1

(10) 在/tmp下新建目录test,再复制这个目录内容到/usr

mv命令:移动文件与目录,或更名
(11) 将上例文件bashrc1移动到目录/usr/test

(12) 将上例test目录重命名为test2

rm命令:移除文件或目录
(13) 将上例复制的bashrc1文件删除

(14) 将上例的test2目录删除

cat命令:查看文件内容
(15) 查看主文件夹下的.bashrc文件内容

tac命令:反向列示
(16) 反向查看主文件夹下.bashrc文件内容

more命令:一页一页翻动查看
(17)翻页查看主文件夹下.bashrc文件内容
head命令:取出前面几行

(17) 查看主文件夹下.bashrc文件内容前20行

(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行

tail命令:取出后面几行
(20)查看主文件夹下.bashrc文件内容最后20行

(21)查看主文件夹下.bashrc文件内容,只列出50行以后的数据

chown命令:修改文件所有者权限
(22)将hello文件所有者改为root帐号,并查看属性


Vim/gedit/文本编辑器:新建文件
(23)在主文件夹下创建文本文件my.txt,输入文本保存退出。


tar命令:压缩命令
(24)将my.txt打包成test.tar.gz

(25)解压缩到~/tmp目录

(二)熟悉使用MySQL shell操作
(26)显示库:show databases;

(27)进入到库:use 库名;

(28)展示库里表格:show tables;

(29)显示某一个表格属性:desc 表格名;

(30)显示某一个表格内的具体内容:select *form 表格名;

(31)创建一个数据库:create databases sc;

(32)在sc中创建一个表格:create table if not exists student( );

(33)向表格student中插入具体内容:insert into 表格名(名)values(value);

插入记录包含自己的学号姓名。
显示表的内容。

三.hadoop

1.hadoop是什么

是什么呢?就是一个棕黄色玩具大象的名字。这是真的!hadoop的作者Doug Cutting说的,这是他儿子的玩具的名字。(是不是太随意了,想想国人取名字的场景。。。)我们回到正轨,hadoop是世界上最大的富豪Apache捐助的分布式系统基础架构。该框架由java语言设计实现,用以实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储。

不知道大家有没有听说Nutch这个框架。如果有人使用java做爬虫就应该知道!该框架的作者就是Doug Cutting。hadoop也起源于Nutch并且借鉴了Google于2003年发表的GFS和MapReduce相关论文。有兴趣的可以翻出去看一下。

1.1 hadoop简介

我们先看一下hadoop1.x的生态系统:

这里写图片描述

我们对上面各个模块做一些简要说明:

  • Ambari:基于web的Hadoop集群安装,部署,管理,监控工具。
  • HDFS:分布式文件系统,提供数据容错和对数据的高吞吐率访问。
  • MapReduce:分布式,并行编程模型。将任务分为map和reduce两个阶段,从而实现每个阶段对数据的并行处理。
  • ZooKeeper:高性能的分布式应用程序协调服务,是google的chubby的一个开源实现。
  • HBase:基于HDFS的面向列存储的分布式数据库,用于快速读写大量数据。
  • Hive:以类SQL语言提供实时大规模数据实时查询的数据仓库。
  • Pig:提供高级数据流语言和计算框架来代替mapreduce任务的编写。
  • Mahout:可扩展的基于mapreduce的机器学习和数据挖掘库。
  • Flume:高可用,高可靠,分布式的海量日志采集、聚合和传输的系统。提供对数据进行简单处理,并写到各种数据接收方的能力。
  • Sqoop:用于在关系数据库,数据仓库和Hadoop文件系统之间转移数据的工具。

我们再来看一下hadoop2.x系统架构:

这里写图片描述

3.2文件系统对比
1.windows

2.linux

3.hdfs

4.web

启动hdfs

查看与创建hadoop用户目录。

在用户目录下创建与查看input目录。

image-20211015090557961

将hadoop的配置文件上传到hdfs上的input目录下。

运行MapReduce示例作业,输出结果放在output目录下。

查看output目录下的文件。


查看输出结果

将输出结果文件下载到本地。

查看下载的本地文件。

停止hdfs

posted @ 2021-09-24 09:13  lnln123  阅读(551)  评论(0编辑  收藏  举报