分布式系统详解--框架(Hadoop-集群搭建)

简介: 分布式系统详解--框架(Hadoop-集群搭建)

 分布式系统详解--框架(Hadoop-集群搭建)

      前面的文章也简单介绍了,hadoop的环境搭建分为三种,单机版,伪分布式,全分布式。这篇文章为介绍hadoop的全分布式的架构搭建。

一、步骤总纲

二、搭建规划

主机名称 IP地址 功能
MyLinux 192.168.71.233 NameNode、DataNode、resourcemanager、nodemanager
centos01 192.168.71.234 DataNode、nodemanager
centos02 192.168.71.235 DataNode、nodemanager

 

 

 

 

三、配置hadoop的相关配置文件

3.1 vi ./etc/hadoop/hadoop-env.sh 告诉hadoop jdk的安装目录。

3.2 vi ./etc/hadoop/core-site.xml

在<configuration></configuration>里面进行配置。

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Mylinudfs-->0</value>
</property>
<!--配置操作hdfs的缓冲大小--> 
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!--配置临时数据存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/bigdata/tmp</value>
</property>
</configuration>

3.3 vi ./etc/hadoop/hdfs-site.xml

在<configuration></configuration>里面进行配置。

<configuration>
<!--副本数也叫副本因子-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--块大小-->
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
 
<!--hdfs存储的元数据位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoopdata/dfs/name</value>
</property>
<!--hdfs的数据存放位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoopdata/dfs/data</value>
</property>
 
 
<!--hdfs的检测目录-->
<property>
<name>fs.checkpoint.dir</name>
<value>/home/hadoopdata/checkpoint/dfs/cname</value>
</property>
 
<!--hdfs的namenode的web ui地址-->
<property>
<name>dfs.http.address</name>
<value>MyLinux:50070</value>
</property>
 
<!--hdfs的Secondarynamenode 的web ui地址-->
<property>
<name>dfs.secondary.http.address</name>
<value>MyLinux:50090</value>
</property>
 
<!--是否开启web操作hdfs-->
<property>
<name>dfs.webhdfs.enabled</name>
<value>false</value>
</property>
 
<!--是否开启hdfs的权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
 
</configuration>

3.4 vi ./etc/hadoop/mapred-site.xml

因为在 /etc/hadoop/  下面没有mapred-site.xml 但是有一个 mapred-site.xml.template

先进行拷贝:

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

在<configuration></configuration>里面进行配置。

<configuration>
<!--指定mapreduce的运行框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
 
<!--历史服务的通讯地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>MyLinux:10020</value>
</property>
<!--历史服务的web ui 通讯地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>MyLinux:19888</value>
</property>
 
</configuration>

3.5 vi ./etc/hadoop/yarn-site.xml

在<configuration></configuration>里面进行配置。

<configuration>
 
<!--指定resouceManager 所启动的服务主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>MyLinux</value>
</property>
<!--指定resouceManager 的shuffle  -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
 
<!--指定resouceManager 的内部通信地址  -->
<property>
<name>yarn.resourcemanager.address</name>
<value>MyLinux:8032</value>
</property>
 
<!--指定resouceManager的scheduler内部通信地址  -->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>MyLinux:8030</value>
</property>
 
<!--指定resouceManager的source-tracker内部通信地址  -->
<property>
<name>yarn.resourcemanager.source-tracker.address</name>
<value>MyLinux:8031</value>
</property>
 
<!--指定resouceManager的admin内部通信地址  -->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>MyLinux:8033</value>
</property>
 
<!--指定resouceManager的web ui监控地址  -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>MyLinux:8088</value>
</property>
 
</configuration>

3.6 vi ./etc/hadoop/slaves

MyLinux
centos01
centos02

四、分发hadoop文件到所有机子上去

4.1 删除其他两台机器的hadoop文件(原来是配置了单机安装)

rm -rf /opt/hadoop-2.7.5

4.2 执行命令复制

scp -r ../hadoop-2.7.5/ centos01:/opt/

scp -r ../hadoop-2.7.5/ centos02:/opt/

如果出现下面的情况:则需要在/etc/hosts 的文件中添加其他主机IP地址。

五、格式化文件

hadoop namenode -format 成功后

查看文件

六、启动

6.1 启动方式

(1)全启动 start-all.sh

(2)模块启动  

start-dfs.sh

start-yarn.sh

(3)单个进程启动

hadoop-daemon.sh start/stop namenode

hadoop-daemons.sh start/stop datanode

yarn-daemon.sh start/stop namenode

yarn-daemons.sh start/stop datanode

mr-jobhistory-daemon.sh start/stop historyserver

6.2 测试模块启动

进入hadoop-2.7.5 输入 ./sbin/start-dfs.sh 要求输入多次密码

(1)进程按照规划出现

A。输入jps 查看进程分别是 服务器MyLinux、centos01、centos02

B。在sbin目录下面,启动yarn命令 start-yarn.sh

(2)查看对应模块的web ui监控是否正常。192.168.71.233:50070

可以查看网站图示:

倘若出现该服务器步骤一中,进程均已开启,而在windows下访问该端口却无法访问的情况。进行下面的操作。

第一步:开启防火墙 service iptables start

第二步:关闭防火墙 service iptables stop

(3)检测上传下载文件(hdfs),跑mapreduce作业

A。从任意目录中上传文件到hdfs系统的根目录中。

hdfs dfs -put ./README.txt /

解决方案:关闭datanode的防火墙(所有服务器均关闭)

上传完成

命令 hdfs dfs -cat /README.txt 来查看上传的文件打开详情

命令 hdfs dfs -ls / 来查看该hdfs系统下的文件列表

B。跑一个mapreduce作业查询单词数。

yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /README.txt /out/00

查看命令 hdfs dfs -cat /out/part-r-00000

在这里记录了每一个单词的个数,hdfs集群搭建成功。

目录
相关文章
|
7月前
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
639 0
分布式爬虫框架Scrapy-Redis实战指南
|
5月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
190 21
|
5月前
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
511 4
|
10月前
|
存储 监控 数据可视化
常见的分布式定时任务调度框架
分布式定时任务调度框架用于在分布式系统中管理和调度定时任务,确保任务按预定时间和频率执行。其核心概念包括Job(任务)、Trigger(触发器)、Executor(执行器)和Scheduler(调度器)。这类框架应具备任务管理、任务监控、良好的可扩展性和高可用性等功能。常用的Java生态中的分布式任务调度框架有Quartz Scheduler、ElasticJob和XXL-JOB。
3560 66
|
11月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
335 63
|
9月前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
386 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
11月前
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
762 53
|
9月前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
402 8
|
9月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
281 7
|
10月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
349 2

热门文章

最新文章

相关实验场景

更多