先容
1. Hadoop 的起源与发展
- 起源:Hadoop 起源于 Apache Nutch 项目,最初由 Doug Cutting 开发,旨在构建一个开源的网络搜索引擎。受到 Google 关于 GFS 和 MapReduce 的论文开导,Hadoop 逐渐发展成为一个独立的分布式计算平台。
- 发展历程:Hadoop 1.x 版本主要依赖于 HDFS 和 MapReduce,而 Hadoop 2.x 引入了 YARN(Yet Another Resource Negotiator),实现了资源管理与计算框架的分离,提升了系统的灵活性和可扩展性。
2. Hadoop 的核心组件
Hadoop 的架构由多个核心组件组成,每个组件在处置惩罚大数据时饰演偏重要脚色:
- HDFS(Hadoop Distributed File System):
- HDFS 是一个分布式文件系统,筹划用于在集群中存储大量数据。它将数据分割成多个块,并分布在集群中的差别节点上。每个块通常有多个副本,以提高数据的可靠性和容错本事。
- HDFS 的架构包括 NameNode(管理元数据和文件操作)和 DataNode(存储数据块)两部分。
- MapReduce:
- MapReduce 是一个编程模型和计算框架,用于并行处置惩罚大规模数据集。它分为 Map 和 Reduce 两个阶段,Map 阶段处置惩罚输入数据,Reduce 阶段汇总处置惩罚结果。
- MapReduce 框架允许用户在不关心底层细节的环境下编写并行处置惩罚步伐。
- YARN(Yet Another Resource Negotiator):
- YARN 是 Hadoop 的资源管理和任务调度框架,负责管理和分配集群资源。它允许多个应用步伐和计算框架(如 MapReduce、Spark)在同一个集群中运行。
3. Hadoop 的特点与上风
- 高可靠性:Hadoop 通过数据冗余和主动任务重试机制确保数据的高可靠性。即使某个节点发生故障,系统也能从其他副本中恢复数据。
- 高扩展性:Hadoop 可以大概在集群中添加更多节点以扩展存储和计算本事,支持从单节点到数千节点的扩展。
- 高效性:通过并行处置惩罚和动态数据移动,Hadoop 可以大概高效地处置惩罚大规模数据集。
- 高容错性:Hadoop 的分布式架构和主动任务重试机制使其具有很高的容错性。
- 低成本:Hadoop 是开源的,可以在便宜的商用硬件上运行,降低了利用成本。
4. Hadoop 的应用场景
Hadoop 在多个领域有广泛的应用,包括:
- 互联网公司:用于用户行为分析、日记分析等。
- 金融行业:用于风险管理、及时数据处置惩罚等。
- 医疗健康:用于基因组学研究、病历数据分析等。
- 电信行业:用于网络监控、客户分析等。
5. Hadoop 的生态系统
Hadoop 的生态系统包括多个工具和框架,如 Hive(数据堆栈工具)、HBase(分布式数据库)、Pig(数据流语言)、Sqoop(数据迁移工具)等。这些工具和框架共同构建了一个完备的大数据处置惩罚平台。
总结
Hadoop 是一个功能强大且广泛应用的分布式计算平台,适用于处置惩罚和分析大规模数据集。其核心组件 HDFS、MapReduce 和 YARN 提供了高效的数据存储和计算本事,同时其生态系统支持多种数据处置惩罚需求。Hadoop 的高可靠性、可扩展性和低成本使其成为大数据处置惩罚领域的首选技术之一。
进行Hadoop完全分布式安装
一、完全分布式安装
生产环境中,Hadoop都是采用完全分布式安装,也就是集群摆设。
二、Hadoop集群规划
Hadoop是典型的主从架构。HDFS的NameNode是主,DataNode是从,YARN的ResourceManager是主,NodeManager是从。在正式集群摆设之前,先要做规划,规划好每个主机/节点分别运行Hadoop的哪些历程。这样做,至少有两个长处:1、引导摆设,没有规划图,很可能摆设过程中就容易迷失,一个小小的细节没处置惩罚好,可能导致集群启动失败;2、方便日后查询。比方查询哪些历程在哪些节点上运行等。
此次摆设的规划如下:(说明:要根据实际假造机修改下表的IP地点,每个人的假造机的IP网段可能都不一样。我的是192.168.159.xxx,而你们的可能是192.168.100.xxx)
Hadoop集群规划
主机IP
| 主机的主机名(自定义)
| HDFS
| YARN
| 192.168.159.100
| master
| NameNode
DataNode
| ResourceManager
NodeManager
| 192.168.159.101
| slave1
| SecondaryNameNode
DataNode
| NodeManager
| 192.168.159.102
| slave2
| DataNode
| NodeManager
|
三、准备三台假造机
之前我们用vmware创建了一台假造机并在该假造机上进行了Hadoop的伪分布式安装。为制止重复工作,后续的Hadoop集群都是在此基础上进行。
1.找到之前安装hadoop的假造机的路径
2.创建三个文件夹,然后复制步骤1中找到的假造机文件,并分别粘贴一份到这三个文件夹中
3.用vmware打开master、slave1、slave2文件夹下的假造机,并重命名
以打开master为例。首先Player -> 文件 -> 打开... 弹出一个对话框,然后在对话框中,选中要打开的假造机,最后将假造机进行重命名。
四、修改master、slave1、slave2的ip
因为master、slave1、slave2这三台假造机是从原有的假造机拷贝过来的,以是所有东西都是一样的,包括环境变量、已安装的步伐(jdk、hadoop等)、ip、主机名。
而差别的主机,ip肯定不能一样,以是要修改这三台假造机的ip和主机名。下面以修改master的ip和主机名为例进行讲解,slave1、slave2修改过程一样,请自行修改。
1、IP修改后,重启网卡:
systemctl restart network
2、输入:ping www.baidu.com确认访问外网没有问题
3、实行hostnamectl set-hostname master,将主机名改为master
4、退出root,再重新登岸,下令行提示符看到最新的主机名
五、修改master、slave1、slave2的主机名和IP的映射
master、slave1、slave2三个主机的/etc/hosts新增的映射记载一样。下图是master的/etc/hosts文件的内容:
提示:为了制止手写错误,master的hosts映射配置好后,可以通过scp下令,将master修改好的/etc/hosts文件,同步到slave1、slave2主机上。
1.设置主机名
2.设置主机名和IP的映射
计算机网络中,都是通过IP来通信的,假如想要通过主机名通信,则还需设置主机名和IP的映射,雷同于域名要绑定IP,这样步伐通过主机名给对方发送数据时,就知道这个主机名对应的IP是什么。
编辑/etc/hosts这个文件,然后追加记载,如下图所示:
六、设置免密登录
想要在机器1上,远程控制机器2,常用的方案就是在机器1安装ssh客户端,机器2安装ssh服务端,ssh客户端和ssh服务端之间的通信协议是ssh协议。
在linux系统中ssh下令,就是一个ssh客户端步伐,sshd历程,就是一个ssh服务端。给大家提供的mobaxterm是一个图形化界面的ssh客户端。
ssh是一个安全的通信协议,数据传输过程中会进行加密。
1.通过用户名、密码的方式远程登录
下图演示了通过用户名、密码的方式远程登录。
2.ssh免密登录配置
为什么要配置ssh免密登录?----为了方便,以是假如不嫌麻烦,可以不配置免密登录。Hadoop的启动脚本start-all.sh内部会涉及到很多远程登岸或远程实行下令。
详细配置ssh免密登录如下:
首先生成公钥/私钥密码对:
将公钥发送到目的机器上(比方,机器1要远程登录到机器2,机器2就是目的机器):
3.免密登录工作原理
七、关闭防火墙
1.查看防火墙状态
2.关闭防火墙
3.查看防火墙是否开机自启
4.禁止防火墙开机自启
八、修改master主机上的hadoop配置文件
1.Hadoop-env.sh配置文件的内容
2.core-site.xml配置文件的内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.1.3/data</value>
</property>
</configuration>
3.hdfs-site.xml配置文件的内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>slave1:50090</value>
</property>
</configuration>
4.yarn-site.xml配置文件的内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>4.5</value>
</property>
</configuration>
5.yarn-site.xml配置文件的内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
</configuration>
6.workers配置文件的内容:
master
slave1
slave2
九、
- 将master主机上的hadoop配置文件,同步到其他两个主机上
下图演示了如何将master主机上的hadoop配置文件同步到slave1上,请自行完成slave2的同步。
上图scp下令说明:
至此Hadoop集群完全分布式安装竣事
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |