Hadoop学习(2)-- Hadoop3.1 单机模式搭建

1 服务器基础环境准备

机器: Centos7
hadoop: 3.3.1 版本
jdk: 1.8

1.1 vim /etc/hostname

在这里插入图片描述

1.2 vim /etc/hosts

在这里插入图片描述

1.3 关闭防火墙

systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开启自启

1.4 集群时间同步

yum -y install ntpdate
ntpdate ntp4.aliyun.com

1.5 创建指定目录

mkdir -p /export/server/ #软件安装路径
mkdir -p /export/data/ #数据存储路径
mkdir -p /export/software/ #安装包存放路径

1.6 ssh免密登录

ssh-keygen #4个回车 生成公钥、私钥
ssh-copy-id node1

否则在启动的时候有警告提示如下:
在这里插入图片描述

2 上传安装包、解压安装包

2.1 安装jdk

在这里插入图片描述

2.2 上传、解压Hadoop安装包

tar zxvf hadoop-3.3.1.tar.gz

在这里插入图片描述

3 Hadoop安装包目录结构

在这里插入图片描述
配置文件概述

  • 第一类1个:hadoop-env.sh
  • 第二类4个:xxxx-site.xml ,site表示的是用户定义的配置,会覆盖default中的默认配置。
    core-site.xml 核心模块配置
    hdfs-site.xml hdfs文件系统模块配置
    mapred-site.xml MapReduce模块配置
    yarn-site.xml yarn模块配置
  • 第三类1个:workers
  • 所有的配置文件目录:/export/server/hadoop-3.3.1/etc/hadoop/

4 配置hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
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

5 配置core-site.xml

<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 
按照自己要求配置 可以是ip+端口,端口不固定
-->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:8020</value>
</property>
<!-- 设置Hadoop本地保存数据路径 按照自己的路径配置-->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/export/data/hadoop-3.3.1</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>

6 配置hdfs-site.xml

        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
	<!-- 按照自己的路径配置-->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/export/data/hadoop-3.3.1/tmp/dfs/name</value>
        </property>
	<!-- 按照自己的路径配置-->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/export/data/hadoop-3.3.1/tmp/dfs/data</value>
        </property>

7 配置mapred-site.xml

<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
<!-- MR程序历史服务器端地址 -->
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>node1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node1: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>

注意: HADOOP_HOME待会要在环境变量中配置。

8 配置yarn-site.xml

<!-- 设置YARN集群主角色运行机器位置 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</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://node1:19888/jobhistory/logs</value>
</property>
<!-- 保存的时间7天 -->
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>

9 配置环境变量

vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重新加载环境变量 验证是否生效
source /etc/profile
hadoop #验证环境变量是否生效

10 启动hadoop环境

10.1 格式化

  • NameNode format(格式化操作)
  • 首次启动HDFS时,必须对其进行格式化操作。
  • format本质上是初始化工作,进行HDFS清理和准备工作
  • 命令:hdfs namenode -format

format只能进行一次,后续不再需要,如果多次format除了造成数据丢失外,还会导致hdfs集群主从角色之间互不识别。通过删除所有机器hadoop.tmp.dir目录重新format解决。

注意:
如果执行多次在put文件的时候会报错如下:
在这里插入图片描述
解决办法:
首先关闭服务,然后删除data下的tmp文件夹,最后重新格式化并启动就可以解决。

10.2 启动



在node1上,使用软件自带的shell脚本一键启动。
HDFS集群
start-dfs.sh 
stop-dfs.sh 

YARN集群
start-yarn.sh
stop-yarn.sh

Hadoop整体集群
start-all.sh
stop-all.sh

启动完毕之后可以使用jps命令查看进程是否启动成功。

Hadoop启动日志路径:/export/server/hadoop-3.3.1/logs/
在这里插入图片描述

在这里插入图片描述

11 网址访问

需要在本地host配置映射后访问。

11.1 HDFS集群

地址:http://namenode_host:9870
其中namenode_host是namenode运行所在机器的主机名或者ip
如果使用主机名访问,别忘了在Windows配置hosts

http://node1:9870/
在这里插入图片描述
HDFS文件系统Web页面浏览
在这里插入图片描述

11.2 YARN集群

地址:http://resourcemanager_host:8088
其中resourcemanager_host是resourcemanager运行所在机器的主机名或者ip
如果使用主机名访问,别忘了在Windows配置hosts

http://node1:8088/cluster
在这里插入图片描述

12 HDFS 初体验

  1. HDFS本质就是一个文件系统。
  2. 有目录树结构 和Linux类似,分文件、文件夹。

12.1 shell命令操作

//创建文件夹
hadoop fs -mkdir /itcast
//上传文件
hadoop fs -put test.out /itcast
// 列出HDFS线上根目录
hadoop fs -ls /

12.2 Web UI页面操作

在这里插入图片描述

13 MapReduce+YARN 初体验

13.1 评估圆周率π

执行Hadoop官方自带的MapReduce案例,评估圆周率π的值。

cd /export/server/hadoop-3.3.1/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-3.3.1.jar pi 2 4

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

13.2 单词统计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术闲聊DD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值