分布式系统详解--框架(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集群搭建成功。

目录
相关文章
|
22天前
|
数据采集 分布式计算 监控
Hadoop集群长时间运行数据倾斜原因
【6月更文挑战第20天】
23 6
|
22天前
|
分布式计算 监控 网络协议
Hadoop集群长时间运行网络延迟原因
【6月更文挑战第20天】
30 2
|
25天前
|
Prometheus 运维 监控
解锁分布式云多集群统一监控的云上最佳实践
为应对分布式云多集群监控的挑战,阿里云可观测监控 Prometheus 版结合 ACK One,凭借高效纳管与全局监控方案有效破解了用户在该场景的监控运维痛点,为日益增长的业务需求提供了一站式、高效、统一的监控解决方案,实现成本与运维效率的双重优化。助力企业的数字化转型与业务快速增长,在复杂多变的云原生时代中航行,提供了一个强有力的罗盘与风帆。
55436 16
|
14天前
|
SQL 分布式计算 关系型数据库
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
24 2
|
14天前
|
消息中间件 缓存 监控
如何设计一个秒杀系统,(高并发高可用分布式集群)
【7月更文挑战第4天】设计一个高并发、高可用的分布式秒杀系统是一个非常具有挑战性的任务,需要从架构、数据库、缓存、并发控制、降级限流等多个维度进行考虑。
28 1
|
16天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
132 1
|
22天前
|
存储 缓存 分布式计算
|
23天前
|
存储 分布式计算 负载均衡
Hadoop集群长时间运行
【6月更文挑战第19天】
19 3
|
23天前
|
存储 分布式计算 监控
Hadoop集群添加新的DataNode
【6月更文挑战第19天】
16 1
|
25天前
|
SQL 关系型数据库 MySQL
MySQL高可用架构设计:从主从复制到分布式集群
MySQL高可用性涉及主从复制、半同步复制和Group/InnoDB Cluster。主从复制通过二进制日志同步数据,保证故障时可切换。半同步复制确保事务在至少一个从服务器确认后才提交。Group Replication是多主复制,支持自动故障切换。InnoDB Cluster是8.0的集成解决方案,简化集群管理。使用这些技术能提升数据库的稳定性和可靠性。
217 2