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

Hadoop的安装与配置

前言:现在开始安装Hadoop啦。注意,每一个节点的安装和配置是相同的。实际工作中,通常在master节点上完成安装和配置后,然后将安装目录复制到其他节点即可。这里所有操作

前言:现在开始安装Hadoop啦。

注意,每一个节点的安装和配置是相同的。实际工作中,通常在master 节点上完成安装和配置后,然后将安装目录复制到其他节点即可。

这里所有操作都是root用户权限

1.下载Hadoop安装

登录进入 http://hadoop.apache.org/ hadoop官网下载自己的Hadoop版本

(这里我们下载的是:hadoop-2.7.5.tar.gz)

 

2.解压安装包

找到 hadoop-2.7.5.tar.gz 将其上传到 master 节点的“ /opt/hadoop ”目录内,用xshell的xftp工具上传文件。

上传完后,在master主机进入/opt/hadoop目录,执行解压缩命令“tar -zxvf hadoop-2.7.5.tar.gz”,即可实现安装,回车后系统开始解压缩 tar -zxvf hadoop-2.7.5.tar.gz 文件,

屏幕上会不断显示解压过程信息,执行成功后,系统将在 Hadoop 下自动创建tar -zxvf hadoop-2.7.5 子目录,将" hadoop-2.7.5 ”文件夹名称修改为“ hadoop ”此即Hadoop安装目录。

我们进入Hadoop安装目录,查看一下安装文件,如果显示如图所示的文件列表,说明解压缩成功。

 

2.配置env文件

修改“ /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh ” 文件,找到“ export JAVA_HOME ”这行,配置jdk路径。如图

export JAVA_HOME=/user/local/java/jdk1.8.0.162/

编辑完毕,保存退出即可

 

 

3.配置核心组件文件

Hadoop 的核心组件文件是 core-site.xml,位于“/opt/hadoop/hadoop/etc/hadoop ”子目录下。
用 vi编辑 core-site.xml 文件,需要将下面的配置代码放在文件的之间。
 
  fs.defaultFS
  hdfs://master:9000
 
 
  hadoop.tmp.dir
  /opt/hadoop/hadoopdata
 
编辑完毕,保存退出即可。

 

4.配置文件系统

Hadoop 的文件系统配置文件是 hdfs-site.xml,也位于“/opt/hadoop/hadoop/etc/hadoop”子目录下。
用vi编辑该文件,需要将下面的代码填充到文件的之间。
 
  dfs.replication
  1
 
编辑完毕,保存退出即可。

 

5.配置yarn-site.xml文件

Yarn的站点配置文件是 yarn-site.xml,也位于“/opt/hadoop/hadoop/etc/hadoop”子目录下。
用vi编辑该文件,需要将下面的代码填充到文件的之间。
编辑完毕,保存退出即可。


 yarn.nodemanager.aux-services
 mapreduce_shuffle


 yarn.resourcemanager.address
 master:18040


 yarn.resourcemanager.scheduler.address
 master:18030


 yarn.resourcemanager.resource-tracker.address
 master:18025


 yarn.resourcemanager.admin.address
 master:18141


 yarn.resourcemanager.webapp.address
 master:18088


 

6.配置MapReduce计算框架文件

 

在“/opt/hadoop/hadoop/etc/hadoop”子目录下,系统已经有一个 mapred-site.xml.template文件,
我们需要将其复制并改名,位置不变,
命令是“ cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml”,
然后,用 vi编辑 mapred-site.xml 文件,需要将下面的代码填充到文件的之间。
 
  mapreduce.framework.name
  yarn
 
编辑完毕,保存退出即可。

 

7.配置master的slaves文件

slaves 文件给出了 Hadoop 集群的 Slave 节点列表。该文件十分重要,因为启动Hadoop 的时候,
系统总是根据当前 slaves 文件中 Slave 节点名称列表启动集群,不在列表中的Slave 节点便不会被视为计算节点。
用 vi编辑 slaves 文件,我们应当根据自己所搭建集群的实际情况进行编辑。例如,我们这里由于已经安装了 Slave0 和 Slave1,
并且计划将它们全部投入 Hadoop 集群运行,所以应当输入如下代码。
 slave0
 slave1

 

8.复制master上的Hadoop到slave节点

通过复制 Master 节点上的hadoop,能够大大提高系统部署效率。
由于我们这里有Slave0 和 Slave1,所以要复制两次。复制命令是:
 
