当前位置:   article > 正文

【大数据部署】HDFS,Yarn集群快速搭建教程(涵盖Windows与Linux中的注意事项)_hadoop yarn windows部署

hadoop yarn windows部署

目录

最简单的Hadoop架构... 1

伪分布式搭建... 1

JDK的配置... 1

Hadoop下载与安装... 4

Windows系统的特殊点1. 10

Windows系统的特殊点2. 11

  1. Windows的注意事项主要就是在 10  11 页,其它步骤没有太大区别,个人建议在Linux搭建,避免更多问题发生,Hadoop的设计压根就没有考虑过Windows哦!
  2. 如果配置文件写好就可以直接进入到10 11 页查阅Windows的配置啦,配置文件在文中也有,但有一些简化,很多地方可能比较冗余,可以做一个参考

最简单的Hadoop架构

服务名称

作用

隶属服务

Name Node

处理用户进程,管理元数据,集群Web UI服务

HDFS

Data Node

保存与管理数据块

Secondary Name Node

帮助Name Node处理元数据合并工作

Resource Manager

分配与管理资源调度任务,管理Node Manager

Yarn

Node Manager

执行用户提交的job

伪分布式搭建

       伪分布式就是使用一台主机搭建一个只有一台主机可对外服务的Hadoop集群,对于我们来说,搭建一个伪分布式是最优选择,最大化的节约资源,搭建难度极低,耗费时间不多,本次的配置项针对一台主机,且配置文件仅仅需要更改参数便可立即使用

JDK的配置

JDK下载

Java Archive | Oracle

在JDK下载官网,可选择不同的版本,要注意,JDK在Linux与Windows中是不同的

Windows

Linux

  • Windows环境变量配置
    • 通过设置或者直接进行搜索打开就行

  • 配置JDK目录,为了防止有过多的异常情况,这里将JAVA_HOME也一并配置

  • JAVA_HOME配置好之后,继续通过Path,配置JDK的bin目录

  •  配置之后通过cmd命令窗口,执行java,如果没有报错“找不到命令”等情况,那么JDK安装就成功!

  • Linux环境变量配置
    • 将JDK包,上传至 linux 解压JDK之后,只需要将JDK的bin目录写到/etc/profile文件中,下面是具体的演示

图表 1 JDK解压目录结构

  • 编辑profile文件

输入命令:vim /etc/profile 或 vi /etc/profile

图表 2 profile环境变量配置

  1. export JAVA_HOME=JDK的目录(具体见图1)
  2. export PATH=$JAVA_HOME/bin:$PATH
  • 注意,配置好环境变量之后不要忘记保存 

  • Linux jdk环境变量验证
    • 与Windows的验证方式一样

Hadoop下载与安装

  1. 官网

地址:Apache Hadoop

Hadoop在Apache基金会开源,这里就是下载地址,下载之后是一个压缩包,需要解压,并进行配置

图表 3 hadoop解压目录结构

  • 首先需要为bin目录配置环境变量,为了避免其它框架发生错误最好配置下,步骤和JDK配置差不多

  1. export HADOOP_HOME=Hadoop的解压目录
  2. export PATH=$HADOOP_HOME/bin:$PATH
  1. Windows环境变量

  • 为Hadoop的启动脚本,添加一些参数
    1. Windows:不需要配置
    2. Linux:vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

  图表 4 hadoop-env.sh中的配置

       配置项写的有些冗余,因为我之前搭建过其它东西,不用担心,他们对于Hadoop并没有太大影响,这里的配置有利于使用hadoop的一键启动,不需要通过daemon方式启动,简便许多

  1. export JAVA_HOME=/liming_zhao/java_1.8
  2. export DHFS_NAMENODE_USER="root"
  3. export DHFS_DATANODE_USER="root"
  4. export HDFS_SECONDARYNAMENODE_USER="root"
  5. export YARN_RESOURCEMANAGER_USER="root"
  6. export YARN_NODEMANAGER_USER="root"
  7. export HDFS_JOURNALNODE_USER="root"
  8. export HDFS_ZKFC_USER="root"
  1. 为Hadoop的core进行一些配置
  2. Windows:进入到hadoop目录去找文件
  3. Linux:vim $HADOOP_HOME/etc/hadoop/core-site.xml

