本文是跟着B站上的视频实现的,链接如下:
/video/BV1Qp4y1n7EN?p=18
Hadoop运行环境搭建
重来3遍是正常的,这篇针对的是怎么也无法修改为目标ip地址的情况。
1.安装VMware,文章末尾有链接,没什么需要注意的,也可以跟着视频安装
2.CentOS ,文章末尾有链接,从这里开始跟着视频,涉及到输入密码的统一设置为一个密码000000。
3.VMware的配置
1.打开虚拟网络编辑器:
2.按照绿色标记的顺序,点击。
3.更改子网,打开NAT设置
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文件,按照如下填入即可。
fifor host in hadoop102 hadoop103 hadoop104 doecho ==================== $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:$pdirelseecho $file does not exists!fidonedone
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:
/s/15FI9O59jyEr2PeLNsy-Jkg
提取码:2933
CentOS:
链接:/s/1C1F55BSosLnZsXT71Ch7Pg
提取码:2933
Xshell:
链接:/s/1d1mFoG443VPZEys5S1q-nA
提取码:2933
Xftps:
链接:/s/1-VmTLYWPXWrXAcRqdm3_0w
提取码:2933
hadoop3.2.2:
链接:/s/1OcBObicpIQ988aXK4ZMLQg
提取码:2933
jdk8u:
链接:/s/1R17LhdtaasyUOUP15EYm4g
提取码:2933
如果觉得《Hadoop的环境配置——搭建一个主机hadoop102 两个从机hadoop103 hadoop104 并运行分布式词频统计》对你有帮助,请点赞、收藏,并留下你的观点哦!