scp -r /opt/hadoop root@slave0:/opt/hadoop
scp -r /opt/hadoop root@slave1:/opt/hadoop
 
 
9.Hadoop集群启动-配置操作系统环境变量
回到用户目录(这里是“/opt/hadoop”),只要输入 cd 命令即可,然后用 vi编辑 .bash_profile 文件,
命令是:“
vi ~/.bash_profile ”,将下述代码追加到文件的尾部:
 #HADOOP
 export HADOOP_HOME=/opt/hadoop/hadoop
 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
保存退出后,执行“  source ~/.bash_profile ”命令,使上述配置生效。
请读者注意,也要在其他节点进行上述配置。
 
 
10.创建Hadoop数据目录
 
创建数据目录,命令是“mkdir /opt/hadoop/hadoopdata”。
注意,这里的数据目录名 “hadoopdata”与前面 Hadoop 核心组件文件 core-site.xml 中的配置:
 
  hadoop.tmp.dir
  /opt/hadoop/hadoopdata
 
是一致的。

 

 

11.格式化文件系统

该操作只需要在 Master 节点上进行,命令是“ hdfs namenode -format

 

12.启动和关闭Hadoop

.可以使用 start-all.sh 命令启动 Hadoop 集群。
.首先进入 Hadoop 安装主目录,然后执行 sbin/start-all.sh 命令,执行命令后,
 系统提示“ Are you sure want to continue connecting(yes/no)”,请输入yes,之后系统即可启动。
.要关闭 Hadoop 集群,可以使用 stop-all.sh 命令。
.下次启动 Hadoop 时候,无须 NameNode 的初始化,只需要使用start-dfs.sh 命令即可,然后接着使用 start-yarn.sh 启动 Yarn 。
.实际上,Hadoop 系统建议放弃(deprecated)使用 start-all. sh 和 stop-all.sh 一类的命令,而改用 start-dfs.sh 和 start-yarn .sh 命令。
 
 
若集群启动成功,如下图所示:
 

 

 13.验证Hadoop是否启动成功

(注:先看是否关闭或开起了防火墙,输入命令 hadoop dfsadmin -safemode leave

 用户可以在终端执行 jps 命令查看 Hadoop 是否启动成功。在 Master 节点,
执行 jps后如果显示的结果是四个进程的名称: SecondaryNameNode、 ResourceManager、 Jps 和NameNode,
如下图所示,则表明主节点( Master )启动成功 。

在 Slave0 节点执行 jps 命令,打印的结果中会显示三个进程,分别是 NodeManager、
Jps 和 DataNode ,如下图所示,表明从节点(Slave0)启动成功。其他节点可以类似验证。

 

14.在Hadoop集群中运行程序

在安装 Hadoop 的时候,系统给用户提供了一些 MapReduce 示例程序,其中有一个典型的用于计算圆周率 pi 的 Java 程序包,现在我们将其投入运行。
 该 jar 包文件的位置和文件名是:
/opt/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar
 我们在终端输入如下的运行命令:
hadoop jar /opt/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 4 6
回车后即可开始运行。其中 pi 是类名,后面跟了两个10,它们是运行参数,第一个 10 表示 Map 次数,第二个 10 表示随机生成点的次数(与计算原理有关)。
如果执行中出现如下图所示的输出信息,表明程序在正常运行,系统处于良好状态 。

 

 

 

 

 

注:执行 Hadoop MapReduce 程序,是验证 Hadoop 系统是否正常启动的最后一个环节。实际上,
即使通过 jps 方式验证了系统己经启动,并且能够查看到状态信息,也不一定意味着系统可以正常工作。
例如,防火墙没有关闭的话, MapReduce程序执行不会成功。

hadoop dfsadmin -safemode leave

 

总结:本节主要介绍了 Hadoop 安装、配置、启动、运行简单程序。读者特别注意,
安装 Hadoop 以后,我们通过 jps 命令,分别在 Master 节点和 Slave 节点上查看NameNode 和 DataNode 进程是否启动;
运行一个MapReduce 程序,如典型的计算圆周率程序 Pi 。必须指出,如果这些验证都通过,才能说明系统安装成功,
如果运行程序不能成功,说明系统还存在问题,如防火墙没有关闭等。

 

 

 

 

 

 

 

 

 

 


推荐阅读
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 近期,针对Axis2默认凭据漏洞的攻击案例在安全社区引起了广泛关注。这些攻击通常利用Axis2的默认用户名和密码进行渗透测试,技术手段相对固定。本文在综合分析多个案例的基础上,详细探讨了该漏洞的安全风险,并提出了有效的防范措施,以帮助企业和开发者加强Web服务的安全防护。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 使用 Vuex 管理表单状态:当输入框失去焦点时自动恢复初始值 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
author-avatar
mobiledu2502874483
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有