hadoop大数据集群搭建(三)超级保姆式教学

前情回顾

在上一篇章中我们完成了关闭防火墙, 集群之间的免密登录, 完成集群的时间同步问题, 安装MySQL, 安装JDK操作, 本篇将完成余下所有操作以完成hadoop集群的搭建。

  • 往期链接
  1. hadoop大数据集群搭建(一)超级保姆式教学
    https://blog.csdn.net/qianyu_123456/article/details/126997855
  2. hadoop大数据集群搭建(二)超级保姆式教学https://blog.csdn.net/qianyu_123456/article/details/127021024

本章将完成Hadoop集群的搭建(完成本章后建议拍快照)

  • 我们需要完成的有:
  1. 安装hadoop软件
  2. 修改hadoop配置文件
  3. hadoop集群的搭建/启动/关闭与体验
  4. (选读)介绍hadoop配置文件增加的非常规配置

实际开发中应该配, 但是没有也可以运行, 本文已配置

  • 为什么我们使用单点模式?性能要求低,虚拟机有快照功能避免单点故障问题

事实上企业开发中采用的HA(high available 高可用)模式,原因是因为我们现在所配置的是单点模式,一旦namenode出了问题,我们Hadoop集群将崩溃,而HA模式依赖于zookeeper(Hadoop生态的一个软件)集群完成主备切换,因为HA模式不止一个namenode,虽然HA模式也会丢失一小部分数据,但相较于我们的单点模式还是非常优秀的。由于我们使用虚拟机模拟实际开发的效果,有快照机制,出错了回档即可便不需要采用HA模式了,因为这对于我们电脑的性能要求较高。

  • 单点故障是什么?

整个集群中只有NameNode和ResourceManager发号施令,并且数据集中存储在该服务节点中.如果服务器一旦宕机或者数据丢失,整个集群将不复存在,此时我们急需解决该问题,提高集群的可靠性和安全性.

服务器基础环境准备(如果是跟着博主的文章过来的都已经准备好了)

ip、主机名 hosts映射 别忘了windows也配置
防火墙关闭
时间同步
免密登录 qianyu1---->qianyu1 qianyu2 qianyu3
JDK安装

  • 目录结构
    /export/server #软件安装目录
    /export/software #安装包的目录
    /export/data #软件运行数据保存的目录
    /export/logs #软件运行日志

1. 安装hadoop软件

  • 将安装包上传到/export/software中

在这里插入图片描述

  • 打开/export/software目录
cd /export/software/

在这里插入图片描述

  • 将压缩包,解压到/export/server中
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz  -C ../server/

在这里插入图片描述

2. 修改hadoop配置文件

  • 进入到配置文件的目录下
cd /export/server/hadoop-3.3.0/etc/hadoop

在这里插入图片描述

  • 修改配置文件

01. 修改hadoop-env.sh文件

  • 打开hadoop-env.sh
    在这里插入图片描述

文件最后添加
export JAVA_HOME=/export/server/jdk1.8.0_65
export HDFS_NAMENODE_USER=root export
HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root export
YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root

在这里插入图片描述

  • 保存后退出
    在这里插入图片描述

02. 修改core-site.xml文件

  • 打开core-site.xml
vim core-site.xml

在这里插入图片描述

  • 增加内容
<configuration>

</configuration>

如下内容写在上面两个标签中间!!!:

<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://qianyu1:8020</value>
</property>

<!-- 设置Hadoop本地保存数据路径 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.3.0</value>
</property>

<!-- 设置HDFS web UI用户身份 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>

<!-- 整合hive 用户代理设置 -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
<!-- 开启垃圾桶机制 -->
<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>

在这里插入图片描述

03. 配置hdfs-site.xml

vim hdfs-site.xml

在这里插入图片描述
修改内容:

<!-- 设置SNN进程运行机器位置信息 -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>qianyu2:9868</value>
</property>

在这里插入图片描述

04.配置mapred-site.xml

  • 打开mapred-site.xml
vim mapred-site.xml

在这里插入图片描述

  • 修改内容
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

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

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

在这里插入图片描述

05. 配置yarn-site.xml

  • 打开yarn-site.xml
vim yarn-site.xml

在这里插入图片描述

  • 修改内容
