大数据Hadoop运行环境搭建

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据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的安装与配置。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
5天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
32 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
115 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
83 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
81 1
|
2月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
164 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
1月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
343 7
|
1月前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
52 2
|
1月前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
89 1
|
29天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
68 4