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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM