【云计算平台】Hadoop单机模式环境搭建

这篇具有很好参考价值的文章主要介绍了【云计算平台】Hadoop单机模式环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Centos7环境 – Hadoop单机模式部署

正文开始@Assassin

【云计算平台】Hadoop单机模式环境搭建

接上一篇博客 点我跳转到虚拟机搭建,配置好虚拟机环境后进行hadoop单机模式的部署,我的云计算课程中只要求了简单的单机模式部署,如果有精力的话,应该会把伪分布式部署也简单地记录一下

1. Hadoop介绍:

Apache Hadoop 项目为可靠,可扩展的分布式计算开发开源软件;Hadoop软件库是一个计算框架,可以使用简单的编程模型以集群的方式对大型数据集进行分布式处理;

Apache Hadoop 软件库是一个框架,它允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,因此在计算机集群之上提供高可用性服务,每台计算机都可能容易出现故障。

2. Hadoop发展史及生态圈:

时间线 具体事件
2006年2月 成为一套完整而独立的软件,并被命名为Hadoop
2008年1月 Hadoop成为Apache顶级项目
2009年7月 MapReduce和HDFS成为Hadoop的独立子项目
2010年5月 Avro脱离Hadoop项目,成为Apache顶级项目
2010年5月 HBase脱离Hadoop项目,成为Apache顶级项目
2010年9月 Hive脱离Hadoop项目,成为Apache顶级项目
2010年9月 Pig脱离Hadoop项目,成为Apache顶级项目
2011年1月 Hadoop 1.0.0 版本发布
2012年10月 Impala加入Hadoop生态圈
2013年10月 Hadoop 2.0.0 版本发布
2014年2月 Spark成为Apache顶级项目
2017年12月 Hadoop 3.0.0 版本发布
2020年7月 Hadoop 3.3.0 版本发布

3. Hadoop核心功能及优势:

  • Hadoop Common:支持其他 Hadoop 模块的通用实用程序
  • Hadoop 分布式文件系统 (HDFS):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问;是Hadoop生态系统中的核心项目之一,也是分布式计算中数据存储管理的基础
  • Hadoop YARN:作业调度和集群资源管理的框架;可以为上层应用提供统一的资源管理和调度,为集群的资源利用率、统一管理、数据共享等方面提供了便利
  • Hadoop MapReduce:基于 YARN 的系统,用于并行处理大型数据集;Map阶段处理后形成键值对形式的中间结果;Reduce对中间结果相同的 " 键 " 对应的 " 值 " 进行处理,得到最终结果
特点 具体含义
扩容能力 (Scalable) 顾名思义hadoop作为分布式存储和计算的框架平台是在计算机集群内分配数据并行完成计算任务,而集群可以随时扩展到成百上千个节点上
低成本 (Economical) Hadoop通过普通且廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低
高效率 (Efficient) Hadoop可以在节点之间动态并行的移动数据,速度非常之快
可靠性 (Rellable) 能自动维护数据的多份复制,并且可以在任务失败后能自动的重新部署(redeploy)计算任务,所以说Hadoop的按位存储和处理数据的能力值得信赖
高容错性 (High fault tolerance) Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配

4. 部署方式介绍:

  • ① 单机模式(standalone mode):
    单机模式是最简单(默认)的安装模式,因为Hadoop本身是基于Java编写的,所以只要配置好Java的环境变量就可以运行了;在这种部署方式中我们不需要修改任何的配置文件,也不需要启动任何的服务,只需要解压缩、配置环境变量即可。虽然配置很简单,所以说能做的事情也是很少的,因为没有各种守护进程,所以分布式数据存储以及资源调度等等服务都是不能使用的,但是我们可以很方便的测试MapReduce程序

  • ② 伪分布模式(Pseudo-Distributed mode):
    伪分布模式是学习阶段最常用的模式,可以将进程都运行在同一台机器上。在这种模式下,可以模拟全分布模式下的运行状态,基本上可以完成全分布模式下的所有操作,伪分布模式是全分布模式的一个特例

  • ③ 全分布模式(cluster mode):
    在全分布模式下,会在配置文件中体现出主节点与分节点,可以指定哪些机器上运行哪些服务以达到的成本与效率的平衡。在企业中主要采用的都是全分布式模式,节点从数十个到上百个不等。在学习阶段,如果个人PC的性能足够强劲,也可以使用多台虚拟机代替

5. hadoop及jdk下载:

5.1 hadoop安装包下载:

在搜索引擎中直接搜索hadoop即可,注意二级域名是apache.org
【云计算平台】Hadoop单机模式环境搭建

进入到 Apache Hadoop 官方下载页面:Apache Hadoop Download
【云计算平台】Hadoop单机模式环境搭建
现在基本上使用的是开源社区版,目前的主流版本为2.x.x和3.x.x,这里就选用稳定性较好的 2.10.1 进行下载;页面中有 Source download 和 Binary download 两种,其中Source为源码,Binary为我们所需要的软件包,点击对应版本的Binary进入下载界面:
【云计算平台】Hadoop单机模式环境搭建
这里直接放出 2.10.1 Binary 版本的下载链接:hadoop 2.10.1下载链接

hadoop安装包下载完成:
【云计算平台】Hadoop单机模式环境搭建

5.2 jdk安装包下载:

在配置Hadoop前,需要先配置好JDK,在安装应先检查之前是否安装过jdk历史版本,如果安装过jdk,需卸载历史版本;接下来需下载jdk,在搜索引擎中搜索jdk:注意二级域名是 apache.com
【云计算平台】Hadoop单机模式环境搭建
现在企业中主流的jdk版本是 jdk1.8,所以这里我自然选择 jdk1.8 进行下载,jdk1.8下载链接
进入界面后根据列表的信息选择所需要的版本,32位系统对应x86,64位系统对应x64:这里选择 x64 Compressed Archive
【云计算平台】Hadoop单机模式环境搭建
点击右侧的下载链接,然后勾选接受网络许可协议就可以下载了:
【云计算平台】Hadoop单机模式环境搭建
这里还得配合oracle的账号来进行下载:
【云计算平台】Hadoop单机模式环境搭建
等不及的小伙伴可以通过百度网盘的链接进行下载:
jdk1.8-linux
提取码:1pva

jdk下载完成,一切准备就绪了~~
【云计算平台】Hadoop单机模式环境搭建

6. 安装及环境配置:

我的电脑不是很好,开虚拟机内存占用太大了,所以使用 xshell 连接虚拟机,接下来的操作全都在 xshell 中进行:

xshell ssh 远程连接虚拟机成功
【云计算平台】Hadoop单机模式环境搭建

6.1 jdk环境配置:

  • ① 查询jdk历史版本:
[ninghai@centos ~]$ rpm -qa | grep jdk
[ninghai@centos ~]$ rpm -qa | grep java

【云计算平台】Hadoop单机模式环境搭建
将查询出来的文件删除,如果没有历史版本则进行下一步

  • ② 卸载历史版本(root或者sudo):
[ninghai@centos ~]$ sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
[ninghai@centos ~]$ sudo rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
[ninghai@centos ~]$ sudo rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
[ninghai@centos ~]$ sudo rpm -e --nodeps tzdata-java-2020a-1.el7.noarch
[ninghai@centos ~]$ sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[ninghai@centos ~]$ sudo rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
[ninghai@centos ~]$ sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64

卸载完成后执行以下指令,若出现如下结果则说明卸载历史版本成功:

[ninghai@centos ~]$ rpm -qa | grep jdk
[ninghai@centos ~]$ rpm -qa | grep java
[ninghai@centos ~]$ java -version

【云计算平台】Hadoop单机模式环境搭建

  • ③ 将文件传输到虚拟机中:

使用lrzsz工具或者xftp进行文件传输
【云计算平台】Hadoop单机模式环境搭建考虑到文件较大,这里改为使用xftp进行文件传输,速率较快:
【云计算平台】Hadoop单机模式环境搭建
ls -l 指令查看一下传输完成后的文件列表:
【云计算平台】Hadoop单机模式环境搭建

  • ④ 解压缩jdk安装包:
[ninghai@centos ~]$ tar -zvxf jdk-8u251-linux-x64.tar.gz

【云计算平台】Hadoop单机模式环境搭建

  • ⑤ 配置环境变量:

注:配置环境变量有两种方式,一种是直接配置系统环境变量,也就是全局环境变量;另一种是配置用户环境变量,也就是本地用户环境变量;系统环境变量在 /etc/profile中进行配置,该配置可作用于全局,无论哪个用户都可以正常使用;用户环境变量在 ~/.bash_profile中进行配置,该配置只可作用于当前用户,其他用户不可正常使用;部署hadoop各模式时要确保jdk环境与hadoop配置环境要作用于同一用户,也就是说java -versionhadoop version需同时在一个用户下起作用,所以说这里我比较推荐jdk配置用系统变量(全局变量),hadoop的配置使用本地用户变量(本地局部变量),这样既不用考虑用户作用域的问题,也隔离了可以使用hadoop的用户,也就是保证hadoop由专有的用户来管理(工作中基本上采用这种模式)

本文中为了跟实验报告保持一致,均采用了配置当前用户 ~/.bash_profile的方法,故也不存在作用域的问题,(jdk和hadoop的配置都在当前用户)
如果在工作中部署hadoop可能会新建hadoop用户来操作,这时候就得考虑作用域是否一致的问题了!!


这里以当前普通用户进行配置 (jdk配置只在当前ninghai用户生效),root 用户使用 vim /etc/profile可以进行全局配置

[ninghai@centos ~]$ vim ~/.bash_profile

【云计算平台】Hadoop单机模式环境搭建
在 ~/.bash_profile 文件中追加如下信息:

JAVA_HOME=/home/ninghai/jdk1.8.0_251 #这里填自己jdk的解压路径
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export JAVA_HOME

由于配置的jdk主要是为了让hadoop能够正常调用,所以 CLASSPATH 的部分在此省略~~

使其如下图所示:
【云计算平台】Hadoop单机模式环境搭建
最后刷新一下环境变量:

[ninghai@centos ~]$ source ~/.bash_profile

使用如下命令行进行测试:

[ninghai@centos ~]$ java -version

可以发现该命令没有报错,且对应的信息为 java version " 1.8.0_251 ",意味着操作成功:
【云计算平台】Hadoop单机模式环境搭建
还是把 root 的相关配置也简单记录一下:vim /etc/profile
系统环境变量中JAVA_HOME的路径一般选择放在 PATH路径中,建议选择 /opt
【云计算平台】Hadoop单机模式环境搭建

# 在文件结尾添加以下内容
# 注:JAVA_HOME填的是jdk的安装路径,不一定跟我的一样
JAVA_HOME=/opt/jdk1.8.0_251 #jdk解压目录
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin #拼接原有PATH,同时添加jdk的bin及jre/bin

#执行export导出,提升为全局
export JAVA_HOME
export PATH

配置完成后用 root 用户测试 jdk 同样适用,上述两种方法可任选一种进行配置;
【云计算平台】Hadoop单机模式环境搭建

6.2 hadoop环境配置:

  • ① 解压缩hadoop安装包:
[ninghai@centos ~]$ tar -zxvf hadoop-2.10.1.tar.gz 

【云计算平台】Hadoop单机模式环境搭建

  • ② 配置hadoop环境变量:

注:配置环境变量有两种方式,一种是直接配置系统环境变量,也就是全局环境变量;另一种是配置用户环境变量,也就是本地用户环境变量;系统环境变量在 /etc/profile中进行配置,该配置可作用于全局,无论哪个用户都可以正常使用;用户环境变量在 ~/.bash_profile中进行配置,该配置只可作用于当前用户,其他用户不可正常使用;部署hadoop各模式时要确保jdk环境与hadoop配置环境要作用于同一用户,也就是说java -versionhadoop version需同时在一个用户下起作用,所以说这里我比较推荐jdk配置用系统变量(全局变量),hadoop的配置使用本地用户变量(本地局部变量),这样既不用考虑用户作用域的问题,也隔离了可以使用hadoop的用户,也就是保证hadoop由专有的用户来管理(工作中基本上采用这种模式)

本文中为了跟实验报告保持一致,均采用了配置当前用户 ~/.bash_profile的方法,故也不存在作用域的问题,(jdk和hadoop的配置都在当前用户)
如果在工作中部署hadoop可能会新建hadoop用户来操作,这时候就得考虑作用域是否一致的问题了!!


一般来说,工作中部署hadoop时会新建一个hadoop用户来进行操作,这样会显得更规范,这里由于是简单的单机模式就不再新建hadoop用户了;(为了跟我的实验报告保持一致 [doge]

所以依旧是以当前普通用户为例,这里就不再演示 root 用户了,跟jdk的配置大同小异;在此进入 ~/.bash_profile 文件:
【云计算平台】Hadoop单机模式环境搭建
在其中添加如下信息:

HADOOP_HOME=/home/ninghai/hadoop-2.10.1
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_HOME 

使其信息如下图所示:
【云计算平台】Hadoop单机模式环境搭建
最后刷新一下环境变量:

[ninghai@centos ~]$ source ~/.bash_profile

使用如下命令行进行测试:

[ninghai@centos hadoop-2.10.1]$ hadoop version

可以发现该命令没有报错,且对应的信息为 Hadoop 2.10.1,意味着操作成功:
【云计算平台】Hadoop单机模式环境搭建
至此hadoop单机模式部署就算基本完成了,接下来对MapReduce的一些经典案例进行测试~~

7. 测试MapReduce案例:

7.1 测试grep案例:

到这里便可以执行一些例子来感受下 Hadoop 的运行;Hadoop 附带了丰富的例子,包括 wordcount,terasort,join,grep,pi 等;

在此选择运行 grep 例子 (云计算实验报告选择的就是这个 ,将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中;

创建 input 文件夹,将 etc/hadoop 目录下的 .xml 文件全部拷贝到 input 文件夹下:

[ninghai@centos hadoop-2.10.1]$ mkdir input
[ninghai@centos hadoop-2.10.1]$ cp etc/hadoop/*xml input

使用 hadoop-mapreduce-examples-2.10.1.jar 来运行 grep:

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

【云计算平台】Hadoop单机模式环境搭建
ls -l 查看输出的结果:可以看到生成了 output 文件夹,文件夹中包含两个文件,一个标志状态的文件 _SUCCESS,内无任何内容,success表示成功;另一个是输出结果文件 part-r-00000;进入到 output 文件夹中查看 part-r-00000 中的运行结果:
【云计算平台】Hadoop单机模式环境搭建

7.2 测试WordCount案例:

切换路径到 /home/ninghai/hadoop-2.10.1/share/hadoop/mapreduce目录下:

[ninghai@centos ~]$ cd /home/ninghai/hadoop-2.10.1/share/hadoop/mapreduce

在 mapreduce 下创建一个测试文件 data.txt:

good better best
never let it rest
till good is better
and better best

good good study
day day up
today is a good day

【云计算平台】Hadoop单机模式环境搭建

使用 hadoop jar 命令来运行一个jar包,在jar包中可能存在多个可执行的类,目前需要运行的是其中的 wordcount;运行时需要两个参数:

  • 输入路径:数据源文件或目录
  • 输出路径:一个还不存在的目录,会自动创建

输入路径就是刚刚创建的data.txt,而输出路径必须是一个不存在路径,每次执行完成后会自动创建该目录,并生成一些结果文件:

[ninghai@centos mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.10.1.jar wordcount data.txt output

【云计算平台】Hadoop单机模式环境搭建
ls -l 查看生成的 output 目录:
【云计算平台】Hadoop单机模式环境搭建
cd 进入 output 文件夹 ,ls -l :
【云计算平台】Hadoop单机模式环境搭建
包含一个标志状态的文件 _SUCCESS,success表示成功,里面没有任何内容;另一个part-r-00000包含统计的结果,各单词出现的次数:
【云计算平台】Hadoop单机模式环境搭建


异常解决: 执行上述命令时可能出报错,如果在运行过程中出现UnknownHostException: bogon: 未知的名称或服务 异常,可以通过在 /etc/hosts 文件中添加本机映射解决;如:本机主机名为centos,则修改内容如下(使用root用户或者sudo操作):
【云计算平台】Hadoop单机模式环境搭建


7.3 测试pi案例:

切换路径到 /home/ninghai/hadoop-2.10.1/share/hadoop/mapreduce目录下:

[ninghai@centos ~]$ cd /home/ninghai/hadoop-2.10.1/share/hadoop/mapreduce

使用 hadoop-mapreduce-examples-2.10.1.jar 计算圆周率,执行如下命令:

[ninghai@centos mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.10.1.jar pi 10 100000000

其中 pi 后面的10是运行10次map任务,100000000是每个map任务投掷次数,所以总投掷次数是 10 * 100000000 = 1000000000,总投掷次数越多,计算出来的 pi 值越准确

执行结果如下:
【云计算平台】Hadoop单机模式环境搭建
测试over~文章来源地址https://www.toymoban.com/news/detail-431769.html

到了这里,关于【云计算平台】Hadoop单机模式环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop环境——包含各类问题解决方案

    本文针对centos7.4即以上版本的hadoop环境搭建,因为这部分搭建是个很复杂且很容易出错的内容,所以在结合了多种搭建方案后给出最适宜当前版本的搭建。 本教程适用于CentOS 7.4即以上版本,如果是Ubuntu等其它linux内核版本则不适合。 查看系统版本: 软件 版本 获取方法 Ope

    2024年02月16日
    浏览(33)
  • Hadoop集群搭建记录 | 云计算[CentOS7] | 伪分布式集群 Master运行WordCount

    本系列文章索引以及一些默认好的条件在 传送门 首先需要明确eclipse安装目录,然后将hadoop-eclipse-plugin_版本号.jar插件放在安装目录的dropins下 关于插件,可以通过博主上传到csdn的免费资源获取,链接 具体版本可以自己选择: 在eclipse界面中依次选择:Window→show view→other→

    2023年04月09日
    浏览(56)
  • 大数据技术栈-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超详细-小白注释版)虚拟机安装+平台部署

    目录 环境条件: 1、安装虚拟机(已安装好虚拟机的可跳转至  二、安装JDK与Hadoop) (1)直接新建一台虚拟机 (2)首次启用虚拟机,进行安装 一、集群前置环境搭建(三台机器分别设置hostname、网卡(ip)配置、ssh免密登录) 1、查看一下本机与虚拟机的网卡和ip信息 (1)

    2024年02月06日
    浏览(41)
  • hadoop单机模式搭建

    给虚拟机命名,选择存放路径  接着指定磁盘大小,因为我们不止搭建单机模式还要搭建伪分布模式,这里我们选择80G    这里会看到创建虚拟机完成,我们点击自定义硬件,选择合适的内存,处理器,还有映像文件,这里我们用不到声卡和打印机可以给他移除  根据自己电

    2024年02月10日
    浏览(28)
  • CentOS 安装 Hadoop Local (Standalone) Mode 单机模式

    参考如下: 修改内容如下: 重启系统 创建软件目录 进入软件目录 下载 JDK 下载 hadoop 解压 JDK 修改名称 解压 hadoop 修改名称 配置环境变量 编写以下内容: 生成新的环境变量 创建本地秘钥并将公共秘钥写入认证文件 hadoop-env.sh core-site.xml hdfs-site.xml workers mapred-site.xml yarn-sit

    2024年02月06日
    浏览(27)
  • nacos - centos7.x环境单机与集群快速部署

    参考官网:https://nacos.io/zh-cn/docs/what-is-nacos.html 官方集群部署手册:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 【单机部署】 1.下载 解压到安装目录 下载:wget -c https://github.com/alibaba/nacos/releases/download/2.1.2/nacos-server-2.1.2.tar.gz 解压:tar -zxvf nacos-server-2.1.2.tar.gz -C /opt/app/ 2.初始

    2024年02月09日
    浏览(30)
  • Hadoop——Windows系统下Hadoop单机环境搭建

    为了便于开发,我在本地Windows系统进行Hadoop搭建。 我使用的版本:hadoop-2.7.0。其他版本也可,搭建流程基本一样,所以参考这个教程一般不会有错。 1、下载安装包和插件 安装包hadoop-2.7.0.tar.gz 必要插件winutils-master 2、解压安装包 使用管理员身份运行cmd,到安装包对应目录下

    2024年02月09日
    浏览(43)
  • Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)

    1.1、下载地址 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1.2、下载步骤 下载步骤如下所示: linux环境(centos7)安装JDK11步骤图解参考此博文:https://wwwxz.blog.csdn.net/article/details/128899399?spm=1001.2014.3001.5502 上传安装包到home目录下 opt目录下创建es文件夹 进入home目

    2024年02月06日
    浏览(42)
  • CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

    CentOS 7下安装ElasticSearch7.6.1详细教程 ElasticSearch客户端Kibana7.6.1安装教程 ElasticSearch分词器IK安装教程 Elasticsearch-head插件安装教程 想要学习ElasticSearch技术,需要在服务器搭建ElasticSearch环境。 CenOS:7; JDK:1.8; Elasticsearch:7.6.1; ES不能使用root用户来启动,必须使用普通用户来

    2023年04月09日
    浏览(40)
  • Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

    本系列文章索引以及一些默认好的条件在 传送门 要想完成Spark的配置,首先需要完成HadoopSpark的配置 Hadoop配置教程:链接 若未进行明确说明,均按照root用户操作 本来在Eclipse的Marketplace便可以下载,可是现在官网都寄了 所以说只好找到之前的版本凑合来用 下载链接 这个软件

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包