热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop安装详细教程单机版

Hadoop安装进程目录前言一、Hadoop是什么?二、Hadoop单机版安装1.安装步骤2.Hadoop运行模式3.Hadoop集群配置三、总结前言随着人工智能的


Hadoop安装进程目录

  • 前言
  • 一、Hadoop是什么?
  • 二、Hadoop单机版安装
    • 1.安装步骤
    • 2.Hadoop运行模式
    • 3.Hadoop集群配置
  • 三、总结




前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文介绍了机器学习的基础内容。



提示:以下是本篇文章正文内容,下面案例仅供参考。


一、Hadoop是什么?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储以及分析计算的问题,并且含有一个更广泛的概念——Hadoop生态圈。
Hadoop是大数据集成技术之一的


二、Hadoop单机版安装


1.安装步骤

① Hadoop解压
安装前已经完成主机配置以及JDK安装,这里不多详细介绍。
咱们开始:
首先 (Hadoop默认安装在家目录下的 /opt/module/ 没有就使用 mkdir 命令创建)
代码如下(示例):

[kira@hadooploca7 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

等待安装完毕后检查是否解压成功

[kira@hadooploca7 software]$ ls /opt/module/
hadoop-3.1.3

② 环境配置
我们老师在教我们的时候把Hadoop解压后的文件夹名从 hadoop-3.1.3 改成 hadoop 这样比较方便后续操作。
打开 /etc/profile.d/my_env.sh 文件(如果忘记解压到哪里了使用 pwd 查询、vim命令修改不成功使用 sudo )

[kira@hadooploca7 hadoop]$ sudo vim /etc/profile.d/my_env.sh

在my_env.sh文件末尾 添加如下内容:

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

保存并退出 source 一下让变量生效

[kira@hadooploca7 hadoop]$ source /etc/profile

测试是否安装成功

[kira@hadooploca7 hadoop]$ hadoop version
Hadoop 3.1.3

reboot 一下 ~

[kira@hadooploca7 hadoop]$ sudo reboot

查看Hadoop目录结构(已经使用一段时间 所以文件有增添变化)

[kira@hadooplocal7 hadoop]$ ll
总用量 92
drwxr-xr-x. 2 kira kira 203 6月 15 13:52 bin
drwxr-xr-x. 4 kira kira 37 6月 28 16:25 data
drwxr-xr-x. 3 kira kira 20 6月 15 13:15 etc
drwxr-xr-x. 2 kira kira 106 6月 15 13:52 include
drwxr-xr-x. 3 kira kira 20 6月 15 13:52 lib
drwxr-xr-x. 4 kira kira 288 6月 15 13:52 libexec
-rw-rw-r--. 1 kira kira 23450 6月 15 13:02 LICENSE-binary
drwxr-xr-x. 2 kira kira 4096 6月 15 13:52 licenses-binary
-rw-rw-r--. 1 kira kira 15217 6月 15 13:02 LICENSE.txt
drwxr-xr-x. 3 kira kira 4096 6月 28 16:35 logs
-rw-rw-r--. 1 kira kira 29473 6月 15 13:02 NOTICE-binary
-rw-rw-r--. 1 kira kira 1541 5月 22 00:11 NOTICE.txt
-rw-rw-r--. 1 kira kira 175 5月 22 00:11 README.txt
drwxr-xr-x. 3 kira kira 4096 10月 28 15:36 sbin
drwxr-xr-x. 4 kira kira 31 6月 15 14:18 share

Hadoop 重要目录:
bin 目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本。
etc 目录:Hadoop的配置文件目录,存放Hadoop的配置文件。
lib 目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)。
sbin 目录:存放启动或停止Hadoop相关服务的脚本。
share 目录:存放Hadoop的依赖jar包、文档、和官方案例。


2.Hadoop运行模式

完全分布式是我们的开发重点,这篇帖子先给大家介绍如何进行单机版配置
Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。
① 本地模式:单机运行,只是用来演示案例,生产环境不推荐使用。
② 也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境,我们用来测试,生产环境不推荐使用。
③ 多台服务器组成分布式环境,模拟真实生产环境推荐使用。


3.Hadoop集群配置

① 集群配置
Ⅰ. 集群规划部署
(完全分布式按此规划,单机版跳过)
ⅰ. ⅲNameNode和SecondaryNameNode不要安装在同一台虚拟机(服务器)。
ⅱ. ResourceManager 也很消耗内存,不要和 NameNode 、 SecondaryNameNode 配置在同一台虚拟机(服务器)上。
默认文件配置
咱也不知道,咱也不敢问~ 照着做就OK呐
#NameNode 、 ResourceManager 、 SecondaryNameNod 单机版配置在同一机器上,完全分布式需要分别配置,因为它们都比较消耗内存,分开配置可以减小竞争压力~ (土豪、大佬除外)

Ⅱ. 配置文件说明
Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
ⅰ. 默认配置文件:
[core-default.xml]
[hdfs-default.xml]
[yarn-default.xml]
[mapred-default.xml]
ⅱ. 自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在 /hadoop 解压包里的 /hadoop 这个路径(根据下面操作),用户可以根据项目需求重新进行修改配置。
Ⅲ. 配置集群
ⅰ. 核心配置文件
[配置 .xml 文件中修改或添加]
配置 core-site.xml
切换到该文件路径

[kira@hadooplocal7 ~]$ cd /opt/module/hadoop/etc/hadoop/

或者

[kira@hadooplocal7 ~]$ cd $HADOOP_HOME/etc/hadoop

接下去使用 vim 命令修改该 xml 文件

[kira@hadooplocal7 hadoop]$ vim core-site.xml

修改内容如下


fs.defaultFShdfs://hadoop102:8020hadoop.tmp.dir/opt/module/hadoop-3.1.3/datahadoop.http.staticuser.useratguigu

ⅱ. HDFS 配置文件
配置 hdfs-site.xml
一样的使用 vim 命令修改该 xml 文件

[kira@hadooplocal7 hadoop]$ vim hdfs-site.xml

修改内容如下:


dfs.namenode.http-addresshadoop102:9870dfs.namenode.secondary.http-addresshadoop104:9868

ⅲ. YARN 配置文件
配置 yarn-site.xml
一样的使用 vim 命令修改该 xml 文件

[kira@hadooplocal7 hadoop]$ vim yarn-site.xml

修改内容如下:



yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.hostnamehadoop103yarn.nodemanager.env-whitelistJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

ⅳ. MapReduce 配置文件
配置 mapred-site.xml
一样的使用 vim 命令修改该 xml 文件

[kira@hadooplocal7 hadoop]$ vim mapred-site.xml

修改内容如下:


mapreduce.framework.nameyarn

Ⅳ. 检查 Hadoop 配置文件

[kira@hadooplocal7 hadoop]$ cat core-site.xml
[kira@hadooplocal7 hadoop]$ cat hdfs-site.xml
[kira@hadooplocal7 hadoop]$ cat yarn-site.xml
[kira@hadooplocal7 hadoop]$ cat mapred-site.xml

检查修改后与上述文件是否一致

②群起集群
Ⅰ.配置 workers

[kira@hadooplocal7 hadoop]$ vim /opt/module/hadoop/etc/hadoop/workers

在该文件中添加内容:(注意不能有空格和空行)

hadooplocal7
hadooplocal8
hadooplocal9

Ⅱ. 启动集群
如果集群是第一次启动需要在 hadooplocal7 节点格式化 NameNode
(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。)
使用 hadoop 文件夹下 sbin 文件中命令进行
ⅰ. 格式化 NameNode

[kira@hadooplocal7 hadoop]$ hdfs namenode -format

ⅱ. 启动 HDFS

[kira@hadooplocal7 hadoop]$ sbin/start-dfs.sh

ⅲ. 在配置了ResourceManager的节点(hadooplocal9)启动YARN

[kira@hadooplocal7 hadoop]$ sbin/start-yarn.sh

ⅳ. Web端查看 HDFS 的 NameNode(打开 CentOS 8 中的火狐浏览器)
1、浏览器中输入:http://hadooplocal8:9870
单机版输入:http://hadooplocal7:9870 (9870为端口号,你设置为哪个就输入哪个一般来说是8090 这里是9870)
2、查看 HDFS 的上存储的数据信息
ⅴ. Web端查看 YARN 的 ResourceManager(打开 CentOS 8 中的火狐浏览器)
1、浏览器中输入:http://hadooplocal9:8088
单机版输入:http://hadooplocal7:8088
2、查看 YARN 上运行的Job信息

③配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。(单机版直接跳过)
Ⅰ. 配置mapred-site.xml

[kira@hadooplocal7 hadoop]$ vim mapred-site.xml

ⅰ. 在文件里增添配置:


mapreduce.jobhistory.addresshadoop102:10020

mapreduce.jobhistory.webapp.addresshadoop102:19888

ⅱ. 在 hadooplocal8 启动历史服务器:

[kira@hadooplocal7 hadoop]$ mapred --daemon start historyserver

ⅲ. 查看历史服务器是否启动

[kira@hadooplocal7 hadoop]$ jps

ⅳ. 查看 JobHistory
浏览器中输入:http://hadooplocal8:19888/jobhistory
单机版输入:http://hadooplocal7:19888/jobhistory

篇幅过大先不开启日志聚集功能,开启日志聚集需要重新启动 NodeManager 、 ResourceManage 和 HistoryServer

④ 集群启动 / 停止方式总结
Ⅰ. 各个模块分开启动 / 停止(配置ssh免密为前提,不知道怎么配置ssh可以问度娘)
ⅰ. 启动 / 停止 HDFS (使用 hadoop 文件夹中 sbin 文件下的命令)

[kira@hadooplocal7 hadoop]$ start-hdfs.sh
[kira@hadooplocal7 hadoop]$ stop-hdfs.sh

ⅱ. 启动 / 停止 YARN (使用 hadoop 文件夹中 sbin 文件下的命令)

[kira@hadooplocal7 hadoop]$ start-yarn.sh
[kira@hadooplocal7 hadoop]$ stop-yarn.sh

Ⅱ. 各个服务组件逐一启动 / 停止
ⅰ. 分别启动 / 停止 HDFS 组件

[kira@hadooplocal7 hadoop]$ hdfs --daemon start namenode/datanode/secondarynamenode
[kira@hadooplocal7 hadoop]$ hdfs --daemon stop namenode/datanode/secondarynamenode

ⅱ. 启动 / 停止 YARN

[kira@hadooplocal7 hadoop]$ yarn --daemon start resourcemanager/nodemanager
[kira@hadooplocal7 hadoop]$ yarn --daemon stop resourcemanager/nodemanager

Ⅲ. 启动 / 停止整体服务(使用 hadoop 文件夹中 sbin 文件下的命令)

[kira@hadooplocal7 hadoop]$ start-all.sh
[kira@hadooplocal7 hadoop]$ stop-all.sh



三、总结

这里对文章进行总结:
如果要完成完全分布式集群还需要在克隆另外两台虚拟机并安装配置Hadoop 、集群时间同步等操作,我们可以编写一些集群脚本控制集群启动 / 停止、分发文件等,使用 rsync 进行分发文件,效率更快~
还有安装Hadoop之前的主机IP配置及JDK安装还有ssh免密登录等参考这儿~
Hadoop环境搭建

文章不一定严谨,欢迎大佬指导!

最后祝大家学习愉快~


推荐阅读
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
author-avatar
传说中DE神
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有