2024年最新Hadoop安装和使用详解,全网最新

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取


![在这里插入图片描述](https://img-blog.csdnimg.cn/15649573a57a46b29722e9c1617150dd.png#pic_center)


最后注销当前用户,返回登录界面,选择刚才创建的 
 
 
 
 
 h 
 
 
 a 
 
 
 d 
 
 
 o 
 
 
 o 
 
 
 p 
 
 
 
 hadoop 
 
 
 hadoop用户进行登录。


#### 更新apt


在这里,apt(Advanced Packaging Tool)是一个Ubuntu中的Shell前端软件包管理器。apt命令提供了查找、安装、省级、删除某一个/一组甚至全部软件包的命令,且命令非常简洁易记忆。


在使用 
 
 
 
 
 h 
 
 
 a 
 
 
 d 
 
 
 o 
 
 
 o 
 
 
 p 
 
 
 
 hadoop 
 
 
 hadoop用户登录后,要先更新一下apt,因为后续需要用到apt安装软件。我们可以使用下面这条代码:



$ sudo aptget update


如果出现问题,可以参考一下林子雨老师的视频进行配置。


后续我们还需要更改一些配置文件,一般有两种方法:1.使用vim。2.使用gedit。gedit用起来感觉更偏向于windows的txt,对于刚接触Linux系统的同学比较友好。一般来说,linux系统都是默认带有gedit的。gedit的一个坏处是:**如果文件更改完不及时关闭gedit程序,会导致终端被占用而无法使用终端**。如果需要使用到vim,可以输入下面的代码:



$ sudo apt-get install vim


![在这里插入图片描述](https://img-blog.csdnimg.cn/39c85c022ec141f0b67138371b5b92f7.png#pic_center)


vim的使用可以参考这篇教程:[(4条消息) Linux Vim编辑器的基本使用\_\_HsForPyp的博客-CSDN博客]( )


#### 安装SSH、配置SSH无密码登陆


集群、单节点模式都需要用到SSH登陆(类似于远程登陆),Ubuntu默认已经安装了SSH client,此外还需要安装SSH server:



$ sudo apt-get install openssh-server


安装后,可以使用如下命令登陆本机:



$ ssh localhost


如果你是首次登陆,会出现以下提示,只需要输入yes然后根据题示输入密码,即可登录到本机。


![在这里插入图片描述](https://img-blog.csdnimg.cn/e3c8addc3590468da4f60b8f4b914903.png#pic_center)


但是这样每次登陆都是需要输入密码,相对来说比较繁琐,将SSH配置成无密码登陆会比较方便。


然后我们可以退出刚才的SSH:



$ exit


在回到原先的终端窗口后,我们就可以利用SSH-keygen生成密钥,并且将密钥加入到授权中:



$ cd ~/.ssh/
$ ssh-keygen -t rsa #会有提示,一直摁回车就好
$ cat .id_rsa.pub >> ./authorized_keys #加入授权


![在这里插入图片描述](https://img-blog.csdnimg.cn/c1b35eac9c9a48708d68f0b47a7182b4.png#pic_center)


此时再使用ssh localhost命令,无需输入密码就可以直接登陆了:


![在这里插入图片描述](https://img-blog.csdnimg.cn/cca34ebe14c6432288128c2f3dc0d944.png#pic_center)


#### 安装Java环境


因为我们需要安装的是Hadoop3.1.3,其需要的JDK版本在1.8以上。我们要先在JDK官网下载JDK1.8的安装包并保存到本地,然后手动安装。


![在这里插入图片描述](https://img-blog.csdnimg.cn/fffa2a96a4304d6683dbb640d6211a59.png#pic_center)


在Linux命令行界面中,我们执行如下命令就可以实现安装包的解压缩:



$ cd /usr/lib
$ sudo mkdir jvm #该位置用于存放JDK文件
$ cd ~ #进入到hadoop用户的主目录
$ sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #解压JDK文件到jvm目录下


JDK文件解压缩后,我们可以执行如下命令去jvm目录查看一下:



$ cd /usr/lib/jvm
$ ls


![在这里插入图片描述](https://img-blog.csdnimg.cn/bff6f955a3c94d50a7a0e67af2ec0d6b.png#pic_center)


看到上图中的结果之后就说明JDK文件已经解压成功。下面继续执行如下命令,设置环境变量:



$ cd ~
$ vim ~/.bashrc


![在这里插入图片描述](https://img-blog.csdnimg.cn/776efdb30ce14485b361023f08dde1a0.png#pic_center)


在该文件中,输入上图中四条export语句。要注意JAVA\_HOME变量的位置一定要是JAVA安装路径的具体地址,否则后面会卡步骤。


保存.bashrc文件后并退出vim编辑器。然后继续执行如下命令使修改的文件立刻生效:



$ source ~/.bashrc #使文件立刻生效
$ java -version #查看是否安装成功


![在这里插入图片描述](https://img-blog.csdnimg.cn/b6d3835424224764b827c0d2c3adcc62.png#pic_center)


如果屏幕上返回上图中的信息,则说明JAVA环境安装成功。


#### Hadoop安装


这个和安装JDK一样,先去Hadoop官网下载相关压缩包即可。



$ sudo tar -zxf ~/hadoop-3.1.3.tar.gz -C /usr/local #解压代码
$ cd /usr/local/
$ sudo mv ./hadoop-3.1.3/ ./hadoop #将文件夹名改为hadoop
$ sudo chown -R hadoop ./haoop #修改文件权限


![在这里插入图片描述](https://img-blog.csdnimg.cn/46f043801b05432e9ff5158ea8b87de5.png#pic_center)


Hadoop解压之后即可使用,可以通过下面的代码检查其是否可用:



$ cd /usr/local/hadoop
$ ./bin/hadoop version


![在这里插入图片描述](https://img-blog.csdnimg.cn/21ccd70bf3724433aeb008abe4cd8599.png#pic_center)


#### Hadoop伪分布式配置


如果Hadoop在单节点上以伪分布式的方式运行,Hadoop进程以分离的JAVA进程来运行,节点既可以作为NameNode也可以作为DataNode,同时,该模式下读取的是HDFS中的文件。


伪分布式需要修改两个配置文件 
 
 
 
 
 c 
 
 
 o 
 
 
 r 
 
 
 e 
 
 
 − 
 
 
 s 
 
 
 i 
 
 
 t 
 
 
 e 
 
 
 . 
 
 
 x 
 
 
 m 
 
 
 l 
 
 
 
 core-site.xml 
 
 
 core−site.xml和 
 
 
 
 
 h 
 
 
 d 
 
 
 f 
 
 
 s 
 
 
 − 
 
 
 s 
 
 
 i 
 
 
 t 
 
 
 e 
 
 
 . 
 
 
 x 
 
 
 m 
 
 
 l 
 
 
 
 hdfs-site.xml 
 
 
 hdfs−site.xml。Hadoop的配置文件是xml形式,每个配置以声明property的name和value的方式来实现。这里的修改会比较多,建议采用gedit编辑会相对来说比较容易上手,方便初学者学习。


![在这里插入图片描述](https://img-blog.csdnimg.cn/2fe2172368524ab6a8bbda8667ff049f.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/ca9e6c2ec46d48cf8f5a6a6f442877ad.png#pic_center)


需要在两个配置文件中补充上述两张图中红色方框内的内容即可。


配置完成后,我们可以执行NameNode的格式化:



$ cd /usr/local/hadoop
$ ./bin/hdfs namenode -format


成功的话,可以看到如下界面:


![在这里插入图片描述](https://img-blog.csdnimg.cn/0f13358e3f684a55b28ebfcbad8d02b7.png#pic_center)


成功启动后,我们还可以访问Web界面http://localhost:9870查看Namenode和Datanode信息,还可以在线查看HDFS中的文件。


![在这里插入图片描述](https://img-blog.csdnimg.cn/85376fcbdc2647a69ac59e1439f774f5.png#pic_center)


如果启动中遇到问题,可以先看林子雨老师的相关课程,其中有一些问题的解答。


#### Hadoop运行实例


##### HDFS文件读写


我们本文采用的是伪分布式运行模式,可以读取HDFS上的数据。而要使用HDFS上的数据,首先要在HDFS中创建用户目录:



$ ./bin/hdfs dfs -mkdir -p /user/hadoop


![在这里插入图片描述](https://img-blog.csdnimg.cn/bbb69376add1409a862d907b705f9f06.png#pic_center)


接着我们将本地的xml文件作为输入文件复制到分布式文件系统HDFS中:



$ ./bin/hdfs dfs -mkdir input
$ ./bin/hdfs dfs -put ./etc/hadoop/*.xml input
$ ./bin/hdfs dfs -ls input #复制完成之后,我们可以通过这条命令查看文件列表


![在这里插入图片描述](https://img-blog.csdnimg.cn/e0cecc0d594a4ae48b2669e1b5160a7c.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/deefdedd91ca440c8a76d1b1cecb2e4e.png#pic_center)


伪分布式运行MapReduce作业的方式跟单机模式相同,区别在于伪分布式读取的是HDFS中的文件,我们可以通过单机步骤创建本地input文件夹,输出结果output文件夹都删掉来验证这一点:


![在这里插入图片描述](https://img-blog.csdnimg.cn/51b85f74c7dc442ab7b87f67a62a9c87.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/6d12060810c14c3bb83eb10ffd73d929.png#pic_center)


可以看到,本地文件的修改并不影响伪分布式读取的结果,伪分布式读取的文件不属于本地,而是HDFS中的文件。


我们也可以将运行结果取回本地:




![img](https://img-blog.csdnimg.cn/img_convert/150190a08ed40cccaaf729e405a51033.png)
![img](https://img-blog.csdnimg.cn/img_convert/ef6e9f82aaca80c96b981743fabc24a5.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

cn/6d12060810c14c3bb83eb10ffd73d929.png#pic_center)


可以看到,本地文件的修改并不影响伪分布式读取的结果,伪分布式读取的文件不属于本地,而是HDFS中的文件。


我们也可以将运行结果取回本地:




[外链图片转存中...(img-NZqeQ69h-1714909034948)]
[外链图片转存中...(img-bI2YPIqW-1714909034949)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值