Hadoop的安装和使用

2023-05-16

前言:
这个Hadoop的安装和使用操作起来很容易出错,反正各种的问题,所以在实验过程中需要细心、重复,有的时候是机器的问题,还有配置的问题。
下面我讲一下我遇到的坑!


第3章 Hadoop的安装和使用

注:本教程全部统一采用hadoop用户名登录Linux系统,用户名:hadoop 密码:hadoop

3.1 安装 Hadoop 前的准备工作

​ 本节介绍安装Hadoop之前的一些准备工作,包括更新APT、安装SSH和安装Java环境等。

3.1.1 更新 APT

为了确保Hadoop安装过程顺利进行,建议执行下面命令更新APT软件:

$ sudo apt-get update

3.1.2 安装 SSH

Ubuntu默认已安装了SSH客户端,因此,这里还需要安装SSH服务端,请在Linux的终端中执行以下命令:

$ sudo apt-get install openssh-server

在这里插入图片描述

安装后,可以使用如下命令登录本机:

$ ssh localhost

执行该命令后会,会出现“yes/no”选择提示,输入“yes”,然后按提示输入密码hadoop,就登录到本机了。

然后,请输入命令“exit”退出刚才的SSH,就回到了原先的终端窗口;然后,可以利用ssh-keygen生成密钥,并将密钥加入到授权中,命令如下:

$ cd ~/.ssh/        # 若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa    # 会有提示,都按回车即可
$ cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

​ 此时,再执行ssh localhost命令,无需输入密码就可以直接登录了。

3.1.3 安装 Java 环境

在Linux终端中,执行如下命令:

$ sudo apt-get install default-jre default-jdk

​ 上述安装过程需要访问网络下载相关文件,请保持联网状态。安装结束以后,需要配置JAVA_HOME环境变量,请在Linux终端中输入下面命令打开当前登录用户的环境变量配置文件.bashrc:

$ vim ~/.bashrc

​ 在文件最前面添加如下单独一行(注意,等号“=”前后不能有空格),然后 保存退出
export JAVA_HOME=/usr/lib/jvm/default-java

注意:保存退出,按insert才能添加内容;添加完毕后,按esc键退出添加状态;然后直接键盘输入:wq,这个在哪输入都可以;这样就保存退出了

接下来,要让环境变量立即生效,请执行如下代码:

$ source ~/.bashrc    # 使变量设置生效

​ 执行上述命令后,可以检验一下是否设置正确:

$ echo $JAVA_HOME     # 检验变量值
$ java -version
$ $JAVA_HOME/bin/java -version  # 与直接执行java -version一样

​ 至此,就成功安装了Java环境。下面就可以进入Hadoop的安装。


3.2 安装Hadoop

Hadoop包括三种安装模式:

单机模式:只在一台机器上运行,存储是采用本地文件系统,没有采用分布式文件系统HDFS;
伪分布式模式:存储采用分布式文件系统HDFS,但是,HDFS的名称节点和数据节点都在同一台机器上;
分布式模式:存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上。
本节介绍Hadoop的具体安装方法,包括下载安装文件、单机模式配置、伪分布式模式配置、分布式模式配置等。

3.2.1 下载安装文件

到Hadoop官网下载安装文件hadoop-2.7.1.tar.gz,假设下载得到的安装文件为hadoop-2.7.1.tar.gz。下载完安装文件以后,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在“/usr/local/”目录下。请使用hadoop用户登录Linux系统,打开一个终端,执行如下命令:

$ cd  ~/下载     # 进入下载目录
$ wget http://10.132.239.12:8000/file/hadoop-2.7.1.tar.gz  # 下载hadoop软件
$ sudo tar -zxf ~/下载/hadoop-2.7.1.tar.gz -C /usr/local   # 解压到/usr/local中
$ cd /usr/local/
$ sudo mv ./hadoop-2.7.1/ ./hadoop      # 将文件夹名改为hadoop
$ sudo chown -R hadoop ./hadoop       # 修改文件权限

