Hadoop的环境配置——搭建一个主机hadoop102,两个从机hadoop103,hadoop104,并运行分布式词频统计

本文是跟着B站上的视频实现的,链接如下:

https://www.bilibili.com/video/BV1Qp4y1n7EN?p=18

Hadoop运行环境搭建

重来3遍是正常的,这篇针对的是怎么也无法修改为目标ip地址的情况。

1.安装VMware,文章末尾有链接,没什么需要注意的,也可以跟着视频安装

2.CentOS ,文章末尾有链接,从这里开始跟着视频,涉及到输入密码的统一设置为一个密码000000。

3.VMware的配置

1.打开虚拟网络编辑器:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d08ff914a7e54131b67d50b400935649.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ2FuLWRp,size_20,color_FFFFFF,t_70,g_se,x_16
2.按照绿色标记的顺序,点击。
在这里插入图片描述
3.更改子网,打开NAT设置
![在这里插入图片描述](https://img-blog.csdnimg.cn/962343f3116749aa8c273a4de544e7e8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ2FuLWRp,size_20,color_FFFFFF,t_70,g_se,x_
4.更改网关
在这里插入图片描述
5.最后确定关闭即可。

4.win10配置

1.找到设配器的设置(联想电脑)
在这里插入图片描述
2.设置Vmnet8
在这里插入图片描述
3.点击确定后退出。

5.修改模板机hadoop100的ip地址

1.按照视频中的方法修改之后,我的网络就断了,一直会有这个错误:
未知的名称或服务,ping不通。
在这里插入图片描述
2.于是我重新建了一次模板机hadoop100,并且这一次不设置ip,而是记住这个分配给Hadoop100的ip,理由是至少可以ping得通,不会断网。后续再做调整。(挂机就可以保证ip不变)
(1)查看我们的ip:ifconfig
在这里插入图片描述
(2)可以ping通,ctrl+C退出
,
3.修改主机名称
在这里插入图片描述在这里插入图片描述
4.由于没有设置ip为静态,先不设置主机映射,后面再设置,然后重启。
在这里插入图片描述

6.安装Xshell和Xftp,(末尾有链接)

1.记住刚刚Hadoop100的ip地址,登录Xshell,我上面(5.2.1)的是192.168.10.133
在这里插入图片描述
2.用户身份验证
在这里插入图片描述
3.更改外观颜色
在这里插入图片描述
4.在Xshell上登录hadoop100,双击。
在这里插入图片描述

7.配置模板机hadoop100

1.查看当前地址
2.ping 百度,检查网络是否连通
3.EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
在这里插入图片描述
4.安装工具包集合,包含ifconfig等命令
在这里插入图片描述5.安装编辑器
在这里插入图片描述
6.关闭防火墙,关闭防火墙开机自启。
在这里插入图片描述
7.创建自己的一个用户,也就是相比于root来说是一个平民用户,这里我创建的是 baga29 ,密码还是000000。
在这里插入图片描述
8.配置baga29用户
(1)具有root权限,方便后期加上sudo 执行root权限的命令(补全键 :Tab)
在这里插入图片描述
打开这个文件后,修改成如下形式,顺序不能改变。(vim 按i开始输入,Esc键退出当前模式后 按:wq!保存并强制退出):
在这里插入图片描述
(2)检查是否配置成功
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
这里会提示权限不够,这时候只要加上sudo就可以了,意思就是说以后只要遇到我们的用户baga29权限不够,就可以在命令起那面加上sudo
在这里插入图片描述
(3)在/opt/中使用sudo命令创建两个文件夹
在这里插入图片描述
(4)将这两个文件的用户组与用户都改为baga29
在这里插入图片描述
9.卸载虚拟机自带的JDK,并重启
在这里插入图片描述
然后输入reboot。

8.克隆三台虚拟机,也就是我们的目标一个主机hadoop102,两个从机hadoop103,hadoop104

这里我们从102开始配,101去创造营了。
1.将hadoop100关机
在这里插入图片描述
2.克隆示例
在这里插入图片描述
看到这一页时,点击完整克隆
在这里插入图片描述
这一页名称改为hadoop102,位置可以自己更改,后面的更改为hadoop103,hadoop104。
在这里插入图片描述
3.重复2,得到3台虚拟机
在这里插入图片描述
4.改主机的名称hostname,参照5.3
5.※※※这里很重要,接下来模板机就不再使用了,真正的主角出现了,记住我们hadoop102,hadoop103,hadoop104一开始的ip地址,并且只能挂机不能关机,为了确保ip地址不变化
下面分别查看三个虚拟机的ip地址~
hadoop102——192.168.10.134
在这里插入图片描述
hadoop103——192.168.10.130
在这里插入图片描述
hadoop104——192.168.131
在这里插入图片描述

9.更改主机映射地址,在Xshell上连接上这三台虚拟机

1.在hadoop102上改一下文件/etc/hosts,该操作在103,104上也要进行
在这里插入图片描述
在这里插入图片描述
2.更改C:\Windows\System32\drivers\etc\hosts文件(win10系统)
(1)先将hosts复制到桌面上
在这里插入图片描述
(2)添加内容如下
在这里插入图片描述
3.将这个文件覆盖原文件
4.在Xshell上登陆这三个虚拟机
和刚刚不同的是,这里的名称不用再写具体的ip,而是使用 hadoop10X(X=1,2,3)就可以
在这里插入图片描述在这里插入图片描述

10.安装jdk和hadoop

1.先操作hadoop102
在这里插入图片描述
2.将hadoop和jdk传送到/opt/software/文件夹中,文章末尾有链接
在这里插入图片描述
3.将这两个文件解压到/opt/module/文件夹中
在这里插入图片描述在这里插入图片描述
4.查看文件夹/opt/module/
在这里插入图片描述
5.切换到自己的用户baga29,并且配置jdk环境
记住下面的这个pwd得到的红色框框,记为小狗。
在这里插入图片描述
修改my_env.sh文件,将下面的红色框框填入小狗,其他地方一致填入。
在这里插入图片描述
6.骚一下,使我们刚刚配置的环境生效,并检验jdk是否安装成功。
在这里插入图片描述
7.安装hadoop
记下面的红色框框为小猫
在这里插入图片描述
修改vim /etc/profile.d/my_env.sh文件,下面的红色框框内填入小猫
在这里插入图片描述
8.骚一下,使我们刚刚配置的环境生效,并检验hadoop是否安装成功。
在这里插入图片描述

11.xsync集群分发脚本

1.创建xsync脚本
在这里插入图片描述
2.修改xsync文件,按照如下填入即可。

fi
for host in hadoop102 hadoop103 hadoop104  
do
 echo ==================== $host ====================
 #3. 遍历所有目录,挨个发送
 for file in $@
 do
 #4. 判断文件是否存在
 if [ -e $file ]
 then
 #5. 获取父目录
 pdir=$(cd -P $(dirname $file); pwd)
 #6. 获取当前文件的名称
 fname=$(basename $file)
 ssh $host "mkdir -p $pdir"
 rsync -av $pdir/$fname $host:$pdir
 else
 echo $file does not exists!
 fi
 done
done

3.使xsync生效,并且将相关文件分发到各个虚拟机中
1.生效,环境配置文件
在这里插入图片描述
2.将module里面的文件分发给集群
在这里插入图片描述
3.去hadoop103,hadoop104里面骚一下,是环境生效,并检测是否安装成功。(10.6和10.8)

12.配置SSH,使得集群内实现无密码访问彼此

1.输入以下命令,3次回车
在这里插入图片描述
2.hadoop102连接hadoop103
在这里插入图片描述
3.使用2,将命令改为: ssh-copy-id hadoop104 借以连接上hadoop104。
4.分别切换到hadoop103,hadoop104,并把用户切到baga29,重复1,2,3。使得集群两两相连。

13.集群配置

集群规划如下
在这里插入图片描述
1.配置 core-site.xml 文件,修改如下(需要注意hadoop 数据的存储目录 要设置为你自己的,一般是hadoop版本不同)。
在这里插入图片描述

<configuration>
        <!-- 指定 NameNode 的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop102:8020</value>
        </property>
        <!-- 指定 hadoop 数据的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/module/hadoop-3.2.2/data</value>
        </property>
        <!-- 配置 HDFS 网页登录使用的静态用户为 baga29 -->
        <property>
                <name>hadoop.http.staticuser.user</name>
                <value>baga29</value>
        </property>
</configuration>

2.配置 hdfs-site.xml 文件
在这里插入图片描述

<configuration>
        <!-- nn web 端访问地址-->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop102:9870</value>
        </property>
        <!-- 2nn web 端访问地址-->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop104:9868</value>
        </property>
</configuration>

3.配置 yarn-site.xml 文件
在这里插入图片描述
yarn.application.classpath 这个里面的内容 是运行:hadoop classpath 的返回结果

<configuration>
        <!-- 指定 MR 走 shuffle -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <!-- 指定 ResourceManager 的地址-->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop103</value>
        </property>
        <property>
        <name>yarn.application.classpath</name>
        <value>/opt/module/hadoop-3.2.2/etc/hadoop:/opt/module/hadoop-3.2.2/share/hadoop/common/lib/*:/opt/module/hadoop-3.2.2/share/hadoop/common/*:/opt/module/hadoop-3.2.2/share/hadoop/hdfs:/opt/module/hadoop-3.2.2/share/hadoop/hdfs/lib/*:/opt/module/hadoop-3.2.2/share/hadoop/hdfs/*:/opt/module/hadoop-3.2.2/share/hadoop/mapreduce/lib/*:/opt/module/hadoop-3.2.2/share/hadoop/mapreduce/*:/opt/module/hadoop-3.2.2/share/hadoop/yarn:/opt/module/hadoop-3.2.2/share/hadoop/yarn/lib/*:/opt/module/hadoop-3.2.2/share/hadoop/yarn/*</value>
</property>
</configuration>

4.配置 mapred-site.xml 文件
在这里插入图片描述

<configuration>
        <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

5.将hadoop配置分发给集群,并在103,104检查是否分发成功
在这里插入图片描述
在这里插入图片描述
在103的查看,104也是如此
在这里插入图片描述
在这里插入图片描述
6.修改works文件,并分发到集群中
在这里插入图片描述
不能有空格,也不能换行
在这里插入图片描述
将该文件分发集群中,并检查(方式如前)
在这里插入图片描述

14.启动集群

1.在hadoop102中
(1)这一步只进行一次,因为是第一次启动的原因,有点注册账号的意味。
在这里插入图片描述
(2)启动dfs
在这里插入图片描述
2.在hadoop103中,启动yarn
在这里插入图片描述
3.查看各个虚拟机的节点,发现和规划的一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.Web端查看HDFS的Namenode
在这里插入图片描述
4.Web端查看YARN的ResourceManager
在这里插入图片描述

15.集群的基本测试

1.上传文件
(1)创建a.txt
在这里插入图片描述
(2)往a.txt写入文本
在这里插入图片描述
(3)在Web端建立一个文件夹 /wcinput,并将本地的a.txt上传到Web端的 /wcinput文件夹中
在这里插入图片描述
(4)查看Browsing HDFS
在这里插入图片描述
在这里插入图片描述
2.运行WordCount词频统计分布式程序
在hadoop102上运行
在这里插入图片描述
查看两个Web端
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

———————————————— 相关资源链接——————————————
链接:
VMware:
https://pan.baidu.com/s/15FI9O59jyEr2PeLNsy-Jkg
提取码:2933
CentOS:
链接:https://pan.baidu.com/s/1C1F55BSosLnZsXT71Ch7Pg
提取码:2933
Xshell:
链接:https://pan.baidu.com/s/1d1mFoG443VPZEys5S1q-nA
提取码:2933
Xftps:
链接:https://pan.baidu.com/s/1-VmTLYWPXWrXAcRqdm3_0w
提取码:2933
hadoop3.2.2:
链接:https://pan.baidu.com/s/1OcBObicpIQ988aXK4ZMLQg
提取码:2933
jdk8u:
链接:https://pan.baidu.com/s/1R17LhdtaasyUOUP15EYm4g
提取码:2933

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榆钱不知秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值