大数据Hadoop运行环境搭建

简介: 大数据Hadoop运行环境搭建

1 安装三台虚拟机

1.1 单机模式(standalone)

单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。


1.2 伪分布模式(Pseudo-Distributed Mode)

伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。简单的说就是主从都是一台机器,修改主机名即可,在hosts文件中进行主机的注册(tips:如果不注册在启动Hadoop时候报错),之后就是集群操作,只不过在workers不同而已


1.3 全分布模式(Fully Distributed Mode)

Hadoop守护进程运行在一个集群上。以下搭建为纯分布式集群搭建


1.4 配置完成三台虚拟机

162c5609033845cbbc7ce3fe1b8199dd.png

这三台虚拟机只配置了jdk,固定ip,配置hosts,主机名


2 Hadoop的安装与配置

其实每一个节点的安装和配置是相同的。实际工作中,通常在Master上完成安装和配置后,然后将安装目录复制到其他节点即可。这里的所有操作都使用普通用户权限。


2.1 解压Hadoop安装包

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz是下载Hadoop 3.1压缩包的官方地址。读者自行找到Hadoop-3.1.0.tar.gz文件,请将其复制到Master的“/home/csu”下的resources子目录内(可以直接拖曳)。注意,这里使用普通用户权限。

dfd2763e80594df5a16059cc59ac3f29.png

首先将Hadoop-3.1.0.tar.gz文件复制到安装目录的上一级目录,我们这里指定为“/home/csu”,执行“cp /home/csu/resources/hadoop-3.1.0.tar.gz ~/”命令。

6333ff33f578410f816fa62e75b100db.png按解压缩hadoop-3.1.0.tar.gz文件,屏幕上会不断显示解压过程的信息,执行成功后,系统将在csu目录下自动创建hadoop-3.1.0子目录,即Hadoop的安装目录。我们进入Hadoop的安装目录查看一下安装文件,如果显示如图4-7所示的文件列表,说明解压缩成功。


419082764ffc4145b392003074b0eeaa.png

ebe81d1d333a45dd8dd3e5b4248995b3.png

0fa94fa673604665b989372899f0bb87.png


bin目录的内容:

2fc95bce89014da7a586e56ba3e30213.png


sbin管理集群的内容:


7be57fad9ed14649baa9cde9ac553409.png

2.2 配置Hadoop环境变量

Hadoop环境变量文件是hadoop-env.sh,它位于“~/hadoop-3.1.0/etc/hadoop”子目录下,我们只需要配置该文件的JDK路径即可。用gedit编辑器修改hadoop-env.sh文件。


eafbd9f85a5c4d11bf51a380fac51ae9.png

在文件的前面找到“# export JAVA_HOME=”代码,将其修改为实际的JDK安装路径,即输入export JAVA_HOME=/usr/local/jdk1.8.0_171。

c7e6c57da9f84901a8c64dbe552eca9c.png

2.3 配置Yarn环境变量

Yarn环境变量文件是yarn-env.sh,也位于“~/hadoop-3.1.0/etc/hadoop”子目录下。对于早期版本的Hadoop,如Hadoop 2.6.0,我们需要配置该文件的JDK路径;可使用gedit编辑器修改yarn-env.sh文件和上述操作一样配置java.


Hadoop 3.1版本不需要在yarn-env.sh中配置Java路径了,因为Hodoop 3.1统一使用hadoop-env.sh中的Java路径。yarn-env.sh的其他配置可以暂时采用默认值(即目前可不编辑该文件)。


2.4 配置核心组件

Hadoop的核心组件文件是core-site.xml,也位于“~/hadoop-3.1.0/etc/hadoop”子目录下。使用gedit编辑器修改core-site.xml文件。

1463e24bf9284166b1a2a43f586a1c66.png


需要将下面的配置代码放在文件的<configuration>和</configuration >之间。

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property> 
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/csu/hadoopdata</value>
</property>


e99d1744c65c4bcb9ed858f065ae2f48.png

配置完毕后,保存退出即可。


2.5 配置文件系统

Hadoop文件系统的配置文件是hdfs-site.xml,也位于“~/hadoop-3.1.0/etc/hadoop”子目录下。使用gedit编辑器修改该文件。

需要将下面的代码填充到文件的<configuration>和</configuration>之间。

<property>
    <name>dfs.replication</name> 
    <value>1</value>
</property>

d1019b57008c4b7bb5e40963ab3112b7.png


