Hadoop伪分布式部署过程

伪分布式

与完全分布式的区别是配置和完全分布式一样,但是它只运行一台服务器

配置HDFS并运行MapReduce

配置HDFS

配置JAVA_HOME,路径为:etc/hadoop/hadoop-env.sh,将JAVA_HOME目录修改成本地JAVA_HOME具体目录

export JAVA_HOME=/opt/module/jdk1.8.0_144

etc/hadoop/core-site.xml

<!-- 指定 HDFS 中 NameNode 的地址 -->
<!-- 默认值为file:/// 为本地模式,也就是说不配置的话默认使用本地文件系统 -->
<!-- 配置了hdfs:// 之后本地模式则不能使用了 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop112:9000</value>
</property>
<!-- 指定 Hadoop 运行时产生文件的存储目录 -->
<!-- 默认存储到/tmp/hadoop-${user.name}中 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

etc/hadoop/hdfs-site.xml

<!-- 指定 HDFS 副本的数量,副本的概念是在x台服务器上存储了相同的数据,容错 -->
<!-- 伪分布式设置为1,默认为3 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
启动集群
## 格式化NameNode,第一次启动时格式化,以后不要总格式化,格式化就是把数据清空
bin/hdfs namenode -format

## 启动NameNode
sbin/hadoop-daemon.sh start namenode

## 启动DataNode
sbin/hadoop-daemon.sh start datanode
查看是否启动成功

可以使用jps命令来查看是否启动成功

在这里插入图片描述

或者访问该ip的50070端口的web界面,如果访问不了在所有配置文件均正常的情况下,查看防火墙是否关闭

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvq6tYdr-1622785968116)(/home/lxj/.config/Typora/typora-user-images/1622713541198.png)]

一些文件操作
## 在hdfs上创建目录/user/bd/input
hdfs dfs -mkdir -p /user/bd/input

## 查看/目录内容
hdfs dfs -ls /

## 将本地文件上传到hdfs
hdfs dfs -put wcinput/wc.input /user/bd/input

## 查看文件内容
hdfs dfs -cat /user/bd/output/p*

## 删除文件夹
hdfs dfs -rm -r /user/bd/output
NameNode已有数据的格式化

1、先将对应进程关掉;

2、将产生的日志log目录删除;

3、将产生的数据删除;即etc/hadoop/core-site.xml中配置的hadoop.tmp.dir目录;

格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据,也会导致NameNode和DataNode启动异常。所以,格式 NameNode 时,一定要先删除data 数据和 log 日志,然后再格式化 NameNode。

正常情况下NameNode和DataNode有相同的集群Id(clusterID)

配置YARN并运行MapReduce

配置YARN

配置JAVA_HOME,路径为:etc/hadoop/yarn-env.sh和mapred-env.sh,将JAVA_HOME目录修改成本地JAVA_HOME具体目录

export JAVA_HOME=/opt/module/jdk1.8.0_144

etc/hadoop/yarn-site.xml

<!-- Reducer 获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop112</value>
</property>

etc/hadoop/mapred-site.xml, 先对 mapred-site.xml.template 重新命名为)mapred-site.xml

<!-- 指定 MR 运行在 YARN 上 -->
<!-- 默认是local -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
启动集群
## 启动ResourceManager
sbin/yarn-daemon.sh start resourcemanager

## 启动NodeManager
sbin/yarn-daemon.sh start nodemanager
查看是否启动成功

可以使用jps命令来查看是否启动成功;

或者通过访问8088端口的web服务

在这里插入图片描述

配置历史服务器

配置

etc/mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop112:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop112:19888</value>
</property>
启动
## 启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
查看是否启动成功

可以使用jps命令来查看是否启动成功;

或者通过访问19888端口的web服务

在这里插入图片描述

特别注意的是使用ip的话,无法直接从yarn-web服务通过History直接跳转到历史服务器。

配置日志的聚集

日志聚集的概念:应用运行完成后,将程序运行日志信息上传到HDFS系统上。

注意:开启日志聚集功能,需要重新启动NodeManager,ResourceManager和HistoryManager.

## 退出历史服务器
sbin/mr-jobhistory-daemon.sh stop historyserver

## 退出NodeManger
sbin/yarn-daemon.sh stop nodemanager

## 退出ResourceManager
sbin/yarn-daemon.sh stop resourcemanager
配置

etc/hadoop/yarn-site.xml

<!-- 日志聚集功能使能,默认是false -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 日志保留时间设置 7 天,单位s,默认-1为不保存 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

启动以上停用服务

## 启动ResourceManager
sbin/yarn-daemon.sh start resourcemanager

## 启动NodeManger
sbin/yarn-daemon.sh start nodemanager


## 启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver

配置文件说明

在这里插入图片描述

对应的自定义配置文件分别是core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值