赞
踩
在前几章节的配置完成后,102 103 104服务器都具有了相同的内容框架和配置,能够通过手动免密进行访问,但是不知道有没有发现,他们相互之间还会没有联系的。
本章节我们就需要连接各个服务器
NameNode 和 SecondaryNameNode 不要安装在同一台服务器
ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在
同一台机器上。
Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认
配置值时,才需要修改自定义配置文件,更改相应属性值。
(2)自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在
$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
这里我们需要更改4个自定义配置文件,加入内容
这里我们做个分辨一下,
有default字段的文件名为hadoop官网提供的默认配置文件
有site字段的文件为自定义配置文件,供操作人员根据自身的需求进行更改
配置 core-site.xml
指引路径:/opt/module/hadoop-3.1.3/etc/hadoop/
(不要硬复制进去,只是告诉你大概路径)
以102为例
默认配置文件提供的关于NameNode的默认地址:
File:/// ——本地路径
数据存放目录
根据上面的列表可得治,102服务器上的NameNode需要配置102服务器上,修改如下:
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
HDFS 配置文件
默认文件提供的外部NameNode web 访问地址:
默认文件提供的外部2nn web 访问地址:
这里我们需要修改hdfs-site xml文件中的这两个值
更改内容如下:
<!-- 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>
YARN 配置文件
在YARN的默认配置文件中我们要配置如下:
下图是在默认配置文件中的:
下图是在默认配置文件中的,ResourceManager配置
下图是在默认配置文件中的,环境变量的继承
以上3个值都需要更改,内容如下
<!-- 指定 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.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
</property>
mapred 配置文件
在mapred的默认配置文件中我们要配置如下:MapReduce 程序运行的位置
以上1个值都需要更改,内容如下
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置完成后我们通过,上节课编写的脚本分发命令进行脚本的分发
这里的根目录我们发挥到 /opt/module/hadoop-3.1.3/etc
确认好位置后,进行同步脚本
1.配置 workers
根据你主机上有几个服务器我们就配置几个节点,如同映射主机名称一样(hosts)
找到
/opt/module/hadoop-3.1.3/etc/hadoop/workers 根目录 workers文件,追加内容
hadoop102
hadoop103
hadoop104
通过 xsync workers 脚本分发 到各个服务器上
(分发什么文件吗,就在分发文件的父级目录上 写分发脚本+文件名)
启动前请回到 hadoop-3.1.3的根目录下
在hadoop102上!!!
指令:hdfs namenode -format
初始化过程
如果初始化成功,请查看当文件夹:
Data文件夹中多处
对照下图是否产生出这些文件夹和文件
完成上述后 请退出到 hadoop-3.1.3目录下:启动目录我们要从sbin文件夹下开始
指令:sbin/start-dfs.sh
检查一下,对照下图表格
102
103
104
如果启动失败没有显示相应的节点,请逐步删除 hadoop-3.1.3文件夹下的 data 和 logs 文件
然后格式化102服务器 重新启动
启动成功的,打开浏览器。进入hadoop102:9870,显示web端的HDFS上存储的数据信息
指令:sbin/start-yarn.sh
再次对照表格
查看 102 103 104上的节点分布和布局是否和图标展示的一样 jps
此外 yarn 上的resourcemanager对外暴露出一个端口供浏览器访问查看
hadoop103:8088
这个地方的上传是在 hadoop102:9870 上编辑一个文件夹 /wcinput
指令:hoadoop fs -mkdir /wcinput
上传文件到 hadoop102:9870 上的/wcinput的文件夹中
上传指令:hadoop fs -put wcinput/word.txt /wcinput
任务 : 自行上传 software 文件夹下的 jdk 包 到 hadoop102:9870上
查看HDFS 存储的位置
在hadoop-3.1.3文件中 有一个data文件,这个文件的创建是在我们配置hdfs时候就配置上去的。
查看顺序:data—dfs—data—current— BP-1305192596-192.168.10.102-1646597150702
输入后 tab *2
进入 current
进入finalized tab*2
这时候已经到文件夹的最底层了
按回车进入 subdir0 中 ll显示文件
查看第一个文件
压缩文件查看
过程 在subdir0中继续
解压 tmp.tar.gz 到当前文件夹====显示是否是 jdk的解压文件
tar -zxvf tmp.tar.gz
hdfs的存储的位置就在这个 subdir0下
查看 103 和 104
该路径下是否存储有和102一样的数据
Yarn的运行过程观察
在集群上执行测试的话。请先吧 hadoop102:9870 页面上的位置调整到 /wcinput
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wac
在hadoop103:8088页面上会显示出 有一个工作被挂起检测
在集群工作的时候我们要查看集群中运行的历史,所以这里要配置服务器来单独做为历史查看功能
在上面,我们测试yarn的时候也会看到有历史产生
但是这个历史只是及时显示在当前页面上的。关掉了后就不能再次查看了。起不到作为历史来查看的效果了
配置历史服务器前,需要给自定义配置文件 mapred-site.xml添加两段代码
Hadoop3.1.3文件 etc /hadoop/
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
第一段是内部通讯接口,第二段是暴露给外部的通讯接口
添加完成后,进行文件的分发(xsync ),如果你是集群没有启动,请点击启动。如果你的集群是在启动状态的时候更改配置文件的,分发完成后,请关闭集群,然后重启
以上操作完成后,启动hadoop102服务器的历史服务器
指令:mapred --daemon start historyserver
这个mapred命令在 bin 文件夹下
输入完成后,会在102服务器上多处一个节点
检查完成后,在集群上测试一下,然后点击历史服务器来查看
此时网页跳转到hadoop102:19888上显示一下内容
日志聚集:应用运行完成以后,将程序运行的日志上传到hdfs系统上
再简单点就是,把每个服务器的上log日志文件发送到hdfs上集中
为什么要这样的原因是:方便查看,不用一台一台服务器去找了,方便开发调试
配置yarn-site.xml自定义文件
在该文件下添加内容
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
配置完成后,xsync分发到各个服务器上。
完成后先停掉历史服务器节点,再重启yarn(103)
历史服务器节点停止,指令
102:mapred --daemon stop historyserver
重启完yarn后再次启动历史服务器:
102:mapred --daemon start historyserver
如何单节点启动和关闭(kill -9 端口号或者 kill 端口号 常用杀死端口的指令)
启动 HDFS 组件
hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode
关闭 HDFS 组件
hdfs --daemon stop namenode
hdfs --daemon stop datanode
hdfs --daemon stop secondarynamenode
启动 YARN 组件
yarn --daemon start resourcemanager
yarn --daemon start nodemanager
关闭 YARN 组件
yarn --daemon stop resourcemanager
yarn --daemon stop nodemanager
这里类似于xsync 在全局变量中我们生成出的一个脚本文件用于启动和停止整个集群中的hdfs yarn 历史服务器等
参考xsync脚本分发文件操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。