实际上,这里的dfs.replication就是HDFS数据块的副本数。我们知道,系统的默认值为3,这意味着如果用户没有设置dfs.replication时,副本数是3。但是如果修改为1,那么修改以后的副本数就是1了。注意,把dfs.replication配置成超过3的数是没有意义的,因为HDFS的最大副本数是3。


2.6 配置yarn site.xml文件

配置yarn-site.xml文件需要将下面的代码填充到文件的<configuration>和</configuration>之间。

<property>
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value>
</property> 
<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>master:18040</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.scheduler.address</name> 
    <value>master:18030</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.resource-tracker.address</name> 
    <value>master:18025</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.admin.address</name> 
    <value>master:18141</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:18088</value>
</property>

0a4305289c5047c9b5af344eaa9b335e.png

2.7 配置MapReduce计算框架文件

对于早期的Hadoop,如Hadoop 2.6.0,在“~/hadoop-2.6.0/etc/hadoop”子目录下有一个mapred-site.xml.template文件,我们需要将其复制并改名,位置不变,使用的命令是“cp ~/hadoop-2.6.0/etc/hadoop/mapred-site.xml.template ~/ ~/hadoop-2.6.0/etc/hadoop/mapred-site.xml”。


但是,Hadoop 3.1则无须上述改名操作,可直接使用getit编辑器修改mapred-site.xml文件。

需要将下面的代码填充到文件的<configuration>和</configuration>之间。

<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property> 
   <property>
      <name>yarn.app.mapreduce.am.env</name>
      <value>HADOOP_MAPRED_HOME=/home/csu/hadoop-3.1.0</value>
   </property>
   <property>
      <name>mapreduce.map.env</name>
      <value>HADOOP_MAPRED_HOME=/home/csu/hadoop-3.1.0</value>
   </property>
   <property>
      <name>mapreduce.reduce.env</name>
      <value>HADOOP_MAPRED_HOME=/home/csu/hadoop-3.1.0</value>
   </property>

2de4425f68064264b535375bfc9b9f6c.png

与Hadoop 2.6.0比较,Hadoop 3.1中mapred-site.xml文件的内容增加了不少。Hadoop 2.6.0只需要上述代码中的第一个<property>和</property>之间的代码即可,但是,Hadoop 3.1则需要明确指出各个计算组件的环境变量。


2.8 配置Master中的workers文件

早期的Hadoop,如Hadoop 2.6.0,需要编辑slaves文件,该文件给出了Hadoop集群的Slave的列表。Slaves文件十分重要,因为在启动Hadoop时,系统是根据slaves文件中Slave列表启动集群的,不在列表中的Slave便不会被视为计算节点。Hadoop 3.1没有slaves文件,而改用workers文件,但作用是一样的。


采用gedit编辑器修改workers文件,如图4-21所示。

读者应当根据自己所搭建集群的实际情况来修改workers文件。例如,这里由于已经安装了slave0和slave1,并且计划将它们全部投入Hadoop集群运行,所以应当输入如下代码:


f928aa75cc4d4f7296083df01d1fd600.png


slave0
slave1

881b9da735aa4b5cbb2b6a9fb144ad69.png


2.9 将Master上的Hadoop复制到Slave

通过复制Master上的Hadoop,能够大大提高系统部署效率。由于这里有slave0和slave1,所以要复制两次。其中一条复制命令是“scp -r /home/csu/hadoop-3.1.0 csu@slave0:~/”。


由于我们前面已经配置了免密钥登录,因此这里不用输入密钥进行认证,按下Enter键后可立即开始复制(复制需要一些时间,请耐心等待)。



5e076e0c47a6404ea6cbdcd7fa4506ee.png

至此,我们就完成了Hadoop的安装与配置。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
21天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
48 2
|
21天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
23天前
|
分布式计算 Hadoop 测试技术
Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
【4月更文挑战第1天】Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
35 3
|
23天前
|
存储 分布式计算 资源调度
Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
【4月更文挑战第1天】Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
52 3
|
4天前
|
SQL 分布式计算 运维
MaxCompute产品使用合集之在大数据计算MaxCompute中,怎么查看工作空间中正在运行的查询和任务
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
9天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
23天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
70 1
|
23天前
|
分布式计算 资源调度 Hadoop
Hadoop【环境搭建 03】【hadoop-3.1.3 集群版】(附:集群启动&停止Shell脚本)
【4月更文挑战第1天】Hadoop【环境搭建 03】【hadoop-3.1.3 集群版】(附:集群启动&停止Shell脚本)
37 2
|
24天前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
99 0
|
2月前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
21 1
大数据Hadoop生态圈体系视频课程