<!-- 设置YARN集群主角色运行机器位置 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>qianyu1</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 是否将对容器实施物理内存限制 -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 开启日志聚集 -->
<property>
  <name>yarn.log-aggregation-enable</name>
  <value>true</value>
</property>

<!-- 设置yarn历史服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://qianyu1:19888/jobhistory/logs</value>
</property>

<!-- 保存的时间7天, 以秒为单位 -->
<property>
  <name>yarn.log-aggregation.retain-seconds</name>
  <value>604800</value>
</property>

在这里插入图片描述

06. 配置workers

  • 打开workers
vim workers

在这里插入图片描述

  • 修改内容
qianyu1
qianyu2
qianyu3

在这里插入图片描述

07. 分发同步hadoop安装包

cd /export/server
scp -r hadoop-3.3.0 root@qianyu2:$PWD
scp -r hadoop-3.3.0 root@qianyu3:$PWD

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

08. 将hadoop添加到环境变量(3台机器)

vim /etc/profile

# hadoop环境变量配置
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile


#别忘了scp给其他两台机器
scp /etc/profile qianyu2:/etc/profile
scp /etc/profile qianyu3:/etc/profile

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. hadoop集群的搭建/启动/关闭与体验

  • hadoop namenode format(hadoop集群初始化)
  • 只能初始化一次!!!只能初始化一次!!!只能初始化一次!!!
  • 以后启动不需要初始化了
  • 在qianyu1 部署namenode的这台机器上执行
hadoop namenode -format

在这里插入图片描述
在这里插入图片描述

  • hadoop可以单节点单进程逐个手动启动, 但是我们大可不必这么麻烦
  • 直接全部启动
# 开启hadoop集群
start-all.sh
# 关闭hadoop集群
stop-all.sh

在这里插入图片描述

  • 查看进程
    在这里插入图片描述

  • 体验UI界面

  • 打开浏览器输入qianyu1:9870 打开hadoop hdfs集群界面

在这里插入图片描述
在这里插入图片描述

  • 打开浏览器输入qianyu1:8088 打开hadoop yarn集群界面

在这里插入图片描述
在这里插入图片描述

  • 看到这里, 已经完成了hadoop集群的搭建和体验了, 可以正常使用。
  • 关闭Hadoop集群
    在这里插入图片描述

4. (选读)介绍hadoop配置文件增加的非常规配置

实际开发中应该配, 但是没有也可以运行, 本文已配置

(1)MapReduce jobhistory服务

默认情况下,yarn上关于MapReduce程序执行历史信息、执行记录不会永久存储;一旦yarn集群重启 之前的信息就会消失。
MapReduce jobhistory服务可以保存yarn上已经完成的MapReduce的执行信息。

  • mapred-site.xml配置MapReduce jobhistory部分
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>qianyu1:10020</value>
</property>

<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>qianyu1:19888</value>
</property>
  • 自己手动启停jobhistory服务。
#hadoop2.x版本命令
mr-jobhistory-daemon.sh start|stop historyserver

#hadoop3.x版本命令
mapred --daemon start|stop historyserver

(2)HDFS 垃圾桶机制

  • 该机制在windows叫做回收站 , 在默认情况下 hdfs没有垃圾桶 意味着删除操作直接物理删除文件。
  • 在core-site.xml中开启垃圾桶机制的内容
<property>
	<name>fs.trash.interval</name>
	<value>1440</value>
</property>
  • 配置前效果:
    [root@qianyu1 ~]# hadoop fs -rm /itcast/1.txt
    Deleted /itcast/1.txt
  • 配置后效果:
    [root@qianyu1 ~]# hadoop fs -rm /itcast.txt
    INFO fs.TrashPolicyDefault: Moved: ‘hdfs://qianyu1:8020/itcast.txt’ to trash at: hdfs://qianyu1:8020/user/root/.Trash/Current/itcast.txt
  • 后悔了 想吃后悔药咋办?
hadoop fs -cp /user/root/.Trash/Current/itcast.txt /
  • 就想直接删除文件怎么做? 我决不回头!
hadoop fs -rm -skipTrash /itcast.txt

效果:
[root@qianyu1 ~]# hadoop fs -rm -skipTrash /itcast.txt
Deleted /itcast.txt
可以看到与没有设置垃圾桶前效果一直。

  • ** 感谢各位的观看, 如有帮助请点赞支持一下, 谢谢!!!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值