【Linux】【Hadoop】大数据基础实验一

实验一:熟悉常用的Linux操作和Hadoop操作

一、实验目的

Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。

二、实验平台

  1. 操作系统:Linux(建议Ubuntu16.04);
  2. Hadoop版本:2.7.1。

三、实验步骤

3.1 熟悉常用的Linux操作

  • cd命令:切换目录

(1)切换到目录"/usr/local"

(2)切换到当前目录的上一级目录

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

  • ls命令:查看文件与目录

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

  • mkdir命令:新建目录

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

(6)进入"/tmp"目录,创建目录"a1/a2/a3/a4"

  • rmdir命令:删除空的目录

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

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

  • cp命令:复制文件或目录

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

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

  • mv命令:移动文件与目录,或更名

(11)将"/usr"目录下的文件bashrc1移动到"/usr/test"目录下

(12)将"/usr"目录下的test目录重命名为test2

  • rm命令:移除文件或目录

(13)将"/usr/test2"目录下的bashrc1文件删除

(14)将"/usr"目录下的test2目录删除

  • cat命令:查看文件内容

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

  • tac命令:反向查看文件内容

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

  • more命令:一页一页翻动查看

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

  • head命令:取出前面几行

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

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

  • tail命令:取出后面几行

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

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

  • touch命令:修改文件时间或创建新文件

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

(23)修改hello文件,将文件时间整为5天前

  • chown命令:修改文件所有者权限

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

  • find命令:文件查找

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

  • tar命令:压缩命令

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

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

  • grep命令:查找字符串

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

  • 配置环境变量

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

(30)查看JAVA_HOME变量的值

3.2 熟悉常用的Hadoop操作

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

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

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

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

四、 实验报告

4.1 实验环境

4.1.1硬件环境

  • 处理器:Intel(R) Core(TM) i5-11320H @ 3.20GHz
  • 内存:16GB DDR4
  • 硬盘:512GB SSD
  • 网络:1Gbps 以太网连接

4.1.2软件环境

  • 操作系统:Ubuntu 16.04 LTS 64位
  • Linux 内核版本:4.15.0-20-generic
  • Hadoop 版本:2.7.1
  • Java 版本:Java SE 1.8.0_131 (由Oracle提供)
  • 虚拟化软件:Oracle VM VirtualBox 6.0.8

4.2 实验内容与完成情况

4.2.1熟悉常用的Linux操作:

cd命令:切换目录

(1)切换到目录"/usr/local"

bash 复制代码
cd /usr/local

【说明】:cd 是"change directory"(改变目录)的缩写,用于更改当前的工作目录。 /usr/local 是你要切换到的目标目录的绝对路径。

(2)切换到当前目录的上一级目录

bash 复制代码
cd ..

【说明】: .. 是一个特殊的目录名,表示当前目录的父目录。cd .. 这个命令由两部分组成,中间有一个空格,用于分隔命令 (cd) 和其参数 (..)。

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

bash 复制代码
cd ~

【说明】:~ 是一个符号,代表当前用户登录时的默认目录。

ls命令:查看文件与目录

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

bash 复制代码
ls /usr

【说明】:ls: 列出当前目录下的文件和子目录。

mkdir命令:新建目录

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

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

【说明】:-l:是一个选项,用于以长格式列出文件和目录的详细信息,包括权限、链接数、所有者、组、大小、最后修改时间和文件名。/tmp:指定了要列出内容的目录路径。

(6)进入"/tmp"目录,创建目录"a1/a2/a3/a4"

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

【说明】: 可以使用 mkdir -p 命令来一次性创建多级目录。-p 选项表示 "parents",即创建所有必要的中间目录。

rmdir命令:删除空的目录

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

bash 复制代码
cd /tmp
bash 复制代码
rmdir a
bash 复制代码
ls /tmp

【说明】:可以使用 rmdir 命令来删除空目录。如果目录不为空,则无法删除。要先确保目录 a 是空的,然后使用命令。

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

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

【说明】:这个命令将会删除 a4 目录,如果 a3 目录在删除 a4 后也变成空的,那么 a3 也会被删除,依此类推。如果在这个过程中遇到任何一个非空目录,命令将会停止,并返回错误。 如果你想要删除一个可能包含文件或其他目录的目录树,你应该使用 rm -r 命令,而不是 rmdir

cp命令:复制文件或目录

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

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

【说明】: 使用 cp 命令来复制文件并重命名。请注意,这可能需要管理员权限,因为 /usr 目录通常需要特殊权限才能写入。如果是普通用户,你可能需要在命令前加上 sudo 来执行。注意:在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码。

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

写法一:

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

写法二:

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

【说明】: -r--recursive:这个选项告诉 cp 命令递归地复制整个目录的内容,包括所有子目录和文件。

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

