Hadoop分布式简介:
Apache Hadoop是一个开源的分布式计算框架,它允许用户在节点构成的集群中处理和分析大数据。Hadoop是“Hadoop之父”Doug Cutting的著作,最初是在Nutch搜索引擎项目中开发的,用于办理网页爬虫的存储和搜索问题。
Hadoop的核心由以下几个部分构成:
- HDFS(Hadoop Distributed File System):Hadoop本身的文件系统,用于在计算机集群中存储文件。
- YARN(Yet Another Resource Negotiator):用于作业调度和集群资源管理。
- MapReduce:一种编程模型,用于并行处理大量的数据。(mapreduce为底层计算,不消手动开启)
Hadoop的优点:
- 可扩展性:Hadoop可以通过增长更多的服务器来扩展计算能力和存储能力。
- 容错性:Hadoop可以通过复制数据来提供容错机制,纵然某些节点失败,数据也不会丢失。
- 低本钱:Hadoop可以运行在普通硬件上,不需要昂贵的服务器。
- 高效性:Hadoop可以或许在节点之间动态地移动数据,以平衡负载,而且MapReduce的并行处理能力使得处理大数据非常快速。
Hadoop 分布式集群
分布式:多台服务器共同完成一个任务。(每组服务器完成差别的任务)
集群:多台服务器团结起来共同完成类似的任务,也可进行备份。(每组完成类似的任务)
注意: 集群如果客户端请求量(任务量)多,多个服务器同时处理差别请求(差别任务),如果请求量少,一台服务器干活,其他服务器做备份使用
Hadoop框架及核心组件
分布式存储:Hadoop Distributed File System (HDFS)
功能:HDFS是Hadoop的分布式文件系统,用于存储大规模数据集。它将文件分割成多个块(block),并将这些块复制到多个节点上,以提高数据的可靠性和容错性。
主节点:NameNode(主节点)和多个DataNode(从节点)。NameNode负责管理文件系统的命名空间和客户端对文件的访问,DataNode负责存储实际的数据块。
分布式计算:MapReduce
功能:MapReduce是Hadoop的分布式计算框架,用于处理存储在HDFS上的大数据集。它将计算任务分解成多个子任务(Map任务),并在集群的多个节点上并行实行这些子任务。然后,它收集并合并这些子任务的结果(Reduce任务),以生成终极结果。
架构:MapReduce框架由JobTracker(作业跟踪器)和多个TaskTracker(任务跟踪器)构成。JobTracker负责作业的调度和监控,TaskTracker负责实行Map和Reduce任务。
分布式资源调度:YARN (Yet Another Resource Negotiator)
功能:YARN是Hadoop的资源管理和作业调度框架,它提供了更细粒度的资源管理和更机动的作业调度能力。YARN将资源管理和作业调度/监视的功能拆分为单独的守卫进程,以实现更高效的资源利用和更机动的作业调度。
Hadoop分布式架构关系
MapReduce计算需要的数据和产生的结果需要HDFS来进行存储
MapReduce的运行需要由Yarn集群来提供资源调度。
Hadoop集群搭建
准备服务器:确保有多个服务器,每个服务器上安装类似的操作系统和软件。
安装Java环境:确保所有服务器上安装了类似版本的Java。
设置java环境变量
[root@node1 software]# vim /etc/profile
注:本案例使用finalshell客户端毗连操作
使文件见效:source /etc/profile
设置SSH免密登录:在主节点上生成密钥,将公钥复制到所有从节点的~/.ssh/authorized_keys文件中。
设置主机名:为每个服务器设置唯一的主机名。
设置环境变量HADOOP_HOME。
设置hadoop-env.sh文件:vim hadoop-env.sh
设置core-site.xml,设置HDFS的主节点和端口。
vim core-site.xml
设置hdfs-site.xml,设置副本数量。
vim hdfs-site.xml
设置mapred-site.xml,指定MapReduce框架使用YARN。
vim mapred-site.xml
设置yarn-site.xml,设置ResourceManager的地址等。
vim yarn-site.xml
设置slaves,列出所有DataNode节点。
vim slaves
进行数据初始化
格式化HDFS:在主节点上运行hdfs namenode -format。
启动Hadoop服务
在主节点使用HDFS启动namenode:hdfs --daemon start namenode
各个节点单次启动:hdfs --daemon start datanode
辅助结点启动scendarynamenode进程:hdfs --daemon start secondarynamenode
启动YARN集群
主节点启动YARN资源调度命令:yarn --daemon start resourcemanager
每个从结点启动YARN命令:yarn --daemon start nodemanager
Hadoop集群启动
实行命令:start-all.sh一键启动Hadoop相干进程。
使用jps可以检察开启情况,
在此进程上就可以向HDFS上传数据啦!
通过上述的安装,虚拟机已经存在了分布式存储的HDFS以及分布式的资源调度其YARN,由于mapreduce是安装Hadoop自带的基础软件,无需自行,而且也会跟着HDFS以及YARN一起启动,故而Hadoop分布式框架的集群搭建已经初步完成。安装虚拟机已经有零Hadoop分布式集群的基础框架啦,接下来进一步的安装和设置hive软件,使得Hadoop分布式计算存储一体。
基础框架基本完成,可进行数据上传下载分布式存储、计算。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |