Hadoop集群完全分布式配置与启动

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


集群配置

集群部署规划
注意:
1.NameNode和SecondaryNameNode不要安装在同一台服务器
2.ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。
配置文件说明
Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
切换到hadoop3.4.0目录下的etc/hadoop/目录中
在这里插入图片描述

1.配置核心文件core-site.xml

vim core-site.xml

添加如下内容

<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.4.0/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为   -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>sea</value>
    </property>
</configuration>

2.HDFS配置文件hdfs-site.xml

vim 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配置文件yarn-site.xml、配置日志的聚集

vim yarn-site.xml

添加如下内容

<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.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>



    <!-- 开启日志聚集功能 -->
	<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>
</configuration>

4.MapReduce配置文件mapred-site.xml、配置历史服务器

vim mapred-site.xml

添加如下内容

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



    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
        </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
    </property>



    <!-- 历史服务器端地址 -->
	<property>
    	<name>mapreduce.jobhistory.address</name>
    	<value>hadoop102:10020</value>
	</property>

	<!-- 历史服务器web端地址 -->
	<property>
    	<name>mapreduce.jobhistory.webapp.address</name>
    	<value>hadoop102:19888</value>
	</property>
</configuration>

在集群上分发配置好的Hadoop配置文件

5.配置workers

打开hadoop目录下的etc/hadoop/workers文件

vim /opt/module/hadoop-3.4.0/etc/hadoop/workers

添加如下内容,本次三台虚拟机
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

hadoop102
hadoop103
hadoop104

同步所有节点配置文件

xsync /opt/module/hadoop-3.4.0/etc

在这里插入图片描述

启动集群

1.初启格式化

如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。
在hadoop102上执行

hdfs namenode -format

在这里插入图片描述

2.启动HDFS

sbin/start-dfs.sh

Web端查看HDFS的NameNode
在浏览器中输入:http://hadoop102:9870

在这里插入图片描述

3.启动YARN

在配置了ResourceManager的节点(hadoop103)启动YARN

sbin/start-yarn.sh

使用jps查看情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Web端查看YARN的ResourceManager
在浏览器中输入:http://hadoop103:8088
在这里插入图片描述

4.历史服务器、日志聚集启动、

为了查看程序的历史运行情况,需要启动历史服务器
启动HistoryServer

mapred --daemon start historyserver

在这里插入图片描述

集群基本测试

1.上传文件到集群

在根目录下创建目录

hadoop fs -mkdir /wcinput

查看web情况,随时刷新
在这里插入图片描述
上传文件 将当前目录下的LICENSE.txt 传到/wcinput

hadoop fs -put LICENSE.txt  /wcinput

在这里插入图片描述
查看文件内容或者下载
在这里插入图片描述

2.HDFS文件存储路径

data/dfs/data/current/BP-48563595-192.168.152.102-1730517527913/current/finalized/subdir0/subdir0/

在这里插入图片描述

3.拼接

假设一个文件由下面两个文件块存储,可以将两个文件块拼接在一起组成一个压缩包,将其解压就是原先的完整文件

cat blk_1073741836>>tmp.tar.gz
cat blk_1073741837>>tmp.tar.gz
tar -zxvf tmp.tar.gz

4.下载

将web中根目录下曾上传的文件下载到当前目录下

hadoop fs -get /wcinput/LICENSE.txt ./

5.执行wordcount程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar  wordcount /wcinput /wcoutput

若配置文件mapred-site.xml文件与前面配置文件内容一样,则跳过下述问题即可
可能出现的问题:只有tmp,没有output文件夹
在这里插入图片描述
报错如下
在这里插入图片描述
解决方法:向hadoop-3.4.0/etc/hadoop/mapred-site.xml文件修改成如下内容

<configuration>
        <!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
        </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.4.0</value>
    </property>

</configuration>

再重新分发配置文件
再次执行wordcount
在这里插入图片描述
下面出现wcoutput即成功
在这里插入图片描述

6.查看历史服务器

web中YARN的ResourceManager可进入查看程序的历史运行情况
历史服务器地址
http://hadoop102:19888/jobhistory
在这里插入图片描述
在这里插入图片描述

在mapred-site.xml中历史服务器配置如下,已在前面文件配置时配置过了

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
</property>

7.查看日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
在这里插入图片描述
在历史服务器地址http://hadoop102:19888/jobhistory查看任务运行日志
在这里插入图片描述
在这里插入图片描述

集群启动/停止方式

1.各个模块分开启动/停止(配置免密ssh是前提)

执行文件均在hadoop3.4.0/sbin目录下
(1)整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

(2)整体启动/停止YARN

start-yarn.sh/stop-yarn.sh

2.各个服务组件逐一启动/停止

(1)分别启动/停止HDFS组件

hdfs --daemon start/stop namenode/datanode/secondarynamenode

(2)启动/停止YARN

yarn --daemon start/stop  resourcemanager/nodemanager
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值