实验1:熟悉常用的Linux操作和Hadoop操作
注:完整实验报告word文件在末尾
—————————————————————————————————
"大数据技术原理与应用"课程实验报告
题目:实验1:熟悉常用的Linux操作和Hadoop操作 姓名:朱小凡 日期:2022/3/11
1、实验环境:
设备名称 LAPTOP-9KJS8HO6
处理器 Intel® Core™ i5-10300H CPU @ 2.50GHz 2.50 GHz
机带 RAM 16.0 GB (15.8 GB 可用)
主机操作系统 Windows 10 家庭中文版
虚拟机操作系统 ubuntukylin-16.04
系统类型 64 位操作系统, 基于 x64 的处理器
笔和触控 没有可用于此显示器的笔或触控输入
2、实验内容与完成情况:
- 安装Linux虚拟机
<!-- -->
- 安装Virtual Box成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cuee3hmw-1650861216925)(media/image1.png)]{width="5.791666666666667in" height="3.075in"}](https://i-blog.csdnimg.cn/blog_migrate/1772011b0428434c45450f1d9d656715.png)
- 安装ubuntukylin-16.04成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0Eo7MLJ-1650861216927)(media/image2.png)]{width="6.0in" height="3.21875in"}](https://i-blog.csdnimg.cn/blog_migrate/23c8ea1cb096c7baaa2d9346cc2284dc.png)
-
熟悉常用Linux命令
- cd命令:切换目录
(1)切换到目录/usr/local
cd /usr/local
(2)切换到当前目录的上一级目录
cd …
- 切换到当前登录Linux系统的用户的自己的主文件夹
cd ~
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IyNQuRwa-1650861216927)(media/image3.png)]{width="6.0in" height="0.7548611111111111in"}](https://i-blog.csdnimg.cn/blog_migrate/3bce77e034486cd75744a5e391b8d4db.png)
- ls命令:查看文件和目录
<!-- -->
- 查看目录/usr下的所有文件和目录
cd /usr
ls
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GYCr6Syd-1650861216928)(media/image4.png)]{width="6.0in" height="0.9631944444444445in"}](https://i-blog.csdnimg.cn/blog_migrate/68ef744c93129d0b2a5126ab88b4dd43.png)
- mkdir命令:新建目录
<!-- -->
- 进入/tmp目录,创建一个名为a的目录,并查看/tmp目录下已经存在哪些目录
cd /tmp
mkdir a
ls --al
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-edwoO9Lu-1650861216928)(media/image5.png)]{width="6.0in" height="3.475in"}](https://i-blog.csdnimg.cn/blog_migrate/fe291ea7f9d238f00e5bf28b5ca09c29.png)
- 进入/tmp目录,创建目录a1/a2/a3/a4
cd /tmp
mkdir --p a1/a2/a3/a4
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GGzn01IC-1650861216928)(media/image6.png)]{width="6.0in" height="0.85625in"}](https://i-blog.csdnimg.cn/blog_migrate/16d478a880da213f1f61c8cd6655e96a.png)
- rmdir命令:删除空的目录
<!-- -->
- 将上面创建的目录a(在"/tmp"目录下面)删除。
cd /tmp
rmdir a
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6UyKmREA-1650861216929)(media/image7.png)]{width="6.0in" height="0.5895833333333333in"}](https://i-blog.csdnimg.cn/blog_migrate/8b7e699d592997bf15dc2626ebe3e019.png)
- 删除上面创建的目录a1/a2/a3/a4,然后查看/tmp目录下面存在哪些目录。
cd /tmp
rmdir --p a1/a2/a3/a4
ls -al
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aAwZ4tnF-1650861216929)(media/image8.png)]{width="6.0in" height="4.323611111111111in"}](https://i-blog.csdnimg.cn/blog_migrate/8d7f605693cd754dd9dc3ea42fd5652b.png)
- cp命令:复制文件或目录
<!-- -->
- 将当前用户的主文件夹下的文件.bashrc复制到目录/usr下,并重命名为bashrc1
sudo cp ~/.bashrc /usr/bashrc1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZEdA1RZW-1650861216930)(media/image9.png)]{width="6.0in" height="0.8770833333333333in"}](https://i-blog.csdnimg.cn/blog_migrate/d00be4a03fa99d7a3d2566ff23466dcb.png)
- 在目录/tmp下新建目录test,再把这个目录复制到/usr目录下
cd /tmp
mkdir test
sudo cp --r /tmp/test /usr
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22YFPT1e-1650861216930)(media/image10.png)]{width="6.0in" height="0.7256944444444444in"}](https://i-blog.csdnimg.cn/blog_migrate/5311f0ec106f73cae6e3423ddcc2a74b.png)
- mv命令:移动文件和目录,或重命名
<!-- -->
- 将/usr目录下的文件bashrc1移动到/usr/tesl目录下
sudo mv /usr/bashrc1 /usr/test
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvSCXfHo-1650861216931)(media/image11.png)]{width="4.525392607174103in"
height="0.4750415573053368in"}](https://i-blog.csdnimg.cn/blog_migrate/f64b4448cb684cd1c8011126c8a2dad2.png)
- 将/usr目录下的test目录重命名为test2
sudo mv /usr/test /usr/test2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cOFhRqqB-1650861216931)(media/image12.png)]{width="4.075353237095363in"
height="0.38336614173228345in"}](https://i-blog.csdnimg.cn/blog_migrate/240a3dd4b180f70ab2980f947258b5bc.png)
- rm命令:移除文件或目录
<!-- -->
- 将/usr/test2目录下的bashrc1文件删除
sudo rm /usr/test2/bashrc1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mHeM300F-1650861216931)(media/image13.png)]{width="3.942007874015748in"
height="0.5250459317585302in"}](https://i-blog.csdnimg.cn/blog_migrate/9cc96383d9547fbfb15da343e1ee3dbd.png)
- 将/usr目录下的test2目录删除
sudo rm --R /usr/test2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIYOzkCn-1650861216932)(media/image14.png)]{width="3.758659230096238in"
height="0.32502843394575676in"}](https://i-blog.csdnimg.cn/blog_migrate/1aeaf82b0c458786862a7cd9d5f44bdc.png)
- cat命令:查看文件内容
查看当前用户主文件夹下的.bashrc文件内容
cat ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfIHVQTL-1650861216932)(media/image15.png)]{width="5.768055555555556in"
height="6.804168853893263in"}](https://i-blog.csdnimg.cn/blog_migrate/cd154f2349e91ae3e2b106c75d2baccb.png)
- tac命令:反向查看文件内容
反向查看当前用户主文件夹下的.bashrc文件内容
tac ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYutOAuk-1650861216932)(media/image16.png)]{width="5.768055555555556in"
height="6.776129702537183in"}](https://i-blog.csdnimg.cn/blog_migrate/3b989cddb2387b47f27980983bd9c6b7.png)
- more命令:一页一页翻动查看
翻页查看当前用户主文件夹下的.bashrc文件的内容
more ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVNkCnBA-1650861216933)(media/image17.png)]{width="5.768055555555556in" height="6.50375in"}](https://i-blog.csdnimg.cn/blog_migrate/290e7ac254d445fec3baf83340e085cd.png)
- head命令:取出前面几行
<!-- -->
- 查看当前用户主文件夹下.bashrc文件的内容的前20行
head --n 20 ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-unFlBNru-1650861216933)(media/image18.png)]{width="5.768055555555556in"
height="3.1604658792650917in"}](https://i-blog.csdnimg.cn/blog_migrate/e0eeeb9006951157815cb50b24397710.png)
- 查看当前用户主文件夹下.bashrc文件的内容,后面50行不显示,只显示前面几行
head -n -50 ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SM0txiNC-1650861216933)(media/image19.png)]{width="5.765929571303587in"
height="5.408333333333333in"}](https://i-blog.csdnimg.cn/blog_migrate/c50c9f22560db3ad91de8b5189558c3a.png)
- tail命令:取出后面几行
<!-- -->
- 查看当前用户主文件夹下.bashrc文件内容的最后20行
tail -n 20 ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w2WVsHIm-1650861216933)(media/image20.png)]{width="5.768055555555556in"
height="2.7959044181977255in"}](https://i-blog.csdnimg.cn/blog_migrate/3fc2ee00e8fe5cfe00b6b6841156e7ee.png)
- 查看当前用户主文件夹下.bashrc文件的内容,并且只列出50行以后的数据
tail -n +50 ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-07s3aStk-1650861216934)(media/image21.png)]{width="5.765978783902012in"
height="4.866666666666666in"}](https://i-blog.csdnimg.cn/blog_migrate/f0996e9d5a10ff1bc36670c289fd803b.png)
- touch命令:修改文件时间或创建新文件
<!-- -->
- 在/tmp目录下创建一个空文件hello,并查看文件时间
cd /tmp
touch hello
ls -l hello
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hfrax6w-1650861216934)(media/image22.png)]{width="5.768055555555556in"
height="0.9753619860017498in"}](https://i-blog.csdnimg.cn/blog_migrate/561eb1f653ff0b8eb1afb3e0e70299c9.png)
- 修改hello文件,将文件时间调整为5天前
touch -d “5 days ago” hello
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9scgw0Vf-1650861216935)(media/image23.png)]{width="3.9503423009623795in"
height="0.7583989501312336in"}](https://i-blog.csdnimg.cn/blog_migrate/01fdcde9604353ab9f2ce0f0d8d30497.png)
- chown命令:修改文件所有者权限
将hello文件所有者改为root账号,并查看属性
sudo chown root /tmp/hello
ls -l /tmp/hello
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCSlyJZK-1650861216935)(media/image24.png)]{width="4.533725940507437in"
height="0.7834011373578302in"}](https://i-blog.csdnimg.cn/blog_migrate/3b93b9edfb2dfcda1048d2c771231cd8.png)
- find命令:文件查找
找出主文件夹下文件名为.bashrc的文件
find ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J6Pu5HYD-1650861216935)(media/image25.png)]{width="3.400294181977253in"
height="0.5583814523184601in"}](https://i-blog.csdnimg.cn/blog_migrate/a31e8d37bec97dfabb4b0f685de9749a.png)
- tar命令:压缩命令
<!-- -->
- 在根目录"/“下新建文件夹test,然后在根目录”/"下打包成test.tar.gz
sudo mkdir /test
sudo tar -zcv -f /test.tar.gz test
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-61BGthCG-1650861216935)(media/image26.png)]{width="4.458719378827647in"
height="0.4833748906386702in"}](https://i-blog.csdnimg.cn/blog_migrate/064e3bbdeb412c1cb4a111a7461900ae.png)
- 把上面的test.tar.gz压缩包,解压缩到/tmp目录
sudo tar -zxv -f /test.tar.gz -C /tmp
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cmr02pjr-1650861216936)(media/image27.png)]{width="4.6670713035870515in"
height="0.49170931758530184in"}](https://i-blog.csdnimg.cn/blog_migrate/3177dce77ab54bae52c594ac008de745.png)
- grep命令:查找字符串
从~/.bashrc文件中查找字符串"examples"
grep examples ~/.bashrc
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bt1CmZri-1650861216936)(media/image28.png)]{width="5.768055555555556in"
height="0.7723611111111112in"}](https://i-blog.csdnimg.cn/blog_migrate/7157014ee747e6617bc9f0418ed27b81.png)
- 配置环境变量
(1)命令:
sudo vim ~/.bashrc
文件的末尾追加下面内容:
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 ##
这里要注意目录要换成自己解压的jdk 目录export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使环境变量马上生效
source ~/.bashrc
(2)查看JAVA_HOME变量的值
echo $JAVA_HOME
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXDRak39-1650861216936)(media/image29.png)]{width="5.768055555555556in"
height="3.502892607174103in"}](https://i-blog.csdnimg.cn/blog_migrate/8775719b271eb5de793b32bf042f5505.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfRrUHM5-1650861216937)(media/image30.png)]{width="3.0752668416447944in"
height="0.5333792650918635in"}](https://i-blog.csdnimg.cn/blog_migrate/062651ba451a32036c75f1b997f9e3da.png)
- 进行Hadoop伪分布式安装
访问Hadoop官网(https://hadoop.apache.org/),下载Hadoop安装文件hadoop-3.1.3.tar.gz。在Linux虚拟机环境下完成Hadoop伪分布式环境的搭建,并运行Hadoop自带的WordCount实例检测是否运行正常。具体安装方法可以参考网络资料,也可以参考本书官网的"教材配套大数据软件安装和编程实践指南"。
答:(1)配置core-site.xml 和 hdfs-site.xml
(2)配置完成后,执行 NameNode 的格式化:
cd /usr/local/hadoop
./bin/hdfs namenode --format
(3)接着开启 NameNode 和 DataNode 守护进程:
cd /usr/local/hadoop
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
(4)启动完成后,可以通过命令 jps 来判断是否成功启动.
(5)运行Hadoop自带的WordCount实例
例如:统计/usr/local/hadoop/目录下的LICENSE.txt文件中各个单词出现的次数
命令:./bin/hadoop jar
./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount
input output
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1ZgBCcP-1650861216937)(media/image31.png)]{width="5.765672572178477in" height="1.475in"}](https://i-blog.csdnimg.cn/blog_migrate/b3a2c4f92c2c1e2aea475116a32c5842.png)
图3.1伪分布式安装成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YwppFV4-1650861216937)(media/image32.png)]{width="5.765024059492563in"
height="2.691666666666667in"}](https://i-blog.csdnimg.cn/blog_migrate/e94525524341d69f0a34bfe168f8b3c7.png)
图3.2 访问 Web 界面
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wsE0I6OU-1650861216938)(media/image33.png)]{width="5.768055555555556in"
height="6.780135608048994in"}](https://i-blog.csdnimg.cn/blog_migrate/742bf04977611acf5d1b1e156144d6f5.png)
图3.3 Hadoop自带实例WordCount统计结果(部分)
- 熟悉常用的Hadoop操作
<!-- -->
(1) 使用Hadoop用户登录Linux操作系统,启动Hadoop
(Hadoop的安装目录为"/usr/local/hadoop"),为Hadoop用户在HDFS中创建用户目录"/user/hadoop"。
答:./bin/hdfs dfs -mkdir -p /user/hadoop
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V4lRii5M-1650861216938)(media/image34.png)]{width="5.583816710411199in"
height="0.9250798337707786in"}](https://i-blog.csdnimg.cn/blog_migrate/379b1aa34e1908b014f1ac784073c0c4.png)
(2) 接着在HDFS的目录"user/hadoop"下,创建test文件夹,并查看文件列表。
答:./bin/hdfs dfs -mkdir test
./bin/hdfs dfs -ls
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3SmITJ3e-1650861216938)(media/image35.png)]{width="5.768055555555556in"
height="0.9206080489938757in"}](https://i-blog.csdnimg.cn/blog_migrate/db9abef2667ce98d34cd0467b17a4e01.png)
(3) 将Linux操作系统本地的"~/.bashrc"文件上传到HDFS的test文件夹中,并查看test。
答:./bin/hdfs dfs -put ~/.bashrc test
./bin/hdfs dfs -ls test
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6zaKxPrY-1650861216939)(media/image36.png)]{width="5.768055555555556in"
height="1.0047364391951006in"}](https://i-blog.csdnimg.cn/blog_migrate/8258392884252b6720cd470de3a9df42.png)
(4) 将HDFS
test文件夹复制到Linux操作系统本地文件系统的"/usr/local/hadoop"目录下。
答:./bin/hdfs dfs -get test ./
ls
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1gGjNH21-1650861216939)(media/image37.png)]{width="5.768055555555556in"
height="1.0087423447069117in"}](https://i-blog.csdnimg.cn/blog_migrate/49076da12ca2e78e0fca34c3aa592213.png)
**
**
3、出现的问题:
- 最开始出现安装界面分辨率太小导致安装程序显示不完整
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJDc4aKz-1650861216939)(media/image38.png)]{width="5.666666666666667in"
height="2.8041666666666667in"}](https://i-blog.csdnimg.cn/blog_migrate/447ff94cd5c548c4890dcf7f86d8d186.png)
- Ubuntu安装完成后不能上网
3、开启 NameNode 和 DataNode 守护进程时提示ERROR: JAVA_HOME is not set
and could not be found.
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXbXhQVD-1650861216939)(media/image39.png)]{width="5.768055555555556in"
height="1.36457239720035in"}](https://i-blog.csdnimg.cn/blog_migrate/5f0a32ca37a9a00971c125c95fa892db.png)
4、解决方案:
-
解决方法:先用WIN+鼠标挪动安装程序界面,找到安装按钮,完成安装后,点击VirtualBox菜单栏中的设备---->安装增强功能,然后重启虚拟机,在系统设置中可以选择调整分辨率。
-
解决方法:关闭虚拟机后,选择VirtualBox菜单栏中的设备—>网络,由于我的电脑内置有多个网卡,所以需要查看当前主机的网络连接,选择正确的网卡名称,比如有线网卡Realtek
PCIe GbE Family Controller和无线网卡MediaTek Wi-Fi 6 MT7921 Wireless
LAN Card。如图所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFCkKTaS-1650861216940)(media/image40.png)]{width="5.516666666666667in"
height="3.908333333333333in"}](https://i-blog.csdnimg.cn/blog_migrate/592f07875a6b50c4f595d7795107793c.png)
3、到hadoop的安装目录修改配置文件"/usr/local/hadoop/etc/hadoop/hadoop-env.sh",在里面找到"export
JAVA_HOME=${JAVA_HOME}"这行,然后,把它修改成JAVA安装路径的具体地址,比如,“export
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162”,然后,再次启动Hadoop。
完整实验报告下载地址:
更多推荐



所有评论(0)