光之使者 发表于 2024-12-26 22:42:36

Hadoop一课一得

先容

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都是采用完全分布式安装,也就是集群摆设。

https://i-blog.csdnimg.cn/direct/6d7151cade88484f986830bb8b435d8d.png
二、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的假造机的路径
https://i-blog.csdnimg.cn/direct/91b8bc22903c420ea67652db6a354853.png​​​​​​​

 2.创建三个文件夹,然后复制步骤1中找到的假造机文件,并分别粘贴一份到这三个文件夹中
https://i-blog.csdnimg.cn/direct/a36d70c2cf554adf9f356c83ae599af4.png
https://i-blog.csdnimg.cn/direct/4e7e227a7969496e9c79b8a23ecd9b81.png

 3.用vmware打开master、slave1、slave2文件夹下的假造机,并重命名

https://i-blog.csdnimg.cn/direct/2f01dbd15a7e4b21b18ff5aeb73e34b3.png
以打开master为例。首先Player -> 文件 -> 打开... 弹出一个对话框,然后在对话框中,选中要打开的假造机,最后将假造机进行重命名。
https://i-blog.csdnimg.cn/direct/9b3fd5fc3a5c47aba7e24e174faa17f6.pnghttps://i-blog.csdnimg.cn/direct/d92817c8a2994b348d37f6e8dae57c7c.png
四、​​​​​​​修改master、slave1、slave2的ip

因为master、slave1、slave2这三台假造机是从原有的假造机拷贝过来的,以是所有东西都是一样的,包括环境变量、已安装的步伐(jdk、hadoop等)、ip、主机名。
而差别的主机,ip肯定不能一样,以是要修改这三台假造机的ip和主机名。下面以修改master的ip和主机名为例进行讲解,slave1、slave2修改过程一样,请自行修改。
https://i-blog.csdnimg.cn/direct/4c33c23b98da4e06807d6f0fc538fbe5.png
   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文件的内容:
https://i-blog.csdnimg.cn/direct/c8f01f2364bc463c89ace9b507f58234.png
提示:为了制止手写错误,master的hosts映射配置好后,可以通过scp下令,将master修改好的/etc/hosts文件,同步到slave1、slave2主机上。
https://i-blog.csdnimg.cn/direct/f018df20f0e34b43b111f73c93403692.png
1.设置主机名

https://i-blog.csdnimg.cn/direct/4570eaa265ae441e84d02baac19009e3.png
​​​​​​​2.设置主机名和IP的映射

        计算机网络中,都是通过IP来通信的,假如想要通过主机名通信,则还需设置主机名和IP的映射,雷同于域名要绑定IP,这样步伐通过主机名给对方发送数据时,就知道这个主机名对应的IP是什么。
        编辑/etc/hosts这个文件,然后追加记载,如下图所示:
https://i-blog.csdnimg.cn/direct/0c23f550fee64990be806861a791f627.png
六、​​​​​​​设置免密登录

        想要在机器1上,远程控制机器2,常用的方案就是在机器1安装ssh客户端,机器2安装ssh服务端,ssh客户端和ssh服务端之间的通信协议是ssh协议。
        在linux系统中ssh下令,就是一个ssh客户端步伐,sshd历程,就是一个ssh服务端。给大家提供的mobaxterm是一个图形化界面的ssh客户端。
        ssh是一个安全的通信协议,数据传输过程中会进行加密。
https://i-blog.csdnimg.cn/direct/d0fd113e255e4bcb9f3a0656905257e4.png
1.通过用户名、密码的方式远程登录

        下图演示了通过用户名、密码的方式远程登录。
https://i-blog.csdnimg.cn/direct/cfe9ded7de364c69a75085334f412379.png
2.ssh免密登录配置

        为什么要配置ssh免密登录?----为了方便,以是假如不嫌麻烦,可以不配置免密登录。Hadoop的启动脚本start-all.sh内部会涉及到很多远程登岸或远程实行下令。
详细配置ssh免密登录如下:
首先生成公钥/私钥密码对:
      https://i-blog.csdnimg.cn/direct/f4d71d061b9c48a89cadda2b9b831ee3.png
        将公钥发送到目的机器上(比方,机器1要远程登录到机器2,机器2就是目的机器):
https://i-blog.csdnimg.cn/direct/fcb058cce2dd460ea70a81a0ab3aa988.png
​​​​​​​3.免密登录工作原理

https://i-blog.csdnimg.cn/direct/065afc1276fb4a10bb3711bc91a702ee.png
七、​​​​​​​关闭防火墙

1.​​​​​​​查看防火墙状态

https://i-blog.csdnimg.cn/direct/a34f4eeffbb24a579c4045a5695dca1f.png
2.​​​​​​​关闭防火墙

https://i-blog.csdnimg.cn/direct/1bdd29fb49084940b1bdf669d8522320.png
3.查看防火墙是否开机自启

https://i-blog.csdnimg.cn/direct/9f2afe9d604d424aaa3c5023ea3a0aa5.png
4.禁止防火墙开机自启

https://i-blog.csdnimg.cn/direct/a4bf0fbf057547dfb258ed5bea37effa.png
八、​​​​​​​修改master主机上的hadoop配置文件

 1.Hadoop-env.sh配置文件的内容

https://i-blog.csdnimg.cn/direct/574a95c833e2438cbd8bd7e9d9bb37d8.png

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的同步。
https://i-blog.csdnimg.cn/direct/a0e764a9480943ddae255322fafe89a6.png
上图scp下令说明:
https://i-blog.csdnimg.cn/direct/1cf301f2dd9240e58104a178997cbce0.png

至此Hadoop集群完全分布式安装竣事

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Hadoop一课一得