Hadoop 3.2.2 安装与使用文档超详细图文步骤

1、简介

1.1、概述

Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。

1.2、官网

Hadoop 官网

2、准备工作

2.1、修改主机名称

# 修改主机名称
hostnamectl set-hostname master

2.2、配置主机名跟 IP 地址映射

# 所有机器都需编辑 hosts 文件
vi /etc/hosts
 
# 添加如下内容
192.168.1.2 master

2.3、安装 JDK 8

Centos 7 安装 JDK8

3、Hadoop 下载

在这里插入图片描述

4、Hadoop 安装

4.1、创建 hadoop 相关目录

# 创建 hadoop 应用目录
mkdir -p /home/app/hadoop

# 创建 hadoop dfs 数据目录
mkdir -p /home/app/hadoop/data/dfs/data

# 创建 hadoop dfs 名称目录
mkdir -p /home/app/hadoop/data/dfs/name

# 创建 hadoop 临时数据目录
mkdir -p /home/app/hadoop/data/temp

4.2、解压 hadoop 软件包

# 访问 hadoop 应用目录
cd /home/app/hadoop

# 解压 hadoop 软件压缩包
tar -zxvf hadoop-3.2.2.tar.gz

4.3、配置环境变量

#配置当前用户环境变量
vi ~/.bash_profile
 
#在文件中添加如下命令,记得切换自己文件路径
export HADOOP_HOME=/home/app/hadoop/hadoop-3.2.2
export PATH=$HADOOP_HOME/bin:$PATH
 
#立即生效
source ~/.bash_profile

4.4、hadoop 配置

# 访问 hadoop 配置文件目录
cd $HADOOP_HOME/etc/hadoop

4.4.1、hadoop-env.sh

# 编辑 hadoop-env.sh
vi hadoop-env.sh

# 设置 java 环境变量
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

在这里插入图片描述

4.4.2、core-site.xml

# 编辑 core-site.xml
vi core-site.xml

# 在文件中添加如下命令
<configuration>
	<!-- 指定HDFSNameNode的地址 -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:6001</value>
	</property>
 
	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/app/hadoop/data/temp</value>
	</property>
</configuration>

在这里插入图片描述

4.4.3、hdfs-site.xml

# 编辑 hdfs-site.xml
vi hdfs-site.xml
 
# 在文件中添加如下命令
<configuration>
	<!-- 设置dfs副本数 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!-- hdfs的web管理页面的端口 -->
    <property>
		<name>dfs.http.address</name>
		<value>0.0.0.0:50070</value>
	</property>
    <!-- 设置secondname的端口 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:6002</value>
    </property>
    <!-- name目录 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/app/hadoop/data/dfs/name</value>
    </property>
    <!-- data目录 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/app/hadoop/data/dfs/data</value>
    </property>
</configuration>

在这里插入图片描述

4.4.4、mapred-site.xml

# 编辑mapred-site.xml
vi mapred-site.xml
 
# 在文件中添加如下命令
<configuration>
    <!-- 指定mr运行在yarn上 -->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
</configuration>

在这里插入图片描述

4.4.5、yarn-site.xml


# 编辑 yarn-site.xml
vi yarn-site.xml
 
# 在文件中添加如下命令
<configuration>
    <!-- reducer 获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定 YARNResourceManager 的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
 
    <!-- 该节点上YARN可使用的物理内存总量,默认是 8192MB-->
    <!-- 注意,如果你的节点内存资源不够8GB,则需要调减小这个值 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>6144</value>
    </property>
 
    <!-- 单个任务可申请最少内存,默认 1024 MB -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>
  
    <!-- 单个任务可申请最大内存,默认 8192 MB -->
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>6144</value>
    </property>
</configuration>

在这里插入图片描述

4.4.6、slaves

# 编辑slaves
vi slaves

# 在文件中添加如下
192.168.1.217

5、Hadoop 启动

5.1、启动需要格式化(注意:只有第一次需要)

# hadoop 格式化
hadoop namenode -format

5.2、启动 & 停止 hdfs

# 启动 hdfs
$HADOOP_HOME/sbin/start-dfs.sh
 
# 停止 hdfs
$HADOOP_HOME/sbin/stop-dfs.sh

5.2.1、异常情况一

Starting namenodes on [master]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [master]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

解决方案

# 在 start-dfs.sh 和 stop-dfs.sh 两个文件顶部添加以下参数

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

5.2.2、异常情况二

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Starting namenodes on [master]
Last login: Mon Sep  6 11:22:25 CST 2021 from 27.18.3.195 on pts/1
master: Warning: Permanently added 'master,172.17.200.78' (ECDSA) to the list of known hosts.
master: root@master: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Starting datanodes
Last login: Mon Sep  6 11:33:07 CST 2021 on pts/1
localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
localhost: root@localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Starting secondary namenodes [master]
Last login: Mon Sep  6 11:33:07 CST 2021 on pts/1
master: root@master: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

解决方案

设置 SSH 免密码登录

# 生成秘钥,无需指定口令密码,直接回车
ssh-keygen -t rsa
 
# 将公钥导入到认证文件
cat  ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5.3、启动 & 停止 yarn

# 启动 yarn
$HADOOP_HOME/sbin/start-yarn.sh
 
# 停止yarn
$HADOOP_HOME/sbin/stop-yarn.sh

yarn 启动异常

Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

解决方案

# 在 start-yarn.sh 和 stop-yarn.sh 两个文件顶部添加以下参数

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

5.4、查看 hadoop 进程

# 查看 hadoop 进程
jps

在这里插入图片描述

6、Hadoop 访问

6.1、hdfs 平台

# 访问地址
http://IP:50070

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

6.2、yarn平台

# 访问地址
http://IP:8088

在这里插入图片描述

7、部署成功,开始体验吧 ~

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值