【大数据基础】实验1:熟悉常用的Linux操作和Hadoop操作

【作者主页】Francek Chen

【专栏介绍】⌈ ⌈ ⌈大数据技术原理与应用 ⌋ ⌋ ⌋专栏系统介绍大数据的相关知识,分为大数据基础篇、大数据存储与管理篇、大数据处理与分析篇、大数据应用篇。内容包含大数据概述、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、MapReduce、Hadoop再探讨、数据仓库Hive、Spark、流计算、Flink、图计算、数据可视化,以及大数据在互联网领域、生物医学领域的应用和大数据的其他应用。

【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/BigData_principle_application

文章目录

    • 一、实验目的
    • 二、实验平台
    • 三、实验步骤
      • [1. 安装 Linux 虚拟机](#1. 安装 Linux 虚拟机)
      • [2. 熟悉常用的 Linux 操作](#2. 熟悉常用的 Linux 操作)
      • [3. 进行 Hadoop 伪分布式安装](#3. 进行 Hadoop 伪分布式安装)
      • [4. 熟悉常用的 Hadoop 操作](#4. 熟悉常用的 Hadoop 操作)
    • 小结

一、实验目的

(1)掌握 Linux 虚拟机的安装方法。Hadoop 在 Linux 操作系统上运行可以发挥最佳性能。鉴于目前很多读者正在使用 Windows 操作系统,因此,为了完成本书的后续实验,这里有必要通过本实验掌握在 Windows 操作系统上搭建 Linux 虚拟机的方法。

(2)掌握一些常用的 Linux 命令。本专栏中的所有实验都在 Linux 操作系统中完成,因此,需要读者熟悉一些常用的 Linux 命令。

(3)掌握 Hadoop 的伪分布式安装方法。很多读者并不具备集群环境,而 Hadoop 操作需要在一台机器上模拟一个小的集群,因此,需要通过本实验让读者掌握在单机上进行 Hadoop 的伪分布式安装方法。

(4)掌握 Hadoop 的常用操作。熟悉使用一些基本的 Shell 命令对 Hadoop 进行操作,包括创建目录、复制文件、查看文件等。

二、实验平台

(1)操作系统:Windows 操作系统或者 Ubuntu 操作系统(推荐)。

(2)虚拟机软件:推荐使用的开源虚拟机软件为 VMWare。读者可以在 Windows 操作系统上安装 VMWare 软件,然后在 VMWare 上安装并且运行 Linux 操作系统。本次实验默认的 Linux 发行版为 Ubuntu Kylin 16.04 LTS。Ubuntu Kylin 较新的版本是 22.04 LTS,但是,在实际使用过程中发现,该版本对计算机的资源消耗较多,在使用虚拟机方式安装时,系统运行起来速度较慢。因此,本教程选择较低的版本 Ubuntu Kylin 16.04 LTS,这个版本不仅降低了对计算机配置的要求,也可以保证大数据各种软件的顺利安装和运行,帮助读者很好完成本书的各个实验。

(2)Hadoop 版本:3.3.5。

三、实验步骤

1. 安装 Linux 虚拟机

如果读者正在使用 Linux 操作系统,可以跳过本步,不需要下载相关软件,也不需要安装 Linux 虚拟机;如果读者正在使用 Windows 操作系统,则需要在 Windows 操作系统上安装 Linux 虚拟机,这里就需要下载 VMWare 软件和 Ubuntu 16.04 镜像文件。

VMWare 软件的下载地址:https://www.vmware.com/cn/products/workstation-pro.html

Ubuntu 16.04 的镜像文件下载地址:https://www.ubuntu.org.cn/download/ubuntu-kylin

首先,在 Windows 系统上安装虚拟机软件 VMWare;其次,在虚拟机软件 VMWare 上安装 Ubuntu 16.04 操作系统。具体安装方法,可以参考大数据存储技术(1)------Hadoop简介及安装配置

2. 熟悉常用的 Linux 操作

(1)cd 命令:切换目录

① 切换到目录"/usr/local"

bash 复制代码
cd /usr/local

② 切换到当前目录的上一级目录

bash 复制代码
cd ..

③ 切换到当前登录 Linux 系统的用户的自己的主文件夹

bash 复制代码
cd ~

(2)ls 命令:查看文件与目录

查看目录"/usr"下的所有文件和目录

bash 复制代码
cd /usr
ls -al

(3)mkdir 命令:新建目录

① 进入"/tmp"目录,创建一个名为"a"的目录,并查看"/tmp"目录下已经存在哪些目录

bash 复制代码
cd /tmp
mkdir a
ls -al

② 进入"/tmp"目录,创建目录"a1/a2/a3/a4"

bash 复制代码
cd /tmp
mkdir -p a1/a2/a3/a4

(4)rmdir 命令:删除空的目录

① 将上面创建的目录a(在"/tmp"目录下面)删除

bash 复制代码
cd /tmp
rmdir a

② 删除上面创建的目录"a1/a2/a3/a4" (在"/tmp"目录下面),然后查看"/tmp"目录下面存在哪些目录

bash 复制代码
cd /tmp
rmdir -p a1/a2/a3/a4
ls -al

(5)cp 命令:复制文件或目录

① 将当前用户的主文件夹下的文件 .bashrc 复制到目录"/usr"下,并重命名为 bashrc1

bash 复制代码
sudo cp ~/.bashrc /usr/bashrc1

② 在目录"/tmp"下新建目录 test,再把这个目录复制到"/usr"目录下

bash 复制代码
cd /tmp
mkdir test
sudo cp -r /tmp/test /usr

(6)mv 命令:移动文件与目录,或更名

① 将"/usr"目录下的文件bashrc1移动到"/usr/test"目录下

bash 复制代码
sudo mv /usr/bashrc1 /usr/test

② 将"/usr"目录下的test目录重命名为 test2

bash 复制代码
sudo mv /usr/test /usr/test2

(7)rm 命令:移除文件或目录

① 将"/usr/test2"目录下的 bashrc1 文件删除

bash 复制代码
sudo rm /usr/test2/bashrc1

② 将"/usr"目录下的 test2 目录删除

bash 复制代码
sudo rm -r /usr/test2

(8)cat 命令:查看文件内容

查看当前用户主文件夹下的 .bashrc 文件内容

bash 复制代码
cat ~/.bashrc

(9)tac 命令:反向查看文件内容

反向查看当前用户主文件夹下的 .bashrc 文件的内容

bash 复制代码
tac ~/.bashrc

(10)more 命令:一页一页翻动查看

翻页查看当前用户主文件夹下的 .bashrc 文件的内容

bash 复制代码
more ~/.bashrc

(11)head 命令:取出前面几行

① 查看当前用户主文件夹下 .bashrc 文件内容前 20 行

bash 复制代码
head -n 20 ~/.bashrc

② 查看当前用户主文件夹下 .bashrc 文件内容,后面50行不显示,只显示前面几行

bash 复制代码
head -n -50 ~/.bashrc

(12)tail 命令:取出后面几行

① 查看当前用户主文件夹下 .bashrc 文件内容最后 20 行

bash 复制代码
tail -n 20 ~/.bashrc

② 查看当前用户主文件夹下 .bashrc 文件内容,并且只列出 50 行以后的数据

bash 复制代码
tail -n +50 ~/.bashrc

(13)touch 命令:修改文件时间或创建新文件

① 在"/tmp"目录下创建一个空文件 hello,并查看文件时间

bash 复制代码
cd /tmp
touch hello
ls -l hello

② 修改 hello 文件,将文件时间整为 5 天前

bash 复制代码
touch -d "5 days ago" hello

(14)chown 命令:修改文件所有者权限

将 hello 文件所有者改为 root 帐号,并查看属性

bash 复制代码
sudo chown root /tmp/hello
ls -l /tmp/hello

(15)find 命令:文件查找

找出主文件夹下文件名为 .bashrc 的文件

bash 复制代码
find ~ -name .bashrc

(16)tar 命令:压缩命令

① 在根目录"/"下新建文件夹test,然后在根目录"/"下打包成 test.tar.gz

bash 复制代码
sudo mkdir /test
sudo tar -zcv -f /test.tar.gz test

② 把上面的 test.tar.gz 压缩包,解压缩到"/tmp"目录

bash 复制代码
sudo tar -zxv -f /test.tar.gz -C /tmp

(17)grep 命令:查找字符串

从"~/.bashrc"文件中查找字符串'examples'

bash 复制代码
grep -n 'examples' ~/.bashrc

(18)配置环境变量

① 请在"~/.bashrc"中设置,配置 Java 环境变量

首先,使用vim编辑器打开文件"~/.bashrc",命令如下:

bash 复制代码
vim ~/.bashrc

然后,在该文件的最上面加入一行如下形式的语句:export JAVA_HOME=JDK安装路径

最后,执行如下命令使得环境变量配置生效:

bash 复制代码
source ~/.bashrc

② 查看 JAVA_HOME 变量的值

bash 复制代码
echo $JAVA_HOME

3. 进行 Hadoop 伪分布式安装

访问 Hadoop 官网,下载 Hadoop 安装文件 hadoop-3.3.5.tar.gz。在 Linux 虚拟机环境下完成 Hadoop 伪分布式环境的搭建,并运行 Hadoop 自带的 WordCount 实例检测是否运行正常。具体安装方法,可以参考大数据存储技术(1)------Hadoop简介及安装配置

4. 熟悉常用的 Hadoop 操作

(1)使用 hadoop 用户登录 Linux 系统,启动 Hadoop(Hadoop 的安装目录为"/usr/local/hadoop"),为 hadoop 用户在 HDFS 中创建用户目录"/user/hadoop"

bash 复制代码
cd /usr/local/hadoop
./sbin/start-dfs.sh
./bin/hdfs dfs -mkdir -p /user/hadoop

(2)接着在 HDFS 的目录"/user/hadoop"下,创建 test 文件夹,并查看文件列表

bash 复制代码
cd /usr/local/hadoop
./bin/hdfs dfs -mkdir test
./bin/hdfs dfs -ls .

(3)将 Linux 系统本地的"~/.bashrc"文件上传到 HDFS 的 test 文件夹中,并查看 test

bash 复制代码
cd /usr/local/hadoop
./bin/hdfs dfs -put ~/.bashrc test
./bin/hdfs dfs -ls test

(4)将 HDFS 文件夹 test 复制到 Linux 系统本地文件系统的"/usr/local/hadoop"目录下

bash 复制代码
cd /usr/local/hadoop
./bin/hdfs dfs -get test ./

小结

本实验旨在让读者掌握在 Windows 上搭建 Linux 虚拟机、常用 Linux 命令、Hadoop 伪分布式安装及常用操作。实验平台推荐 Windows 或 Ubuntu 系统、VMWare 虚拟机软件和 Hadoop 3.3.5 版本。实验步骤包括安装 Linux 虚拟机(Windows 用户需安装)、熟悉常用 Linux 命令、进行 Hadoop 伪分布式安装并运行 WordCount 实例检测,最后熟悉常用 Hadoop 操作,如在 HDFS 中创建目录、上传下载文件等。

欢迎 点赞👍 | 收藏⭐ | 评论✍ | 关注🤗

相关推荐
大模型码小白9 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
HLC++11 小时前
Linux的进程间通信
android·linux·服务器
延凡科技12 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
华清远见IT开放实验室12 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
ifenxi爱分析13 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行14 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
groundhappy15 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
数智化管理手记15 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
通信小小昕16 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
ApacheSeaTunnel16 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步