【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 的缩写,存放源代码文件。
相关推荐
狮歌~资深攻城狮2 小时前
HBase性能优化秘籍:让数据处理飞起来
大数据·hbase
m0_748235953 小时前
Python大数据可视化:基于Python的王者荣耀战队的数据分析系统设计与实现_flask+hadoop+spider
hadoop·python·flask
Elastic 中国社区官方博客3 小时前
Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
lllsure3 小时前
Linux 实用指令
linux·物联网
努力的小T4 小时前
使用 Docker 部署 Apache Spark 集群教程
linux·运维·服务器·docker·容器·spark·云计算
workflower4 小时前
Prompt Engineering的重要性
大数据·人工智能·设计模式·prompt·软件工程·需求分析·ai编程
Nerd Nirvana4 小时前
OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
linux·ssl·shell·认证·加密·tls·oepnssl
letisgo55 小时前
记录一次部署PC端网址全过程
linux·阿里云·服务器运维
猫猫的小茶馆5 小时前
【网络编程】UDP协议
linux·服务器·网络·网络协议·ubuntu·udp
尚墨11115 小时前
linux 安装启动zookeeper全过程及遇到的坑
linux·zookeeper