​ Hadoop解压后即可使用,可以输入如下命令来检查 Hadoop是否可用,成功则会显示 Hadoop版本信息:

$ cd /usr/local/hadoop
$ ./bin/hadoop version

3.2.2 单机模式配置

Hadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。Hadoop附带了丰富的例子,运行如下命令可以查看所有例子:

$ cd /usr/local/hadoop
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar

上述命令执行后,会显示所有例子的简介信息,包括grep、join、wordcount等。这里选择运行grep例子,可以先在“/usr/local/hadoop”目录下创建一个文件夹input,并复制一些文件到该文件夹下,然后,运行grep程序,将 input文件夹中的所有文件作为grep的输入,让grep程序从所有文件中筛选出符合正则表达式“dfs[a-z.]+”的单词,并统计单词出现的次数,最后,把统计结果输出到“/usr/local/hadoop/output”文件夹中。完成上述操作的具体命令如下:

$ cd /usr/local/hadoop
$ mkdir input
$ cp ./etc/hadoop/*.xml ./input   # 将配置文件复制到input目录下
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
$ cat ./output/*          # 查看运行结果

执行成功后,输出了作业的相关信息,输出的结果是符合正则表达式的单词 “dfsadmin”出现了1次。

需要注意的是,Hadoop默认不会覆盖结果文件,因此,再次运行上面实例会提示出错。如果要再次运行,需要先使用如下命令把output文件夹删除:

$ rm -r ./output

3.2.3 伪分布式模式配置

Hadoop可以在单个节点(一台机器)上以伪分布式的方式运行,同一个节点既作为名称节点(NameNode),也作为数据节点(DataNode),读取的是分布式文件系统 HDFS 中的文件。

修改配置文件

在这里插入图片描述
这里修改配置文件:需要我们进入虚拟机左侧的文件计算机文件夹内,找到下面路径下面的文件,然后右击文件,选择打开方式vim,然后就可以进行编辑了,可以复制粘贴进去,在粘贴的时候需要右击鼠标才能粘贴哦~,然后同样的方法保存退出。

需要配置相关文件,才能够让Hadoop在伪分布式模式下顺利运行。Hadoop的配置文件位于“/usr/local/hadoop/etc/hadoop/”中,进行伪分布式模式配置时,需要修改2个配置文件,即core-site.xml和hdfs-site.xml。

可以使用vim编辑器打开core-site.xml文件,它的初始内容如下:

<configuration>
</configuration>

​ 修改以后,core-site.xml文件的内容如下:

<configuration>
   <property>
       <name>hadoop.tmp.dir</name>
       <value>file:/usr/local/hadoop/tmp</value>
       <description>Abase for other temporary directories.</description>
   </property>
   <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
   </property>
</configuration>

​ 在上面的配置文件中,hadoop.tmp.dir用于保存临时文件,若没有配置hadoop.tmp.dir这个参数,则默认使用的临时目录为“/tmp/hadoo-hadoop”,而这个目录在Hadoop重启时有可能被系统清理掉,导致一些意想不到的问题,因此,必须配置这个参数。fs.defaultFS这个参数,用于指定HDFS的访问地址,其中,9000是端口号。

同样,需要修改配置文件hdfs-site.xml,修改后的内容如下:

<configuration>
   <property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>file:/usr/local/hadoop/tmp/dfs/name</value>
   </property>
   <property>
       <name>dfs.datanode.data.dir</name>
       <value>file:/usr/local/hadoop/tmp/dfs/data</value>
   </property>
</configuration>

执行名称节点格式化

修改配置文件以后,要执行名称节点的格式化,命令如下:

$ cd /usr/local/hadoop
$ ./bin/hdfs namenode -format

​ 如果格式化成功,会看到“successfully formatted”和“Exitting with status 0”的提示信息,若为“Exitting with status 1”,则表示出现错误。

启动Hadoop

执行下面命令启动Hadoop:

$ cd /usr/local/hadoop
$ ./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

​ 启动时可能会出现如下警告信息:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable WARN
这个警告提示信息可以忽略,并不会影响Hadoop正常使用。

​ Hadoop启动完成后,可以通过命令 jps 来判断是否成功启动,命令如下:

$ jps

若成功启动,则会列出如下进程:NameNode、DataNode和SecondaryNameNode。
在这里插入图片描述

​ 通过start-dfs.sh命令启动Hadoop以后,就可以运行MapReduce程序处理数据,此时是对HDFS进行数据读写,而不是对本地文件进行读写。

使用Web界面查看HDFS信息

Hadoop成功启动后,可以在Linux系统中(不是Windows系统)打开一个浏览器,在地址栏输入地址“http://localhost:50070”,就可以查看名称节点和数据节点信息,还可以在线查看 HDFS 中的文件。
在这里插入图片描述

运行Hadoop伪分布式实例

上面的单机模式中,grep例子读取的是本地数据,伪分布式模式下,读取的则是分布式文件系统HDFS 上的数据。要使用HDFS,首先需要在HDFS中创建用户目录(本教程全部统一采用hadoop用户名登录Linux系统),命令如下:

$ cd /usr/local/hadoop
$ ./bin/hdfs dfs -mkdir -p /user/hadoop

​ 接着需要把本地文件系统的“/usr/local/hadoop/etc/hadoop”目录中的所有xml文件作为输入文件,复制到分布式文件系统HDFS中的“/user/hadoop/input”目录中,命令如下:

$ cd /usr/local/hadoop
$ ./bin/hdfs dfs -mkdir input  #在HDFS中创建hadoop用户对应的input目录
$ ./bin/hdfs dfs -put ./etc/hadoop/*.xml input  #把本地文件复制到HDFS中

​ 复制完成后,可以通过如下命令查看HDFS中的文件列表:

$ ./bin/hdfs dfs -ls input

​ 执行上述命令以后,可以看到input目录下的文件信息。

在这里插入图片描述

​ 现在就可以运行Hadoop自带的grep程序,命令如下:

$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

​ 运行结束后,可以通过如下命令查看HDFS中的output文件夹中的内容:

$ ./bin/hdfs dfs -cat output/*

​ 需要强调的是,Hadoop运行程序时,输出目录不能存在,否则会提示如下错误信息:
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/user/hadoop/output already exists
因此,若要再次执行grep程序,需要执行如下命令删除HDFS中的output文件夹:

$ ./bin/hdfs dfs -rm -r output    # 删除 output 文件夹

关闭Hadoop

如果要关闭Hadoop,可以执行下面命令:

$ cd /usr/local/hadoop
$ ./sbin/stop-dfs.sh

​ 下次启动Hadoop时,无需进行名称节点的初始化(否则会出错),也就是说,不要再次执行“hdfs namenode -format”命令,每次启动Hadoop只需要直接运行start-dfs.sh命令即可。

配置PATH变量

前面在启动Hadoop时,都要加上命令的路径,比如,“./sbin/start-dfs.sh”这个命令中就带上了路径,实际上,通过设置PATH变量,就可以在执行命令时,不用带上命令本身所在的路径。具体操作方法是,首先使用vim编辑器打开“~/.bashrc”这个文件,然后,在这个文件的最前面位置加入如下单独一行:

export PATH=$PATH:/usr/local/hadoop/sbin

​ 添加后,执行命令“source ~/.bashrc”使设置生效。设置生效后,在任何目录下启动Hadoop,都只要直接输入start-dfs.sh命令即可,同理,停止Hadoop,也只需要在任何目录下输入stop-dfs.sh命令即可。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop的安装和使用 的相关文章

  • 学在西电课程回放下载与进度拖动

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 前言 最近发现学在西电的课程回放进度条不能拖动 xff0c 找了一个方法 xff0c 实现了进度拖动 xff0c 顺便实现了下载功
  • java中子类调用父类构造函数super()

    java中super 方法 讲到java中super 的方法 xff0c 就要提到java中面向对象的三大特性 xff1a 封装 继承 多态 xff0c 而说到类的继承 xff0c 我们就会提到子父类这个概念 xff0c 子父类就是一个类继
  • OpenCV基于形状的模板匹配

    OpenCV基于形状的模板匹配 引言基于形状的匹配算法具体代码KcgMatch hKcgMatch cppmain cpp 匹配的结果 引言 在OpenCV中有个用于模板匹配的基本函数matchTemplate xff0c 该函数使用某模板
  • Snipaste2.7.3下载安装与使用(超实用的截图利器)

    目录 简介 下载 解压 使用 补充 总结 简介 Snipaste是一款使用非常便捷的截图软件 xff0c 免安装 xff0c 不仅能将截图钉在屏幕上 xff0c 还能将复制的文本转换成图片钉在屏幕上 下载 1 在浏览器地址栏输入 xff1a
  • ESP8266从零学起第一课入门测试(超详细)

    ESP8266从零学 笔记 L1 ESP8266的入门测试 P1 blinker APP控制Esp8266板载LED 前言 因为是初学者所以特别希望能有一份详细的教程 xff0c 可是俺没找到 xff0c 所以就写了这么一篇文章 xff0c
  • Xshell6下载

    Xshell可以在Windows界面下用来访问远端不同系统下的服务器 xff0c 从而比较好的达到远程控制终端的目的 xff0c Xshell是一款非常好用的linux远程操作工具 懒的看下面的可以直接去我百度网盘上下载 链接 xff1a
  • pom文件parent标签报错解决办法(不同的方法)

    前段时间创建导入项目 xff0c pom文件的parent标签总是报错 xff0c 导致项目里面所有关于spring的全部都报错 xff0c 一片红 xff0c 很是不爽 xff0c 项目进行不下去 xff0c 尝试找了网上许多办法 xff
  • 5. 文件属性信息

    文章目录 1 文件属性概念2 文件属性详细说明 文件类型2 1 文件类型概念2 2 区分文件类型方法3 常见文件类型2 4 扩展命令说明 3 课程知识回顾总结 课程知识回顾4 find命令查找信息补充4 1 查看找文件数据信息 xff1a
  • 51定时器及计数器的使用(复习总结)

    该知识点来源于B站知弦 xff0c 本章便是对其定时器计数器应用的简单总结 xff01 xff01 xff01 一 定时器与计数器原理 原理 1 TMOD有八位 xff0c 其实可以分为高四位及低四位 xff0c 高四位为定时器1 xff0
  • Python利用turtle库画虚线

    Python利用turtle库画虚线 import turtle as t 给予turtle库一个t的别称 t setup 600 600 200 100 t speed 0 说明速度 t pencolor red 说明颜色 for i i
  • 华为手机(Android系统)备忘录转移至iOS

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 本文仅可转移纯文字备忘录 苹果的转移至iOS不能转移备忘录 xff0c 备忘录也无法在文件系统里直接找到 xff0c 所以找了这个
  • ubuntu 18.04系统解决E: 仓库 “http://ppa.launchpad.net/webupd8team/java/ubuntu eoan Release” 没有 Release 文件。

    问题描述 xff1a 在终端换源后遇到E 仓库 http ppa launchpad net webupd8team java ubuntu eoan Release 没有 Release 文件 问题详情如下所示 解决方法 xff1a 将对
  • ImageDataGenerator读取的数据集转Numpy array

    ImageDataGenerator读取的数据集转Numpy array 2021 6 21更新 xff1a 常用的数据集类型可以分为两种 xff1a xff08 1 xff09 一种是网上的经典数据集 xff0c 比如mnist xff0
  • ROS系统 创建工作空间与功能包

    ROS 学习目标 xff1a 学习内容 xff1a 使用环境 操作步骤 xff1a 基本命令 二 使用步骤创建工作空间编译工作空间创建功能包 使用C 43 43 执行程序编写源文件编辑功能包下的 Cmakelist txt文件修改目标链接库
  • 计算机网络与互联网(了解)

    文章目录 1 0 相关术语 Terms 1 1 什么是互联网1 2 互联网发展史1 3 网络体系结构1 3 1 网络边缘 Network Edge 1 3 2 网络核心 Network Core 1 3 3 接入网络与物理媒体 1 4 De
  • python库的安装、卸载和查询

    python库的安装 卸载和查询 安装库 方法1 xff1a pip install xxx 如图1所示 xff0c 在命令提示符窗口输入pip install xxx xff0c 即可在线安装指定库 xff0c 如输入pip instal
  • 计算机三级 数据库技术 前言

    考试内容及要求 1 掌握数据库技术的基本概念 原理 方法和技术 2 能够使用SQL语言实现数据库操作 3 具备数据库系统安装 配置及数据库管理与维护的基本技能 4 掌握数据库管理与维护的基本方法 5 掌握数据库性能优化的基本方法 6 了解数
  • 计算机三级 数据库技术(Chapter 2)

    第二章 xff1a 需求分析 主要内容 xff1a 需求分析的相关概念以及主要方法需求建模方法案例分析 Class 1 需求分析 1 需求分析的概念与意义 需求 xff1a 需求是指用户对软件的功能和性能的要求 就是用户的要求内容以及对要求
  • 微分几何 Class 1 向量空间

    微分几何 作为一名大三下的数学专业学生 xff0c 我本学期将实时将我所感兴趣的一门课微分几何笔记以及一些总结同步到我的博客上 xff0c 以便进行学习总结与自我督促 参考书 微分几何 苏步青 xff0c 胡和生 xff08 2016 xf
  • 微分几何 Class 2 欧氏空间

    欧氏空间 在上完上一节课之后 xff0c 我才意识到 xff0c 欧氏空间和欧氏向量空间原来不是同一个东西 但是在介绍欧氏空间之前 xff0c 我们首先来了解一下什么叫做仿射空间 Part One 仿射空间 定义 xff1a 仿射空间 设

随机推荐

  • 歌评-《Rex Incognito 尘世闲游》-陈致逸

    时隔一周时间了 xff0c 终于又找到了时间来更新我的歌评内容 虽然身被学校关了起来 xff0c 但是心里还是在歌曲的梦幻世界中畅游hhh 今天我们来听的歌曲也是 The Stellar Moments 闪耀的群星OST专辑中的一首 xff
  • 将Maven的Docker镜像修改为国内源

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 前提 在使用Dockerfile构建镜像时 xff0c Maven的Docker镜像内置的是官方源 xff0c 使用起来下载速度太
  • 我看文二代

    文二代 文二代 xff0c 其实就是人们常说的文坛的后辈子女 xff0c 即父母是搞文学的作家 xff0c 子女也和文学脱不了干系 前一段 xff0c 贾平凹的女儿贾浅浅因为其浅浅体诗歌以及部分奇奇怪怪的内容上了热搜 被许多网友痛骂 对此
  • 码农多打拼5年对生子的影响

    码农多打拼五年对生子决策的影响 首先我们确定在这个问题中要处理的对象 xff1a 单个个体 他会有哪些属性呢 xff1f 1 退休年限 2 生活状态 我们要分析的是一个事件对生子数目的影响 xff0c 其实在现当代 xff0c 因为过大的工
  • 微分几何 Class 3 曲线,曲率与挠率

    正则曲线 什么是曲线 在空间中 xff0c 我们会见到各种各样的形状 xff0c 但无论什么形状 xff0c 其根本还是由点和线来构成的 xff0c 这里我们的线是一个直观的理解 xff0c 就是一条直直的 xff0c 有的也是弯的那样的
  • 随机过程 番外篇(随机拟合作业解答)

    一晚上写了三道随机过程的随机模拟的代码 xff0c 分享出来给大家做个参照 1 如果一个随机变量服从的是期望为 mu xff0c 协方差矩阵为 Sigma
  • 小云的生日史书

    小云的生日史 xff1a 生日10月21日 前三岁历史暂且不记录 xff0c 史前时期 xff0c 资料不详 四岁生日 xff1a 白天去了姥姥姥爷家去玩 xff0c 他们都对我的生日表示了祝福 下午便回到了奶奶家里 xff0c 等着生日p
  • 信息论篇-第一次上机作业,你好!

    信息论第一次上机作业 1 图像信源熵的求解 读入一幅图像 实现求解图片信源的熵 span class token triple quoted string string 1 图像信源熵的求解 读入一幅图像 实现求解图片信源的熵 span s
  • 媒体科创部 学习分享 非线性规划

    非线性规划 哇哈哈 xff0c 这次轮到我来讲了 xff0c 虽然很懒 xff0c 但是还是来写博客了 这次我们要谈的东西是非线性规划 非线性规划 非线性规划的定义 目标or限制中包含着非线性函数 线性规划与非线性规划的区别 如果线性规划的
  • 多玩家赌徒输光问题

    在随机过程课堂上我们考虑了赌徒输光问题 知道了成本和概率变化的情况将对赌徒甲和赌徒乙的赌博结果产生了怎样的影响 考虑的问题主要有以下几个方面 本金对胜负的影响 概率对胜负的影响 本金对持续轮数的影响 概率对持续轮数的影响 对上述问题的综合考
  • Spring Boot(Maven)+Docker打包

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 本文可以实现 xff1a 将Spring Boot项目从GitHub clone到服务器上后 xff0c 一条命令直接完成依赖下载
  • 解决静态资源文件js/css缓存问题(超详细总结版)

    什么是静态资源文件 顾名思义 xff0c 静态资源文件就是js css img等非服务器动态运行生成的文件 xff0c 统称为静态 资源文件 为什么要缓存静态资源文件 静态资源文件是基本不会改变的 xff0c 没必要每次都从服务器中获取 也
  • 微分几何工具代码

    span class token keyword import span math span class token keyword from span sympy span class token keyword import span
  • 【璀璨数海】第一期 隐函数定理

    隐函数定理 鸽了好久了 xff0c 大三生活真的好累啊 xff01 quad quad 前两天夏令营面试的时候被问到了隐函数定理 xff0c 特此专门写一篇博文来重新复习讲解一下隐函数定理的内容 定理内容 xff1a 假定
  • hive安装与配置

    hive的安装与配置 hive介绍 xff1a Hive是基于Hadoop的一个数据仓库工具 xff0c 可以将结构化的数据文件映射为一张数据库表 xff0c 并提供类SQL查询功能 准备工作 xff1a hadoop集群成功部署卸载自带的
  • 原生spark与pyspark使用比较

    pyspark与原生spark xff08 scala xff09 比较 在学习完spark这个优秀的计算框架后 xff0c 因为当时的学习使用了python api对spark进行交互 xff0c 编写spark的原生语言为sacla x
  • Spark基础测试题

    因最近学习了scala重温spark xff0c 本篇主要是spark rdd的基础编程题 原题目地址 xff1a 题目地址 数据准备 本题所需的数据 data txt 数据结构如下依次是 xff1a 班级 姓名 年龄 性别 科目 成绩 1
  • Spark基础练习系列

    因最近学习了scala重温spark xff0c 本篇主要是spark sql与rdd的基础编程题 第一部分SparkRDD xff1a 原题目地址 xff1a 题目地址 数据准备 本题所需的数据 data txt 数据结构如下依次是 xf
  • sparkstream消费kafka序列化报错

    本篇介绍在window运行环境下 xff0c 使用spark消费kafka数据遇到的几个坑 调试环境IDEA 依赖 span class token operator lt span dependency span class token
  • Hadoop的安装和使用

    前言 xff1a 这个Hadoop的安装和使用操作起来很容易出错 xff0c 反正各种的问题 xff0c 所以在实验过程中需要细心 重复 xff0c 有的时候是机器的问题 xff0c 还有配置的问题 下面我讲一下我遇到的坑 xff01 第3