图表 5 core-site.xml配置文件

  1. <configuration>
  2. <property>
  3.         <name>fs.defaut.name</name>
  4.         <value>hdfs://127.0.0.1:9000</value>
  5.     </property>
  6. </configuration>
  1. 配置HDFS
  2. Windows:进入到hadoop目录去找文件
  3. Linux:vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

图表 6 hdfs-site.xml 

  1. <configuration>
  2. <property>
  3.         <name>dfs.namenode.name.dir</name>
  4.         <value>file:///data/nndir</value>
  5.     </property>
  6.     <property>
  7.         <name>dfs.datanode.data.dir</name>
  8.         <value>file:///data/dndir</value>
  9.     </property>
  10. </configuration>
  1. 配置yarn
  2. Windows:进入到hadoop目录去找文件
  3. Linux:vim $HADOOP_HOME/etc/hadoop/yarn-site.xml

  1. <configuration>
  2. <!--    rm的地址 -->
  3.     <property>
  4.         <name>yarn.resourcemanager.hostname</name>
  5.         <value>127.0.0.1</value>
  6.     </property>
  7. <!--    指定reduce的方式 这里是MR的Shuffle-->
  8.     <property>
  9.         <name>yarn.resoucemanager.aux-service</name>
  10.         <value>mapreduce_shuffle</value>
  11.     </property>
  12. <!--    指定yarn的rm数据本地存储目录-->
  13.     <property>
  14.         <name>yarn.resourcemanager.local-dirs</name>
  15.         <value>file:///data/rmdir</value>
  16.     </property>
  17. </configuration>
  1. 配置下MapReduce的运行环境,如果使用不到就不需要配
  2. vim $HADOOP_HOME/etc/hadoop/mapred-site.xml

  1. <configuration>
  2.       <!-- 指定分布式计算使用的模式是yarn  local是本地模式 -->
  3.         <property>
  4.                 <name>mapreduce.framework.name</name>
  5.                 <value>yarn</value>
  6.         </property>
  7.         <!--Map App Master环境变量-->
  8.         <property>
  9.                  <name>yarn.app.mapreduce.am.env</name>
  10.                  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  11.         </property>
  12.         <!--MR MapTask环境变量-->
  13.         <property>
  14.                  <name>mapreduce.map.env</name>
  15.                  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  16.         </property>
  17.         <!--Map ReduceTask环境变量-->
  18.         <property>
  19.                  <name>mapreduce.reduce.env</name>
  20.                  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  21.         </property>
  22. </configuration>
  1. 格式化 hdfs 的 namenode
    1. Windows也是如此 hdfs namenode -format

Windows系统的特殊点1

       Windows的文件系统与Linux的文件系统相差过大,因此直接在搭建好hadoop之后很可能不会成功运行,报错如下

  • 解决方案(不能保证百分之百成功,如果没有成功,还是要去Linux搭建啦!)
    • bin目录下有这俩个文件,如果没有可以去网上下载下,很简单就可以搜索到哦!
      • 将这两个文件复制到 C:\Windows\System32 文件夹下

Windows系统的特殊点2

       Window中的jdk环境与Linux中稍有不同,有可能会因为内存问题导致发生如下错误

 

  1. 解决方案
    1. 编辑hadoop-env.cmd脚本文件,减少预制空间
    2. set HADOOP_HEAPSIZE=200

         本次的介绍就到这里啦,希望大家可以有好的开始!!伪分布式搭建Hadoop是比较方便的一种方式,作为大数据的基础功夫,加油!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/651162
推荐阅读
相关标签
  

闽ICP备14008679号