(11)将"/usr"目录下的文件bashrc1移动到"/usr/test"目录下

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

(12)将"/usr"目录下的test目录重命名为test2

bash 复制代码
mv /usr/test /usr/test2
rm命令:移除文件或目录

(13)将"/usr/test2"目录下的bashrc1文件删除

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

(14)将"/usr"目录下的test2目录删除

bash 复制代码
rm -r /usr/test2
cat命令:查看文件内容

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

bash 复制代码
cat ~/.bashrc
tac命令:反向查看文件内容

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

bash 复制代码
tac ~/.bashrc
more命令:一页一页翻动查看

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

bash 复制代码
more ~/.bashrc
head命令:取出前面几行

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

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

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

bash 复制代码
head -n -50 ~/.bashrc
tail命令:取出后面几行

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

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

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

bash 复制代码
tail -n +51 ~/.bashrc
touch命令:修改文件时间或创建新文件

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

bash 复制代码
touch /tmp/hello

(23)修改hello文件,将文件时间整为5天前

bash 复制代码
touch -t 202309100000.00 /tmp/hello
chown命令:修改文件所有者权限

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

bash 复制代码
chown root:root /tmp/hello
bash 复制代码
ls -l /tmp/hello
find命令:文件查找

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

bash 复制代码
find ~ -name .bashrc
tar命令:压缩命令

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

bash 复制代码
mkdir /test && tar -czvf /test.tar.gz /test

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

bash 复制代码
tar -xzvf /test.tar.gz -C /tmp
grep命令:查找字符串

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

bash 复制代码
grep 'examples' ~/.bashrc
配置环境变量

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

bash 复制代码
nano ~/.bashrc
bash 复制代码
echo 'export JAVA_HOME=/path/to/java' >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
source ~/.bashrc
echo $JAVA_HOME

(30)查看JAVA_HOME变量的值

bash 复制代码
echo $JAVA_HOME

4.2.2 熟悉常用的Hadoop操作

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

bash 复制代码
start-dfs.sh
bash 复制代码
start-yarn.sh
bash 复制代码
hdfs dfs -mkdir /user/hadoop

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

bash 复制代码
hdfs dfs -mkdir /user/hadoop/test
bash 复制代码
hdfs dfs -ls /user/hadoop

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

bash 复制代码
hdfs dfs -put ~/.bashrc /user/hadoop/test/

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

bash 复制代码
hdfs dfs -copyToLocal /user/hadoop/test/.bashrc /usr/local/hadoop/

4.3 出现的问题及解决方案

4.3.1熟悉常用的Linux操作中遇到的问题:
4.3.2熟悉常用的Hadoop操作中遇到的问题:
4.3.3未解决的问题:

一些翻译:

  1. bin games include lib local sbin share src

这些是常见的 Linux 文件系统目录名称,它们通常在 /usr/ 目录下找到,用于组织和存储不同类型的文件。下面是它们的英文翻译和简要说明:

  • bin:Binary 的缩写,存放用户常用的可执行文件。
  • games:存放游戏相关的可执行文件和数据。
  • include:通常包含头文件,用于软件开发。
  • lib:Library 的缩写,存放库文件,这些文件被系统或应用程序用于功能扩展。
  • local:用于存放本地安装的程序和文件。
  • sbin:System Binary 的缩写,存放系统管理员使用的可执行文件。
  • share:存放多个用户或多个程序之间共享的数据。
  • src:Source 的缩写,存放源代码文件。
相关推荐
Dreams°1231 小时前
大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
大数据·单元测试·可用性测试
2739920291 小时前
Ubuntu20.04 安装build-essential问题
linux
sf_www1 小时前
Flink on YARN是如何确定TaskManager个数的
大数据·flink
武子康2 小时前
大数据-213 数据挖掘 机器学习理论 - KMeans Python 实现 距离计算函数 质心函数 聚类函数
大数据·人工智能·python·机器学习·数据挖掘·scikit-learn·kmeans
武子康2 小时前
大数据-214 数据挖掘 机器学习理论 - KMeans Python 实现 算法验证 sklearn n_clusters labels
大数据·人工智能·python·深度学习·算法·机器学习·数据挖掘
Aloudata3 小时前
NoETL自动化指标平台为数据分析提质增效,驱动业务决策
大数据·数据分析·指标平台·指标体系
wowocpp4 小时前
查看 linux ubuntu 分区 和 挂载 情况 lsblk
linux·运维·ubuntu
wowocpp4 小时前
查看 磁盘文件系统格式 linux ubuntu blkid ext4
linux·数据库·ubuntu
龙鸣丿5 小时前
Linux基础学习笔记
linux·笔记·学习
耶啵奶膘7 小时前
uniapp-是否删除
linux·前端·uni-app