Hadoop完全分布式搭建

Posted 会飞的鲁班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop完全分布式搭建相关的知识,希望对你有一定的参考价值。

集群配置

可以将服务分别去配置在多台服务器上面以hadoop105,hadoop106,Hadoop107为案例

组件hadoop105hadoop106hadoop107
HDFSNameNode、DataNodeDataNodeSecondaryNameNode、DataNode
YARNNodeManagerResourceManager、NodeManagerNodeManager

NAMENODE职责

NAMENODE职责:

负责客户端请求的响应

元数据的管理(查询,修改)

是整个文件系统的管理节点。它维护着整个文件系统的文件目录树文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。

SecondaryNameNode

从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage.
默认在安装在NameNode节点上,但这样…不安全!

DATANODE

存储管理用户的文件块数据

定期向namenode汇报自身所持有的block信息(通过心跳信息上报)

(这点很重要,因为,当集群中发生某些block副本失效时,集群如何恢复block初始副本数量的问题)

注意:

  • NameNode 和 SecondaryNameNode 不要安装在同一台服务器。
  • ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上。

需要配置4个配置文件

要获取的默认文件文件存放在Hadoop的jar包中的位置解释说明
core-default.xmlhadoop-common-3.1.3.jar/core-default.xmlHadoop的全局配置文件,配置分布式文件系统的入口地址NameNode的地址和分布式文件系统中数据落地到服务器本地磁盘位置的配置。配置 HDFS 网页登录使用的静态用户
[hdfs-default.xml]hadoop-hdfs-3.1.3.jar/hdfs-default.xml配置HDFS文件系统属性配置。nn web 端访问地址,2nn web 端访问地址
[yarn-default.xml]hadoop-yarn-common-3.1.3.jar/yarn-default.xml配置YARN的相关参数
[mapred-default.xml]hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xmlMapReduce的运行框架为YARN.

配置文件的路径

core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml
四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
案例路径:
/opt/module/hadoop-3.1.3/etc/hadoop

配置 core-site.xml

[tedu@hadoop105 hadoop]$sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
<!-- 指定 NameNode 的地址 -->     
    <property>         
        <name>fs.defaultFS</name>         
        <value>hdfs://hadoop105:8020</value>     
    </property>
 <!-- 指定 hadoop 数据的存储目录 -->     
    <property>         
        <name>hadoop.tmp.dir</name>         
        <value>/opt/module/hadoop-3.1.3/data</value>     
    </property> 
 
    <!-- 配置 HDFS 网页登录使用的静态用户为 tedu -->     
    <property>         
        <name>hadoop.http.staticuser.user</name>         
        <value>tedu</value>     
    </property>  

:wq!

配置 hdfs-site.xml

[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
<!-- nn web 端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop105:9870</value>
    </property>
    <!-- 2nn web 端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop107:9868</value>
    </property>

:wq!

配置 yarn-site.xml

[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml 
  <!-- 指定 MR 走 shuffle -->     
    <property>         
        <name>yarn.nodemanager.aux-services</name>         
        <value>mapreduce_shuffle</value>     
    </property> 
 
    <!-- 指定 ResourceManager 的地址-->     
    <property>         
        <name>yarn.resourcemanager.hostname</name>         
        <value>hadoop106</value>     
    </property> 
 
    <!-- 环境变量的继承 -->     
    <property>         
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>     
    </property> 

:wq!

mapred-site.xml

[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml 
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->     
    <property>        
        <name>mapreduce.framework.name</name>         
        <value>yarn</value>     
    </property> 

每一步修改完毕需要进行保存退出

:wq!

在集群上分发配置好的 Hadoop 配置文件

[tedu@hadoop105 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/

群起集群

1.配置 workers

[tedu@hadoop105 hadoop]$ sudo vim /opt/module/hadoop-3.1.3/etc/hadoop/workers 

:wq!

注意:配置工作节点,该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

2.启动集群
(1).如果集群是第一次启动,需要在 hadoop105 节点格式化 NameNode(注意:格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。)

[tedu@hadoop105 hadoop]$ hdfs namenode -format


格式化后我们就可以看到配置的数据文件了

(2).启动 HDFS

[tedu@hadoop105 hadoop-3.1.3]$ sbin/start-dfs.sh 


hadoop105上面的节点

hadoop106节点

[tedu@hadoop106 ~]$ jps
2419 Jps
2343 DataNode

hadoop107节点

[tedu@hadoop107 ~]$ jps
2520 Jps
2473 SecondaryNameNode
2346 DataNode

启动yarn

[tedu@hadoop106 hadoop-3.1.3]$ sbin/start-yarn.sh 

hadoop105

hadoop106

hadoop107

(4).Web 端查看 HDFS 的 NameNode**

  • 浏览器中输入:http://hadoop105:9870
  • 查看 HDFS 上存储的数据信息

(5).Web 端查看 YARN 的 ResourceManager

  • 浏览器中输入:http://hadoop106:8088
  • 查看 YARN 上运行的 Job 信息

以上是关于Hadoop完全分布式搭建的主要内容,如果未能解决你的问题,请参考以下文章

集群搭建Hadoop搭建HDFS(完全分布式)

hadoop完全分布式集群搭建(超详细)-大数据集群搭建

Hadoop基础教程4Hadoop之完全分布式环境搭建

完全分布式Hadoop集群搭建

hadoop-3.3.3完全分布式集群搭建

Hadoop完全分布式集群搭建